Federal Register Scraper — US Rules & Notices
Pricing
from $9.90 / 1,000 documents
Federal Register Scraper — US Rules & Notices
Extract final rules, proposed rules, notices, and presidential documents from the Federal Register. Get one flat record per document with citation, docket IDs, RINs, and links. Filter by term, agency, type, and dates. Uses the keyless official API. Pricing: $0.0099 per document on the Free plan.
Pricing
from $9.90 / 1,000 documents
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Features
Share
This Actor extracts final rules, proposed rules, notices, and presidential documents from the official keyless API at https://www.federalregister.gov/api/v1/documents.json.
- Extract new rules and notices for one agency, such as the EPA, the SEC, or the FDA, by that agency's slug.
- Monitor a keyword such as PFAS, tariff, or artificial intelligence across agencies inside a publication-date window.
- No Federal Register login or API key is required; the Actor uses your Apify account only.
- Download one flat record per document, with citation, docket IDs, RINs, and links to the HTML page, the govinfo PDF, and the API JSON.
- Pay per event: $0.0099 per document on the Free plan, charged once per record pushed to the dataset.
What you get
The Federal Register is the US government's daily journal of rules, proposed rules, notices, and presidential documents. Results are requested newest first. The default dataset table shows publication date, type, agency names, title, action, effective date, citation, and HTML link.
| Field | Type | Description |
|---|---|---|
| document_number | string | Federal Register document number (unique id) |
| title | string | Document title |
| type | string | API label: Rule, Proposed Rule, Notice, or Presidential Document |
| abstract | string | Summary text of the document |
| action | string | Action line, such as Final rule or Notice |
| agency_names | string | Issuing agency names, semicolon-separated |
| agency_slugs | string | Issuing agency slugs, semicolon-separated |
| publication_date | string | Publication date (YYYY-MM-DD) |
| effective_on | string | Effective date (YYYY-MM-DD), or empty |
| signing_date | string | Signing date for presidential documents, or empty |
| president | string | President name when the API record includes one, or empty |
| citation | string | Federal Register citation (for example 89 FR 12345) |
| page_length | integer | Length of the document in Federal Register pages |
| cfr_references | string | CFR references as "{title} CFR {part}", semicolon-separated |
| docket_ids | string | Docket IDs, semicolon-separated |
| regulation_id_numbers | string | Regulation Identifier Numbers (RINs), semicolon-separated |
| html_url | string | Document page on federalregister.gov |
| pdf_url | string | Official PDF on govinfo.gov |
| json_url | string | That document's JSON on the Federal Register API |
Empty strings are fields the API did not fill. page_length is null when the source does not provide the value. Agency names, agency slugs, CFR references, docket IDs, and RINs are joined into one string rather than left as arrays.
Sample output
One record from a successful run. Values are unchanged.
{"document_number": "2026-20993","title": "Certain Vertical Power Delivery Systems, Components Thereof, and Computing Systems Containing the Same; Notice of Institution of Investigation","type": "Notice","abstract": "Notice is hereby given that a complaint was filed with the U.S. International Trade Commission on September 9, 2026, under section 337 of the Tariff Act of 1930, as amended, on behalf of Vicor Corporation of Andover, Massachusetts. A supplement to the complaint was filed on September 10, 2026. The complaint, as supplemented, alleges violations of section 337 based upon the importation into the United States, the sale for importation, and the sale within the United States after importation of certain vertical power delivery systems, components thereof, and computing systems containing the same by reason of the infringement of certain claims of U.S. Patent No. 10,903,734 (\"the '734 patent\"). The complaint further alleges that an industry in the United States exists as required by the applicable Federal Statute. The complainant requests that the Commission institute an investigation and, after the investigation, issue a limited exclusion order and cease and desist orders.","action": "Notice.","agency_names": "International Trade Commission","agency_slugs": "international-trade-commission","publication_date": "2026-10-14","effective_on": "", "signing_date": "","president": "Donald Trump","citation": "91 FR 65254","page_length": 3,"cfr_references": "","docket_ids": "Investigation No. 337-TA-1526","regulation_id_numbers": "","html_url": "https://www.federalregister.gov/documents/2026/10/14/2026-20993/certain-vertical-power-delivery-systems-components-thereof-and-computing-systems-containing-the-same","pdf_url": "https://www.govinfo.gov/content/pkg/FR-2026-10-14/pdf/2026-20993.pdf","json_url": "https://www.federalregister.gov/api/v1/documents/2026-20993?publication_date=2026-10-14"}
Pricing
Pay per event. Two events are priced on the Free plan.
You pay only for the events listed below. This Actor does not use the Pay per event + usage option, so the platform usage of your runs (compute, proxy traffic and storage) is not billed to you separately.
The Apify Free plan includes $5 of platform credit each month.
| Event | Free plan | When it is charged |
|---|---|---|
Document (document) | $0.0099 per document | One event per record pushed to the dataset |
Actor Start (apify-actor-start) | $0.00005 per event | When the Actor starts; once per GB of run memory, minimum one event |
On the Free plan the $5 credit covers 505 documents.
100 documents cost $0.99 on the Free plan; with one start event the run costs $0.99005.
| Documents | Document events |
|---|---|
| 1,000 | $9.90 per 1,000 documents on the Free plan |
| 10,000 | $99.00 per 10,000 documents on the Free plan |
Note: A status message that says nothing was charged means no document events. The Actor start event is still charged when the run starts.
How to use
- Open Federal Register Scraper in your Apify Console.
- Enter a search term, agency slugs, document types, and a publication-date window.
- Set maxItems from 1 to 50000.
- Leave proxyConfiguration on Apify Proxy with the RESIDENTIAL group, or replace it with another Apify proxy configuration.
- Start the run and read the status message for how many documents were delivered.
- Repeat the run in Apify Schedules. Daily is a starting point for a regulatory monitor.
Export the dataset as JSON or CSV, or read it through the Apify dataset API.
Run it with maxItems set to 1 first to check what comes back. The example below is the follow-up run with maxItems 100.
{"term": "artificial intelligence","documentTypes": ["RULE", "NOTICE"],"publishedSince": "2026-10-01","publishedBefore": "2026-10-14","maxItems": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Input parameters
| Parameter | What it does | Default |
|---|---|---|
| term | Full-text search sent as the API term. A blank value sends no term, so agency, type, and dates decide the list. | Empty (form prefill: artificial intelligence) |
| agencies | Agency slugs, each sent as an agency filter. Find slugs at federalregister.gov/agencies. | [] |
| documentTypes | Type filter. Accepted values are RULE, PRORULE, NOTICE, and PRESDOCU; matching is case-insensitive. Any other value is ignored. An empty list, or a list of only ignored values, returns all types. | [] |
| publishedSince | Lower publication-date bound (YYYY-MM-DD), sent as published on or after that date. | Empty |
| publishedBefore | Upper publication-date bound (YYYY-MM-DD), sent as published on or before that date. | Empty |
| maxItems | Stops after this many documents. The form allows 1–50000. Each API page asks for up to 1000 documents, or fewer when maxItems is smaller. | 100 |
| proxyConfiguration | Apify Proxy used to call the documents API. | Apify Proxy, RESIDENTIAL group |
Dates are sent as you enter them. Use YYYY-MM-DD.
Limits and edge cases
| Condition | What you see | What to do |
|---|---|---|
| Filters match nothing | Status: no documents matched, and nothing was charged for documents. | Widen publishedSince or publishedBefore, drop the agency or type filter, or simplify the term. |
| The API fails before any document is returned | Status names the failed page and the error, and says nothing was charged for documents. HTTP 429 is retried up to 4 times, waiting 8, 16, 32, then 64 seconds. Other HTTP errors are not retried. A request that times out at 60 seconds, or a body that is not JSON, is this same failure. | Retry later, use the RESIDENTIAL proxy group, or narrow the date window. |
| The API fails after some documents were fetched | Those documents are saved and charged. Status reports how many were delivered out of maxItems, which page failed, and the error (trimmed). The same 429 retries, 60-second timeout, and non-JSON handling apply. | Re-run later with a narrower date window to fetch the rest. |
| A row has no document_number | That row is not saved and is not charged as a document. | No input change; it is dropped during mapping. |
| maxItems is reached | The run stops at that count even when more documents match. Success status is “Delivered” followed by the document count and the word documents. | Raise maxItems (up to 50000) or split the date window. |
The status text itself is cut at 300 characters.
FAQ
How much does it cost to scrape the Federal Register?
See Pricing for both Free-plan events, the worked example, and the monthly platform credit.
What if the run is empty?
See the empty-filter row under Limits and edge cases. An Actor start event is still charged because the run started.
Is it allowed to use this Federal Register data?
The Actor reads public data (public document records) from the official federalregister.gov API. Whether a given use is allowed depends on that source’s terms and on the law that applies to your use case, and this page does not give a legal conclusion.
Why use this instead of the official Federal Register API?
The Actor calls the same keyless documents endpoint, returns one flat dataset row, applies your filters, and stops at maxItems. It does not return documents the API did not return.