Access, licensing and bulk data
Every record is free to read without a key, and the licence lets you build a commercial product on it. What is negotiated is scale — scheduled bulk delivery, deltas, and a corrections channel with a named contact.
How the API behaves today
- Authentication
- None. Every endpoint is public and anonymous, and no endpoint reads an Authorization header.
- Rate limits
- None enforced. Treat 5 requests per second as the fair-use ceiling, prefer the bulk export to walking every record, and honour the hour-long cache-control on responses.
- CORS
- Access-Control-Allow-Origin: * on every JSON, Markdown and CSV response, so the API can be called from a browser.
- Versioning
- Responses carry x-data-version (currently 2026.08.1) and x-data-license headers. Record ids are stable; a value can change when the underlying regulation does.
- Attribution
- CC BY 4.0: attribute as "EMFBase (https://emfbase.com), dataset version 2026.08.1" and keep each value's citations with it. Values are transcribed from cited primary documents — reference data, not legal or medical advice.
- Corrections
- Email data@emfbase.com with the record id and the primary document. Each record names its sources so a correction can be checked rather than argued.
Tiers
Open access
available nowHumans, assistants, and anyone building on the data at ordinary volumes.
- Every HTML page, Markdown twin, JSON record and collection endpoint
- Search, unit conversion and free-space exposure estimates
- Per-collection CSV and whole-dataset JSON exports
- OpenAPI description, MCP endpoint, llms.txt and JSON Feed
No key, no account, no registration. Licensed CC BY 4.0: use it commercially, but attribute EMFBase with the record id and the canonical URL, and keep the citations attached to the values. Responses are cached for an hour; read from the cache rather than re-requesting.
Versioned snapshots
available nowTeams that need a fixed dataset a result can be reproduced against.
- Whole-dataset export tagged with a dataset version (currently 2026.08.1)
- Per-record lastVerified date and the source register in the same file
- Change feed to detect which records moved between versions
Pin the version you evaluated against and re-read the feed before treating a cached value as current. Record ids are stable across versions; values, notes and citations can change when a regulation changes.
Bulk and integration licence
by agreementProducts embedding the dataset at scale: exposure calculators, compliance tooling, retrieval corpora, or a private copy behind a firewall.
- Scheduled deliveries of the full dataset in JSON, CSV or Parquet
- Change-only deltas keyed by record id and version
- Named-contact corrections channel with an agreed response time
- Written provenance statement covering how each value is sourced and verified
Priced per case and agreed in writing — email data@emfbase.com with the volume, the delivery format and the cadence you need. Nothing is metered or enforced in code today.
API keys and quotas
not implementedHigh-volume automated consumers, once volume makes a quota necessary.
- Optional key sent as an Authorization: Bearer header, never in a query string
- Per-key quota and burst allowance returned in RateLimit response headers
- 429 with Retry-After when a quota is exhausted, and per-key usage reporting
Not implemented. No endpoint accepts, requires or validates a key today, and no request is rate-limited or refused. When keys ship, open access to records stays free and unauthenticated — a key will raise a quota, not unlock the data.
Pay-per-crawl
not implementedCrawlers taking the whole corpus for model training or a commercial index.
- HTTP 402 Payment Required at the edge for identified commercial crawlers
- A price per crawl declared at the edge rather than negotiated per company
- Crawlers serving end-user answers with attribution stay on the free path
Not implemented, and it is an edge-network configuration rather than application code — robots.txt currently allows every crawler because being read by assistants is the point of the project. The bulk export exists so that a crawler never needs to walk 300 pages to get the dataset.
Why the free tier stays free
A reference dataset earns its authority by being quoted, and an assistant that cannot reach a value quotes something worse instead. So records, citations and the bulk export stay open and unauthenticated; the paid layer is the delivery guarantee around them — cadence, format, deltas, and someone accountable for a correction. If a quota ever becomes necessary, a key will raise the ceiling rather than gate the data.
To arrange bulk delivery or an integration licence, email data@emfbase.com with the volume, format and cadence you need. The same terms in machine-readable form are at /api/access.json; the endpoints themselves are documented under API & agents.