Developers

Use the static data carefully.

PainMap data is public and read-only, but it is not a universal moral scoreboard. Keep provenance, uncertainty, and method fields attached to every value you reuse.

Quickstart

Fetch the contract

curl https://painmap.org/v1/releases.json
curl https://painmap.org/releases/2026-05-31/manifest.json
curl https://painmap.org/data/openapi.json
curl https://painmap.org/data/release-modes.json
curl https://painmap.org/v1/places/index.json
curl https://painmap.org/v1/adm1/index.json
curl https://painmap.org/v1/coverage.json
curl https://painmap.org/v1/places/IND/adm1.json
curl https://painmap.org/v1/places/IND/neighbors.json
curl https://painmap.org/ogc/collections/places/items.json
curl https://painmap.org/ogc/collections/places/item-index.json
curl https://painmap.org/ogc/collections/places/items/IND.json
curl https://painmap.org/data/place-measurements.json
curl https://painmap.org/v1/places/BRA.json
curl https://painmap.org/data/provenance-registry.json
curl https://painmap.org/schemas/place-index.schema.json
curl https://painmap.org/schemas/adm1-context.schema.json
curl https://painmap.org/releases/2026-05-31/diff.json

The API has no authentication and no write side. Use immutable release URLs for reproducible work; use latest aliases only when freshness matters more than exact replay. Validate client assumptions against the JSON Schemas and coverage status before treating a place as measured.