Federal Register Scraper · Rules, Notices & Agency Documents avatar

Federal Register Scraper · Rules, Notices & Agency Documents

Pricing

from $1.30 / 1,000 document returneds

Go to Apify Store
Federal Register Scraper · Rules, Notices & Agency Documents

Federal Register Scraper · Rules, Notices & Agency Documents

Federal Register Scraper — search, extract and scrape the Federal Register for US rules, proposed rules, regulations, notices, and presidential documents. Filter by keyword, agency, date, RIN, CFR part, or comment deadline.

Pricing

from $1.30 / 1,000 document returneds

Rating

5.0

(1)

Developer

Tarek Etman

Tarek Etman

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

an hour ago

Last modified

Share

reapX — public sources in, addressable records out

Federal Register Scraper · Rules, Notices & Agency Documents

Federal Register Scraper to search, extract, and scrape the Federal Register for US rules, proposed rules, regulations, notices, and presidential documents published by US federal agencies straight from the official Federal Register API. Search and filter the Federal Register by keyword, agency, date, RIN, CFR part, or comment deadline with no API key, login, or browser.

Maintained by reapX. Every row cites the Apify run that produced it — nothing is inferred, modelled or filled in, and a field absent from the source is absent from the row. The extracted archive for this source is browsable at reapx.dev/data/federal-register-scraper/ and mirrored as an open dataset on Hugging Face and Kaggle. Questions: reapxdev@proton.me

Coverage runs back to 1994, across 472 agencies, with every document addressed by its permanent Federal Register document number.

Federal Register Scraper Features

  • Federal Register Search & Extraction: Full-text search across all rules, notices, proposed rules, and executive orders.
  • US Agency Coverage: Scrape 472+ US federal agencies including EPA, SEC, FDA, USDA, and DOT.
  • Rulemaking Metadata: Extract RIN, CFR references, docket IDs, publication dates, and comment deadlines.

What this Federal Register Scraper returns

One row per document:

FieldWhat it gives you
, , ,The document and permanent links to it
,Final rule, proposed rule, notice or presidential document
, ,Who issued it and what it is about
, ,When it published, takes effect, was signed
, , ,The comment window and where to file
Flagged under Executive Order 12866 as economically material
, ,Docket, RIN and the CFR parts it touches
, , , ,Formal citation and how long it runs
, ,The summary, the action line, and optionally the whole body

Five named dataset views ship with it: Documents, Open rulemaking, Effective dates, Presidential documents and Citations & pages.

How to scrape the Federal Register

  1. Run it with no input at all - you get the 100 newest Federal Register documents.
  2. Narrow by agency (), document type, or a search term.
  3. Add a date window, a CFR part, a docket ID or a RIN to target one rulemaking.
  4. Set Max documents. You are charged once per document returned, so that is your cost cap.

Federal Register Scraper Filters

  • Search term - full text across title, abstract and body
  • Document types - final rule, proposed rule, notice, presidential document

The full published archive

Each archive page carries Dataset JSON-LD, a canonical URL and the identifiers used, so an agent can resolve an entity without running anything. Nothing on those pages is estimated or modelled.

⬇️ Input

Every field is optional unless marked. Run it with no input at all to get a sensible default slice.

