Federal Register Data Scraper (Rules & Notices JSON) avatar

Federal Register Data Scraper (Rules & Notices JSON)

Pricing

from $1.60 / 1,000 document delivereds

Go to Apify Store
Federal Register Data Scraper (Rules & Notices JSON)

Federal Register Data Scraper (Rules & Notices JSON)

Pull US Federal Register documents from the official public API. Filters: date, type, agency or keyword. Deduplicated. For regulatory and compliance monitoring.

Pricing

from $1.60 / 1,000 document delivereds

Rating

0.0

(0)

Developer

Steadfetch

Steadfetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Features

Limited permissions

Share

This Actor returns US Federal Register documents from the official Federal Register API: one validated JSON item per document with document number, title, type, publication date, publishing agencies, abstract, citation, effective and comment deadlines, docket and regulation identifiers, and official HTML/PDF links - for regulatory monitoring, compliance tracking and public-policy research.

Tested daily. Last verified: 2026-10-30

What it does

  • Calls https://www.federalregister.gov/api/v1/documents.json, the official developer API: keyless, public, plain HTTP - no login, no CAPTCHA, no browser. The Federal Register limits programmatic access to its developer APIs, so this Actor never scrapes the HTML site.
  • Filters by publication-date window (since/until, defaulting to the last 7 days), document type (RULE, PRORULE, NOTICE, PRESDOCU), agency (official slug or human name, resolved against the official /agencies endpoint) and full-text keyword.
  • Monitor mode (default) keeps a per-filter deduplication state in the Actor's key-value store and emits only documents whose document_number was never delivered by an earlier run with the same type/agency/keyword filters; re-running the same monitor never bills the same document twice. Search mode emits every matching document in the window, deduplicated within the run, for one-off research or backfills.
  • Validates every item against .actor/dataset_schema.json before it reaches the dataset; with strictSchema: true (the default) an invalid item fails the run instead of pushing malformed data.
  • Returns documents and agencies only: no personal names, email addresses or phone numbers exist in the output schema. The data is public US government information.
  • Limits: the monitor state keeps the 20,000 most recent document numbers, and maxResults caps each run at 5,000 documents; paging stops as soon as that many new documents are collected.

How to use

  1. Run it from the terminal with the Apify CLI, using the same input as the Store example:
$apify call steadfetch/federal-register-monitor --input='{"mode":"search","since":"2026-10-01","maxResults":10}'
  1. Or open the Run tab in the Apify console: keep mode: monitor for a standing watch, or switch to search for a backfill of the selected window.
  2. Narrow the feed with type, agency (slug or name) and keyword; set the since/until window or rely on the default last 7 days.
  3. Schedule the run and read new documents from the default dataset; the monitor state ensures only unseen documents are pushed and billed.

Input

Input fields

FieldTypeRequiredDefault/PrefillDescriptionExample
modestring (select)NoDefault monitormonitor: emit only documents not delivered by previous runs with the same type/agency/keyword filters. search: emit every matching document in the window, deduplicated within the run.search
sincestringNoDefault: 7 days before the run date (UTC)Earliest publication date (YYYY-MM-DD, inclusive).2026-10-01
untilstringNoDefault: the run date (UTC)Latest publication date (YYYY-MM-DD, inclusive).2026-10-20
typestring (select)NoNoneDocument type: RULE (final rule), PRORULE (proposed rule), NOTICE or PRESDOCU (presidential document).PRORULE
agencystringNoNoneAgency slug or name; names are resolved against the official /agencies endpoint.securities-and-exchange-commission
keywordstringNoNoneOptional full-text search term.emissions
maxResultsintegerNoDefault 100; minimum 1; maximum 5,000Maximum number of documents to save to the dataset.10
strictSchemabooleanNoDefault trueFail the run when an item does not match the output schema. Keep enabled: Steadfetch never publishes Actors without output-schema validation.true

No input field is required; an empty run monitors the last 7 days across all agencies.

Example input

{
"mode": "search",
"since": "2026-10-01",
"maxResults": 10
}

Focused monitor on SEC proposed rules:

{
"mode": "monitor",
"since": "2026-10-01",
"type": "PRORULE",
"agency": "Securities and Exchange Commission",
"keyword": "fund",
"maxResults": 500
}

Output

Example output

One record per document, built from the published dataset schema examples:

