v1 · Federal Register mirror
/docs/regulatory-filings

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.

GEThttps://api.archivist.dev/regulatory-filings

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.

GET /regulatory-filings···
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"
node-fetch.js···
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.

Endpoint · Regulatory filings
Regulatory filings

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.

GEThttps://api.archivist.dev/regulatory-filings

Request

The endpoint accepts the following query parameters.

Request parameters
NameInTypeRequiredDescription
agency_idquerystringoptionalExact-match OAR assigning-agency code — e.g. "EPA", "Treasury", "DOJ".
agency_namequerystringoptionalCase-insensitive substring match on the assigning-agency name.
typequery"RULE" | "PROPOSED_RULE" | "NOTICE" | "PRESIDENTIAL_DOCUMENT"optionalExact-match document type as published in the Federal Register.
filing_yearqueryintegeroptionalFour-digit publication year (e.g. 2026).
filing_periodquery"Q1" | "Q2" | "Q3" | "Q4" | "AMENDMENT"optionalCalendar quarter of publication — matches the LDA filing_period vocabulary.
rINquerystringoptionalExact-match Federal Register Regulation Identifier Number (e.g. "2094-AE14").
docket_idquerystringoptionalExact-match agency docket id — e.g. "EPA-HQ-OAR-2025-0123".
cursorquerystringoptionalOpaque pagination cursor returned in the previous response.
limitqueryintegeroptionalPage size, 1–100. Defaults to 25.

Run it — curl

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.

regulatory-filings.js···
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.

Response schema
FieldTypeRequiredDescription
itemsRegulatoryFilingsItem[]
required
Page of filings, newest publication_date first — proposed rules and notices interleaved by date.
items[].filing_idstring
required
Stable Federal Register document id, e.g. "2026-01234".
items[].agency_idstring
required
Assigning-agency OAR code, e.g. "EPA", "Treasury", "DOJ".
items[].agency_namestring
required
Full assigning-agency name as it appears on the Federal Register document.
items[].titlestring
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[].rINstring | 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_citationstring
required
Canonical citation, e.g. "91 FR 1234".
items[].publication_datestring
required
ISO 8601 date the document was published in the Federal Register.
items[].effective_datestring | null
required
ISO 8601 effective date, or null when no effective date has been set.
items[].comment_due_datestring | null
required
ISO 8601 comment deadline, or null. Only set on type=PROPOSED_RULE filings — null on every other type.
items[].agency_acted_onstring[]
required
List of agencies the action addresses — usually the same as agency_id, but multi-agency actions carry every agency involved.
items[].docket_idsstring[]
required
Agency docket ids opened or referenced by this filing (e.g. "EPA-HQ-OAR-2025-0123").
items[].source_urlstring
required
Canonical reg.gov detail URL — the public-record link of record for this document.
nextCursorstring | null
required
Pass into the next page; null on the last page.
response···
{
  "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"
}
Notes
  • 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.