Regulatory Filings
Rulemakings, proposed rules, notices, and presidential documents mirrored from the Federal Register and reg.gov, normalized into the same bearer-authenticated, cursor-paginated shape as the rest of the Archivist.
Authentication
This endpoint uses the same bearer-token contract as the rest of the Archivist. Pass your key in the Authorization header — send `Authorization: Bearer $ARCHIVIST_KEY` on every request and you’re in. No cookies, no sessions, no CSRF surface.
curl 'https://api.archivist.dev/regulatory-filings?type=PROPOSED_RULE&agency_id=EPA&filing_year=2026' \
-H "Authorization: Bearer $ARCHIVIST_KEY" \
-H "Accept: application/json"const res = await fetch(
'https://api.archivist.dev/regulatory-filings?type=PROPOSED_RULE&agency_id=EPA&filing_year=2026',
{
headers: {
Authorization: `Bearer ${process.env.ARCHIVIST_KEY}`,
Accept: 'application/json',
},
},
);
if (!res.ok) throw new Error(`Archivist ${res.status}`);
const { items, nextCursor } = await res.json();For full key-handling guidance and the 401 / 403 / 429 status table, see Errors & limits on the authentication page.
Endpoint
Filter by agency_id, type, or filing_year and page through results with cursor and limit.
Federal Register documents mirrored from reg.gov — rules, proposed rules, notices, and presidential documents keyed to the assigning agency and a stable Federal Register document id.
Request
The endpoint accepts the following query parameters.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| agency_id | query | string | optional | Exact-match OAR assigning-agency code — e.g. "EPA", "Treasury", "DOJ". |
| agency_name | query | string | optional | Case-insensitive substring match on the assigning-agency name. |
| type | query | "RULE" | "PROPOSED_RULE" | "NOTICE" | "PRESIDENTIAL_DOCUMENT" | optional | Exact-match document type as published in the Federal Register. |
| filing_year | query | integer | optional | Four-digit publication year (e.g. 2026). |
| filing_period | query | "Q1" | "Q2" | "Q3" | "Q4" | "AMENDMENT" | optional | Calendar quarter of publication — matches the LDA filing_period vocabulary. |
| rIN | query | string | optional | Exact-match Federal Register Regulation Identifier Number (e.g. "2094-AE14"). |
| docket_id | query | string | optional | Exact-match agency docket id — e.g. "EPA-HQ-OAR-2025-0123". |
| cursor | query | string | optional | Opaque pagination cursor returned in the previous response. |
| limit | query | integer | optional | Page size, 1–100. Defaults to 25. |
Run it — curl
# 2026 EPA proposed rules open for comment
curl 'https://api.archivist.dev/regulatory-filings?type=PROPOSED_RULE&agency_id=EPA&filing_year=2026' \
-H "Authorization: Bearer $ARCHIVIST_KEY"Run it — JavaScript
Plain fetch — no SDK, no runtime dependency. The key reads from env at server startup.
const res = await fetch(
'https://api.archivist.dev/regulatory-filings?type=PROPOSED_RULE&agency_id=EPA&filing_year=2026',
{ headers: { Authorization: `Bearer ${process.env.ARCHIVIST_KEY}` } },
);
const { items, nextCursor } = await res.json();
for (const f of items) {
console.log(`${f.agency_name} — ${f.title} (comments due ${f.comment_due_date ?? 'n/a'})`);
}Response
Successful responses are 200 OK with the shape below. Errors come back as { "error": "..." } — see the error reference for the full status table.
| Field | Type | Required | Description |
|---|---|---|---|
| items | RegulatoryFilingsItem[] | required | Page of filings, newest publication_date first — proposed rules and notices interleaved by date. |
| items[].filing_id | string | required | Stable Federal Register document id, e.g. "2026-01234". |
| items[].agency_id | string | required | Assigning-agency OAR code, e.g. "EPA", "Treasury", "DOJ". |
| items[].agency_name | string | required | Full assigning-agency name as it appears on the Federal Register document. |
| items[].title | string | required | Document title as published in the Federal Register. |
| items[].type | "RULE" | "PROPOSED_RULE" | "NOTICE" | "PRESIDENTIAL_DOCUMENT" | required | Filing classification — RULE for a final rule, PROPOSED_RULE for a notice of proposed rulemaking, NOTICE for an agency notice, PRESIDENTIAL_DOCUMENT for an executive order or proclamation. |
| items[].rIN | string | null | required | Federal Register Regulation Identifier Number when one is assigned; null for notices and presidential documents that do not carry one. |
| items[].federal_register_citation | string | required | Canonical citation, e.g. "91 FR 1234". |
| items[].publication_date | string | required | ISO 8601 date the document was published in the Federal Register. |
| items[].effective_date | string | null | required | ISO 8601 effective date, or null when no effective date has been set. |
| items[].comment_due_date | string | null | required | ISO 8601 comment deadline, or null. Only set on type=PROPOSED_RULE filings — null on every other type. |
| items[].agency_acted_on | string[] | required | List of agencies the action addresses — usually the same as agency_id, but multi-agency actions carry every agency involved. |
| items[].docket_ids | string[] | required | Agency docket ids opened or referenced by this filing (e.g. "EPA-HQ-OAR-2025-0123"). |
| items[].source_url | string | required | Canonical reg.gov detail URL — the public-record link of record for this document. |
| nextCursor | string | null | required | Pass into the next page; null on the last page. |
{
"items": [
{
"filing_id": "2026-01234",
"agency_id": "EPA",
"agency_name": "Environmental Protection Agency",
"title": "Greenhouse Gas Reporting Program Revisions",
"type": "PROPOSED_RULE",
"rIN": "2060-AV14",
"federal_register_citation": "91 FR 1234",
"publication_date": "2026-02-14",
"effective_date": null,
"comment_due_date": "2026-04-15",
"agency_acted_on": ["EPA"],
"docket_ids": ["EPA-HQ-OAR-2025-0123"],
"source_url": "https://www.regulations.gov/document/EPA-HQ-OAR-2025-0123-0001"
}
],
"nextCursor": "eyJwdWJsaWNhdGlvbl9kYXRlIjoiMjAyNi0wMi0xNCJ9"
}- The list endpoint is cursor-paginated and stable — re-paginating with the same cursor returns the same items as new Federal Register issues land.
- comment_due_date is only populated when type is PROPOSED_RULE; expect null on RULE, NOTICE, and PRESIDENTIAL_DOCUMENT.
- agency_id is the assigning-agency OAR code ("EPA", "Treasury", "DOJ", …) and is the stable join key across Federal Register issues — agency_name is the human label.
- source_url is the canonical reg.gov detail URL — the public-record link of record — and should be used over any cached snapshot when quoting the source.