FieldTypeRequiredWhat it does
searchTermstringnoFull-text search across the document title, abstract and body. Leave empty to match every document.
documentTypesarraynoLimit to certain kinds of document. Leave empty for all four.
agenciesarraynoAgency slugs as the Federal Register spells them, e.g. environmental-protection-agency, food-and-drug-administration,…
sectionsarraynoThe Federal Register's own top-level subject grouping. Leave this field empty to include every option.
maxDocumentsintegernoHard cap on how many documents the run returns. This is also your cost cap: you are charged once per document returned. The higher the number, the…
sortBystringnoWhich documents you get when the cap is smaller than the match count. Options: newest, oldest, relevance, executive_order_number.
publishedLastDaysintegernoRolling publication window. Ignored if you set an explicit "Published from" date. The higher the number, the longer the run takes and the more you are…
publishedFromstringnoEarliest publication date, YYYY-MM-DD.
publishedTostringnoLatest publication date, YYYY-MM-DD.
effectiveFromstringnoEarliest date a rule takes effect, YYYY-MM-DD. Use it to find regulation coming into force.
effectiveTostringnoLatest date a rule takes effect, YYYY-MM-DD.
effectiveNextDaysintegernoRolling forward window on the effective date - rules coming into force between today and N days from now. Stays correct as time passes, unlike a fixed…
openForCommentOnlybooleannoKeep only documents whose comment period has not closed yet - the actionable rulemaking docket.
commentsCloseBeforestringnoLatest comment deadline, YYYY-MM-DD. Combine with "Open for public comment only" to get deadlines inside a window.
significantOnlybooleannoKeep only documents flagged significant under Executive Order 12866 - the economically material ones.
cfrTitleintegernoCode of Federal Regulations title number, e.g. 40 for Protection of Environment, 21 for Food and Drugs.
cfrPartintegernoPart number inside that CFR title. Requires a CFR title to be set.
docketIdstringnoAgency docket identifier exactly as the agency writes it, e.g. FDA-2026-N-2886. Leave this field empty to skip this filter.
regulationIdNumberstringnoUnified Agenda RIN, which tracks one rulemaking across all its documents. Leave this field empty to skip this filter.
presidentialDocumentTypesarraynoOnly meaningful together with the Presidential document type. Leave this field empty to include every option.
presidentsarraynoPresident slugs, e.g. donald-trump, joe-biden, barack-obama, william-j-clinton, george-w-bush. Leave this field empty to include every option.
includeFullTextbooleannoFetch the complete plain-text body of every document, capped at 40,000 characters. Costs one extra request per document, so a large run takes…

⬆️ Output

One row per record, as JSON, CSV, Excel or XML — and through the API.

FieldWhat it gives you
documentNumberDoc number
publicationDatePublished
documentTypeLabelType
agencyNamesAgencies
titleTitle
significantSignificant
htmlUrlURL
commentsCloseOnComments close
daysUntilCommentsCloseDays left
docketIdsDockets
regulationIdNumbersRINs
effectiveOnEffective
cfrReferencesCFR
signingDateSigned
presidentPresident
executiveOrderNumberEO number
citationCitation
volumeVol
startPageFrom page
endPageTo page
pageLengthPages
pdfUrlPDF

🧪 Example input

A real, runnable configuration — this is an actual input this Actor has run with.

{
"searchTerm": "PFAS",
"maxDocuments": 200
}

📄 Sample output

One real row from a real run of this Actor, unedited.

{
"documentNumber": "2026-15193",
"title": "Certain New Chemicals; Receipt and Status Information for April and May 2026",
"documentType": "Notice",
"documentTypeLabel": "Notice",
"subtype": null,
"abstract": "This document announces the Agency's receipt of new chemical submissions under the Toxic Substances Control Act (TSCA), including information about the receipt of a Premanufacture Notice (PMN), Significant New Use Notice (SNUN), Microbial Commercial Activity Notice (MCAN), and an amendment to a previously submitted notice; test information; a biotechnology exemption application; an application for a test marketing exemption (TME); and a notice of commencement of manufacture (defined by statute to include import) (NOC) for a new chemical substance. This document covers new chemical submissions that have passed an initial screening and, for PMNs, SNUNs and MCANs, were determined to be complete, during the period from May 1, 2026, to May 31, 2026, regardless of the initial submission date.",
"action": "Notice of receipt and request for comment.",
"agencyNames": [
"Environmental Protection Agency"
],
"agencySlugs": [
"environmental-protection-agency"
],
"topics": [],
"publicationDate": "2026-07-28",
"effectiveOn": null,
"commentsCloseOn": "2026-08-27",
"signingDate": null,
"significant": false,
"citation": "91 FR 47231",
"volume": 91,
"startPage": 47231,
"endPage": 47235,
"pageLength": 5,
"docketIds": [
"EPA-HQ-OPPT-2026-1387",
"FRL-13202-05-OCSPP"
],
"regulationIdNumbers": [],
"cfrReferences": [],
"htmlUrl": "https://www.federalregister.gov/documents/2026/07/28/2026-15193/certain-new-chemicals-receipt-and-status-information-for-april-and-may-2026",
"pdfUrl": "https://www.govinfo.gov/content/pkg/FR-2026-07-28/pdf/2026-15193.pdf",
"rawTextUrl": "https://www.federalregister.gov/documents/full_text/text/2026/07/28/2026-15193.txt",
"daysSincePublication": 6,
"scrapedAt": "2026-08-03T06:19:37Z",
"commentsOpen": true,
"daysUntilCommentsClose": 24,
"commentUrl": "http://www.regulations.gov/commenton/EPA-HQ-OPPT-2026-1387-0013",
"president": "Donald Trump"
}