{
"url": "https://www.federalregister.gov/documents/2026/10/20/C1-2026-20360/interval-fund-modernization-expansion-of-multiple-share-class-to-registered-closed-end-management",
"title": "Interval Fund Modernization",
"scrapedAt": "2026-10-20T08:30:00.000Z",
"document_number": "C1-2026-20360",
"type": "Proposed Rule",
"publication_date": "2026-10-20",
"agencies": ["Securities and Exchange Commission"],
"abstract": "",
"citation": "91 FR 56776",
"effective_on": "2026-09-03",
"comments_close_on": "2026-12-04",
"docket_ids": ["NRC-2026-0001"],
"regulation_id_numbers": ["2060-AB20"],
"html_url": "https://www.federalregister.gov/documents/2026/10/20/C1-2026-20360/interval-fund-modernization-expansion-of-multiple-share-class-to-registered-closed-end-management",
"pdf_url": "https://www.govinfo.gov/content/pkg/FR-2026-10-20/pdf/C1-2026-20360.pdf",
"source_url": "https://www.federalregister.gov/api/v1/documents/C1-2026-20360.json"
}

Optional dates (effective_on, comments_close_on) and pdf_url are omitted when the source has no value; abstract and citation are empty strings in that case and identifier arrays are empty.

Output fields

FieldTypeDescription
urlstring (URI)Public Federal Register page for the document (same as html_url).
titlestringDocument title.
scrapedAtstring (date-time)ISO 8601 UTC timestamp of the run.
document_numberstringOfficial document number; the deduplication key.
typestring (enum)Document type: Rule, Proposed Rule, Notice or Presidential Document.
publication_datestring (date)Publication date.
agenciesarray of stringsPublishing agencies and sub-agencies, by display name.
abstractstringOfficial abstract; empty string when the source has none.
citationstringFederal Register citation (volume and page); empty string when absent.
effective_onstring (date)Effective date, when the document declares one.
comments_close_onstring (date)Comment deadline, when the document has one.
docket_idsarray of stringsDocket identifiers.
regulation_id_numbersarray of stringsRegulation identifier numbers.
html_urlstring (URI)Official HTML page of the document.
pdf_urlstring (URI)Official PDF, when the API provides one.
source_urlstring (URI)Official per-document API endpoint used to retrieve this document.

Pricing

Pay-per-event pricing from .actor/pay_per_event.json, using only the two synthetic platform events:

EventCharged whenPrice
apify-actor-starta run starts0.00005 USD per run; includes the first 5 seconds of compute
apify-default-dataset-itema new, validated document is saved to the dataset0.002 USD per document = 2.00 USD per 1,000 documents
monitor-checka watched item is checked in a monitor run0.0007 USD per check = 0.7 USD per 1,000 checks

Cost per 1,000 documents: one JSON request (per_page 1000) and a few seconds of a 256 MB container; measured locally with apify run, 1,000 documents fetched, mapped, validated and written in 7.5 seconds end to end, roughly 0.0001 USD of compute plus the run-start event, well below 0.01 USD per 1,000 - gross margin above 99% at the 2.00 USD price.

Results are never double billed: monitor-check bills the check itself in monitor mode, and apify-default-dataset-item charges each pushed document once. Items that fail schema validation are not pushed and are not billed as dataset items, and runs that return nothing cost only the automatic run-start event; API errors, retries and documents skipped by monitor deduplication are never charged.

Works on the Apify free plan - about 2,499 documents for the $5 monthly credit ((5.00 USD - 0.0002 USD run-start at the default 4 GB memory) / 0.002 USD per document).

Other Steadfetch Actors

FAQ

Do I need a Federal Register API key? No. The documents API is keyless and public, and it returns structured JSON, so plain HTTP is enough - no browser, no proxy.

How does monitor deduplication work? The Actor stores the document_number of every delivered document in a key-value store that persists between runs, under a key derived from the type/agency/keyword filters. The date window is deliberately excluded from that signature, so widening it does not re-deliver documents the same monitor already saw. The state keeps the 20,000 most recent document numbers.

What is the difference between monitor and search mode? monitor emits only documents never delivered by an earlier run with the same filters; search emits every matching document in the window, deduplicated within the run. Both use the same official API and filters.

Does it return personal data? No. Only documents and agencies are returned; the output schema has no personal names, email addresses or phone numbers.

When am I charged? Once per run start (apify-actor-start) and once per new validated document (apify-default-dataset-item). Empty results, failed requests, retries and already-delivered documents are not charged.

Support

Report bugs through the Issues tab of this Actor's Apify Store page or through the steadfetch actors repository issues. Include the run ID (visible in the Apify console on the run) and the exact input JSON you used, so the problem can be reproduced against the same filters.

Maintenance

Registered for the Steadfetch daily catalog QA (enablement pending); tests run in CI on every push. Target: tested daily - the Actor is registered for the Steadfetch catalog QA schedule (enablement pending as of 2026-10-22). The default test suite runs against committed API fixtures covering the response shape, pagination, agency-name resolution, monitor deduplication and schema validation; any break is reported as an issue in the Steadfetch Actors repository.