Federal Register Scraper — US Rules & Notices avatar

Federal Register Scraper — US Rules & Notices

Pricing

from $9.90 / 1,000 documents

Go to Apify Store
Federal Register Scraper — US Rules & Notices

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

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Features

Limited permissions

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.

FieldTypeDescription
document_numberstringFederal Register document number (unique id)
titlestringDocument title
typestringAPI label: Rule, Proposed Rule, Notice, or Presidential Document
abstractstringSummary text of the document
actionstringAction line, such as Final rule or Notice
agency_namesstringIssuing agency names, semicolon-separated
agency_slugsstringIssuing agency slugs, semicolon-separated
publication_datestringPublication date (YYYY-MM-DD)
effective_onstringEffective date (YYYY-MM-DD), or empty
signing_datestringSigning date for presidential documents, or empty
presidentstringPresident name when the API record includes one, or empty
citationstringFederal Register citation (for example 89 FR 12345)
page_lengthintegerLength of the document in Federal Register pages
cfr_referencesstringCFR references as "{title} CFR {part}", semicolon-separated
docket_idsstringDocket IDs, semicolon-separated
regulation_id_numbersstringRegulation Identifier Numbers (RINs), semicolon-separated
html_urlstringDocument page on federalregister.gov
pdf_urlstringOfficial PDF on govinfo.gov
json_urlstringThat 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.

EventFree planWhen it is charged
Document (document)$0.0099 per documentOne event per record pushed to the dataset
Actor Start (apify-actor-start)$0.00005 per eventWhen 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.

DocumentsDocument 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

  1. Open Federal Register Scraper in your Apify Console.
  2. Enter a search term, agency slugs, document types, and a publication-date window.
  3. Set maxItems from 1 to 50000.
  4. Leave proxyConfiguration on Apify Proxy with the RESIDENTIAL group, or replace it with another Apify proxy configuration.
  5. Start the run and read the status message for how many documents were delivered.
  6. 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

ParameterWhat it doesDefault
termFull-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)
agenciesAgency slugs, each sent as an agency filter. Find slugs at federalregister.gov/agencies.[]
documentTypesType 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.[]
publishedSinceLower publication-date bound (YYYY-MM-DD), sent as published on or after that date.Empty
publishedBeforeUpper publication-date bound (YYYY-MM-DD), sent as published on or before that date.Empty
maxItemsStops 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
proxyConfigurationApify 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

ConditionWhat you seeWhat to do
Filters match nothingStatus: 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 returnedStatus 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 fetchedThose 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_numberThat row is not saved and is not charged as a document.No input change; it is dropped during mapping.
maxItems is reachedThe 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.