Developer Documentation

Comprehensive mineral encyclopedia — minerals with physical properties, 7 crystal systems, Strunz classification, Mohs hardness, localities, countries, rock types, and mineral comparisons. Covers luster, streak, cleavage, fracture, transparency, specific gravity, and optical properties.

Quick Start

curl -s "https://mineralfyi.com/api/v1/minerals/"

API Endpoints

Method Endpoint Description
GET /api/v1/minerals/ List minerals (DRF, paginated)
GET /api/v1/minerals/{slug}/ Mineral detail
GET /api/v1/classes/ Mineral classes (DRF, paginated)
GET /api/v1/crystal-systems/ Crystal systems (DRF, paginated)
GET /api/v1/countries/ Countries (DRF, paginated)
GET /api/v1/localities/ Localities (DRF, paginated)
GET /api/v1/rocks/ Rock types (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 minerals and stats (e.g. /)
/minerals/ Browse all minerals (e.g. /minerals/)
/mineral/{slug}/ Mineral detail page (e.g. /mineral/quartz/)
/classes/ Browse Strunz mineral classes (e.g. /classes/)
/class/{slug}/ Mineral class detail (e.g. /class/silicates/)
/crystal-systems/ Browse 7 crystal systems (e.g. /crystal-systems/)
/crystal-system/{slug}/ Crystal system detail (e.g. /crystal-system/cubic/)
/countries/ Browse countries with minerals (e.g. /countries/)
/country/{code}/ Country mineral page (e.g. /country/br/)
/localities/ Notable mineral localities (e.g. /localities/)
/locality/{slug}/ Locality detail (e.g. /locality/tsumeb/)
/rocks/ Rock types (e.g. /rocks/)
/rock/{slug}/ Rock type detail (e.g. /rock/granite/)
/compare/ Mineral comparison index (e.g. /compare/)
/compare/{slug1}/vs/{slug2}/ Mineral comparison (e.g. /compare/quartz/vs/feldspar/)
/glossary/ Mineralogy glossary (e.g. /glossary/)
/glossary/{slug}/ Glossary term (e.g. /glossary/cleavage/)
/guides/ Mineral guides (e.g. /guides/)
/guide/{slug}/ Guide article (e.g. /guide/mineral-collecting-basics/)
/tools/ Interactive mineral tools (e.g. /tools/)
/tool/{slug}/ Tool page (e.g. /tool/mineral-identifier/)
/mineral/{slug}/collecting/ Collecting guide for a mineral (e.g. /mineral/quartz/collecting/)
/nearby/ Mineral localities near any location (e.g. /nearby/)
/nearby/{slug}/ Minerals near a specific locality (e.g. /nearby/tsumeb/)
/search/ Search minerals, localities, rocks (e.g. /search/?q=quartz)

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 mineralfyi

Mineral data, crystal systems, Mohs hardness scale

Embed Widget

Embed data cards on your site: https://widget.mineralfyi.com
npm install mineralfyi-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.