# ToolMint eCFR Section

> Code of Federal Regulations sections and their change history as clean agent JSON (eCFR + Federal Register APIs). No API key.

- Status: Live
- Price: $0.005–$0.01 / call (x402 exact, USDC on Base eip155:8453, payTo 0xfbF7413bcB3a604936775C96FDbe0b0C9c9E37F5)
- Base URL: https://toolmint-ecfr-section.toolmint.workers.dev
- OpenAPI: https://toolmint.toolmint.workers.dev/tools/ecfr-section-json/openapi.json

## Routes

- `GET /section` $0.005: One Code of Federal Regulations section as clean agent JSON (eCFR): heading, hierarchy, paragraphs with (a)/(1) labels, tables as rows, source note with Federal Register citations, point-in-time text for any date since 2017. Example: cite=24 CFR 982.503
- `GET /history` $0.01: Change history of one CFR section: every eCFR version (date, substantive or not, removed), 'changed since date X', and the Federal Register rules that amended it (matched by part + effective/publication date, flagged when the section's source note cites them). Example: cite=24 CFR 982.503&since=2020-01-01

## Inputs

| Name | Rule |
|---|---|
| `cite` | e.g. 24 CFR 982.503 (or title 1-50 + section like 982.503 / 240.10b-5) |
| `date / since` | Real dates from 2017-01-03 to today |
| `maxChars` | 1,000-400,000 (default 100,000) |

## What you get

- Section: heading, hierarchy (title → subpart), paragraphs with labels, tables, notes/footnotes, source note + FR cites, authority, version date, truncated, provenance (sourceUrl, fetchedAt, sha256, cacheHit)
- History: versions[], changedSinceDate, FR rule candidates per version with matchedBy; citedInSourceNote: true is the strong signal and is listed first

## Sources and terms

- eCFR developer API (www.ecfr.gov/api/versioner/v1), official, no key; only the developer APIs are used, never HTML pages.
- Federal Register API (federalregister.gov/api/v1/documents.json), official, no key.
- US government works, public domain. Not affiliated with NARA/GPO/OFR.

## Limits (read before relying on it)

- eCFR is authoritative but unofficial: not an official legal edition of the CFR. Every response says so, plus "not legal advice".
- The Federal Register API indexes CFR parts, not sections, so FR matches are candidates paired by effective/publication date.
- eCFR's robots.txt disallows /api/versioner/v1/full/ under a "don't index" comment; the Worker fetches one section on request and doesn't crawl.
- Heaviest case seen: 29 CFR 1910.1200 (~360 KB); watch CPU on the free Workers plan.

## Example

```
GET /section?cite=24%20CFR%20982.503
```
