eCFR Atlas
API

For machines

Public API

Everything on this site is available as JSON, under the same measurement rules. Anonymous requests work immediately at a low rate limit so the docs are explorable without signing up.

Interactive docs ↗ OpenAPI 3.1 document ↗

Endpoints

All 16 of them. This table is generated at build time from the route definitions in the API's own source, so it cannot drift from what the service actually serves.

Method Path Returns
Agencies
GET /v1/agencies List agencies with their word-count rollups
GET /v1/agencies/{slug} One agency, with every scope it claims
Amendments
GET /v1/amendments Section-level amendment history
Diff
GET /v1/diff Compare one CFR section between two eCFR issue dates
Meta
GET /v1/meta Freshness, corpus totals, and tier limits
Parts
GET /v1/parts/{citation} One CFR part
Search
GET /v1/search Find an agency, title, chapter, or part by name or citation
Shared jurisdiction
GET /v1/overlap CFR scopes claimed by more than one agency
Titles
GET /v1/titles All 50 CFR titles
GET /v1/titles/{n}/structure The table of contents for a title
Word counts
GET /v1/word-counts Published word counts, attributed and deduplicated
Account
GET /v1/account/keys List your keys
POST /v1/account/keys Mint another key
DELETE /v1/account/keys/{id} Revoke a key
POST /v1/account/register Request an API key
POST /v1/account/verify Verify an email and receive the first key

Paths are shown as mounted; every one is relative to https://ecfr.fixit.works. Parameters, response schemas and error shapes are in the OpenAPI document, which is the contract and is generated from the same schemas the responses are validated against. Outside /v1 the Worker also serves GET /openapi.json, GET /docs and GET /health.

Rate limits and keys

  • Anonymous. No key, low daily ceiling, per-IP. Enough to read the docs and try every endpoint; not enough to mirror the corpus.
  • Registered. A free key, issued after email verification, with a much higher daily quota. Send the key as Authorization: Bearer <key>.
  • Elevated. For research or public-interest projects that need bulk access. Ask, and say what you are building.

Quota state comes back on every authenticated response, and a 429 tells you when the window resets rather than leaving you to guess.

Terms of use

  • The data is public-domain federal material; this project's measurements and code are open source. Attribution is appreciated and, for the derived counts, expected — cite them as eCFR Atlas measurements, not as government figures.
  • Do not use this API as a proxy for eCFR. If you need the corpus, fetch it from ecfr.gov directly and be a good citizen about it: sustained request rates above roughly 8 per second get throttled.
  • Keys are per-project, not per-person. Do not embed one in a public client.

Read methodology for what the numbers mean, and data quality for what is missing from them.