Developer Documentation

Comprehensive chemistry reference — periodic table of 118 elements, chemical compounds, reactions, experiments, industrial applications, glossary terms, and guides. Interactive tools including molecular structure drawer, molar mass calculator, pH calculator, and more.

Quick Start

curl -s "https://chemfyi.com/api/v1/elements/"

API Endpoints

Method Endpoint Description
GET /api/v1/elements/ List all elements (DRF, paginated)
GET /api/v1/elements/{symbol}/ Element detail
GET /api/v1/compounds/ List compounds (DRF, paginated)
GET /api/v1/reactions/ List reactions (DRF, paginated)
GET /api/v1/experiments/ List experiments (DRF, paginated)
GET /api/v1/applications/ List industrial applications (DRF, paginated)
GET /api/v1/glossary/ Glossary terms (DRF, paginated)
GET /api/v1/guides/ Guides (DRF, paginated)
GET /api/v1/tools/ Interactive tools (DRF, paginated)
GET /api/v1/faqs/ FAQs (DRF, paginated)
GET /api/v1/search/?q={query} Unified search (DRF)
GET /api/v1/stats/ Site statistics
GET /api/search/suggest/?q={query} Search autocomplete

URL Patterns

Use these patterns to construct URLs programmatically:

/ Homepage with featured elements and stats (e.g. /)
/elements/ Browse all 118 elements (e.g. /elements/)
/element/{symbol}/ Element detail page by symbol (e.g. /element/fe/)
/category/{slug}/ Element category (e.g. alkali metals) (e.g. /category/alkali-metals/)
/periodic-table/ Interactive periodic table (e.g. /periodic-table/)
/compare/ Element comparison index (e.g. /compare/)
/compare/{symbol1}-vs-{symbol2}/ Element comparison (e.g. /compare/fe-vs-cu/)
/compounds/ Browse chemical compounds (e.g. /compounds/)
/compound/{slug}/ Compound detail with structure and properties (e.g. /compound/water/)
/reactions/ Browse chemical reactions (e.g. /reactions/)
/reaction/{slug}/ Reaction detail with balanced equation (e.g. /reaction/combustion-of-methane/)
/reactions/type/{type}/ Reactions by type (e.g. /reactions/type/combustion/)
/experiments/ Browse experiments by category (e.g. /experiments/)
/experiment/{slug}/ Experiment protocol with steps (e.g. /experiment/flame-test/)
/experiments/category/{cat}/ Experiments by category (e.g. /experiments/category/flame-test/)
/applications/ Industrial applications of chemistry (e.g. /applications/)
/application/{slug}/ Application detail (e.g. /application/haber-process/)
/applications/sector/{sector}/ Applications by sector (e.g. /applications/sector/pharmaceutical/)
/glossary/ Chemistry glossary index (e.g. /glossary/)
/glossary/{slug}/ Glossary term definition (e.g. /glossary/electronegativity/)
/guides/ Chemistry guides (e.g. /guides/)
/guide/{slug}/ Guide article (e.g. /guide/introduction-to-organic-chemistry/)
/tools/ Interactive chemistry tools (e.g. /tools/)
/tool/{slug}/ Tool page (e.g. /tool/molar-mass-calculator/)
/search/ Search elements, compounds, reactions (e.g. /search/?q=carbon)

Response Format

All endpoints return JSON with pagination:

Example JSON response
{
  "count": 636,
  "next": "https://example.com/api/v1/items/?page=2",
  "previous": null,
  "results": [
    {"slug": "example", "name": "Example Item", "...": "..."}
  ]
}

OpenAPI Specification

Full API schema available as OpenAPI 3.1.0 JSON. Import into Swagger UI, Postman, or any OpenAPI-compatible tool.

SDK Packages

PyPI
pip install chemfyi

Periodic table data, element lookup, compound formulas

Embed Widget

Embed data cards on your site: https://widget.chemfyi.com
npm install chemfyi-embed

Format Support

  • Markdown endpoints: Append .md to any page URL for LLM-friendly markdown output.
  • Internationalization: Content available in 14 languages: ko, ja, zh-hans, es, fr, de, pt, ru, vi, tr, ar, hi, th, id.