How it works

  1. You set the filters below, or none at all - every field is optional.
  2. The Actor calls the public www.federalregister.gov API directly over HTTP. There is no key to obtain, no login and no headless browser, so a run is fast and cannot break on a UI change.
  3. It pages through the results until your maximum is reached or the source runs out of matches.
  4. Every row is pushed to the dataset as it is built, flushed every 50 rows - never buffered to the end. A run that hits its time limit still returns everything it collected.
  5. You are charged document-returned at $0.002 per row, and nothing for Apify platform usage. The maximum-results field is therefore your cost cap, and Apify Store discounts apply on top.
  6. Left alone, it returns up to 100 records - a deliberately small default so a first run is cheap.

❓ FAQ

Do I need an API key or a login? No. This Actor uses the source's public interface. There is nothing to register for.

What does it cost? It is pay-per-event: you are charged per row returned, and not for Apify platform usage. The maximum-results field caps both the run and the bill. Apify Store discounts apply.

Can an agent call this? Yes. It is reachable through Apify's MCP server at https://mcp.apify.com with no integration on our side — search-actors finds it, fetch-actor-details returns this input schema, and call-actor runs it.

Is the data complete? It is whatever the source returned for your filters, and nothing is inferred, modelled or filled in. If a field is absent from the source it is absent from the row.

💬 Your feedback

Found a bug, or need a field this does not return yet? Open an issue on the Actor's Issues tab, or write to reapxdev@proton.me. Bugs get fixed and reasonable field requests get added.

⚠️ Run outcomes and error handling

This Actor reports what happened in the run's status message, and it always keeps whatever it collected. These are the outcomes you can get and what each one means.

OutcomeWhat it means
SuccessRows were returned and you were charged document-returned at $0.002 per row.
No matchesThe source returned nothing for your filters. Nothing is charged. Widen the date window or drop a filter.
Partial - source refusedThe source rate-limited or refused some requests. The affected items are skipped and named in the log, and everything already collected is still pushed. A block never discards a run's work.
Rejected filterThe source itself rejected the filter combination. The run fails fast with the source's own reason and nothing is charged.

What is guaranteed either way

  • Every row is pushed as it is built, not buffered to the end of the run. Anything that buffers output loses everything to a timeout, a block or a migration; this does not.
  • A field absent from the source is absent from the row. Nothing is inferred, modelled or filled in to make a row look complete.

🧭 Ready-made configurations

These are saved, published configurations of this exact Actor. Open one and run it as it is, or copy its input as a starting point - each link is a live page with the full input and its output schema.

ConfigurationInput
EPA: every Federal Register documentagencies: environmental-protection-agency; maxDocuments: 200
FDA: every Federal Register documentagencies: food-and-drug-administration; maxDocuments: 200
SEC: every Federal Register documentagencies: securities-and-exchange-commission; maxDocuments: 200
FCC: every Federal Register documentagencies: federal-communications-commission; maxDocuments: 200
IRS & Treasury: tax rules and noticesagencies: internal-revenue-service, treasury-depart...; maxDocuments: 200
OSHA & Labor: workplace regulationagencies: occupational-safety-and-health-administra...; maxDocuments: 200
Homeland Security: rules and noticesagencies: homeland-security-department; maxDocuments: 150
FAA & DOT: aviation and transport rulesagencies: federal-aviation-administration, transpor...; maxDocuments: 200
USDA: agriculture rules and noticesagencies: agriculture-department; maxDocuments: 150
CMS & HHS: health program regulationagencies: centers-for-medicare-medicaid-services, h...; maxDocuments: 200
Energy & NRC: energy and nuclear rules-
FTC & CFPB: consumer protection-
Fish & Wildlife Service: species and habitat-
Federal Reserve & CFTC: financial regulation-

There are 50 of these in total, all listed on the Actor's Examples tab.