Federal Register
Federal Register rules, proposed rules, and notices by agency
This Actor queries the official Federal Register API for feeds (agencies, document types, terms) and emits source-linked digest rows with watch-term matches. feeds is required.
Not a crawl of arbitrary .gov HTML (use Regulatory Alerts Scraper for that). Not legal advice. Not eCFR section diffs.
from $8.00 / 1,000 Federal Register digest ($0.008 per delivered apify-default-dataset-item). No Actor Start. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.
Open Federal Register Scraper on Apify
Federal Register Scraper, not a neighboring Actor
Use this page for this Actor’s job. Use Regulatory Alerts Scraper for Gov page text diffs; Use Campaign Finance Scraper for FEC/LDA filings; Use Docs & Changelog Drift Scraper for Docs/changelog diffs.
| This Actor | Regulatory Alerts Scraper | Campaign Finance Scraper | Docs & Changelog Drift Scraper | |
|---|---|---|---|---|
| Intent | Federal Register Scraper | Gov page text diffs | FEC/LDA filings | Docs/changelog diffs |
| Primary input | see schema | targets[] | feeds / watchTerms | doc URLs |
| What it reads | Public sources listed on the Store page | public gov HTML | OpenFEC / LDA.gov | public docs HTML |
| Primary output | Dataset rows billed per live PPE | regulatory change rows | campaign digest rows | drift rows |
| Not this job | Not a crawl of arbitrary .gov HTML (use Regulatory Alerts Scraper for that). Not legal advice. Not eCFR section diffs. | Not Federal Register API docs | Not OFAC sanctions or Federal Register | Not Federal Register rules |
Store ID: taroyamada/federal-register-digest. Respect source terms, robots.txt, and rate limits.
Use cases
- Agency rule/notice watches
- Keyword hits on FR documents
- Scheduled snapshotKey FR digests
How is Federal Register Scraper different from Regulatory Alerts Scraper and Campaign Finance Scraper?
Federal Register Scraper (taroyamada/federal-register-digest): This Actor queries the official Federal Register API for feeds (agencies, document types, terms) and emits source-linked digest rows with watch-term matches. feeds is required. Not a crawl of arbitrary .gov HTML (use Regulatory Alerts Scraper for that). Not legal advice. Not eCFR section diffs. Regulatory Alerts Scraper is for Gov page text diffs (input targets[]; public gov HTML; regulatory change rows). Not Federal Register API docs. Campaign Finance Scraper is for FEC/LDA filings (input feeds / watchTerms; OpenFEC / LDA.gov; campaign digest rows). Not OFAC sanctions or Federal Register. Docs & Changelog Drift Scraper is for Docs/changelog diffs (input doc URLs; public docs HTML; drift rows). Not Federal Register rules.
What input is required?
Live required fields: feeds. Published exampleRunInput is shown below. Quickstart: set feeds with at least one entry (agencySlug + documentTypes), optionally add watchTerms to flag relevant topics, and set delivery=dataset
| Field | Type | Default | Notes |
|---|---|---|---|
feeds |
object[] required | empty |
required Feeds to monitor (required). One entry per agency/topic watch target. Each feed produces one summary digest row. Set agencySlug and documentTypes to narrow the stream; add keywords for keyword filtering. Each item supports id, name, agencySlug, agencySlugs, documentTypes, keywords, lookbackDays. |
watchTerms |
string | empty |
Watch terms (comma-separated). Keywords, company names, or regulatory topics to flag in document titles and abstracts. Matching documents receive a watch_term_hit signal tag. |
lookbackDays |
integer | 7 |
Global lookback window (days). Fetch documents published within this many days. Use 7–14 for recurring scheduled runs; widen to 30+ for initial discovery. min=1 max=365 |
maxDocsPerFeed |
integer | 50 |
Max documents per feed. Upper bound on documents fetched per feed per run. Increase for broad discovery; keep low (50) for fast recurring digest runs. min=1 max=1000 |
maxPagesPerFeed |
integer | 5 |
Max API pages per feed. Hard page cap per feed to prevent runaway pagination. Each page fetches up to 100 documents. min=1 max=20 |
delivery |
string enum | dataset |
Delivery mode. dataset stores results in the Apify dataset. webhook posts the digest JSON to webhookUrl. enum: dataset, webhook |
webhookUrl |
string | empty |
Webhook URL (required when delivery=webhook). POST target for the digest payload. Leave empty for dataset delivery. |
datasetMode |
string enum | all |
Dataset output mode. all emits every feed digest row. action_needed emits only feeds with watch-term hits. new_only emits only feeds with documents not seen in the previous run. enum: all, action_needed, new_only |
snapshotKey |
string | federal-register-digest-state |
Snapshot key for recurring state. Stable key used to persist seen document numbers across recurring runs so new_only and action_needed modes stay comparable. Use the same key across scheduled runs. |
federalRegisterApiUrl |
string | https://www.federalregister.gov/api/v1/documents.json |
Federal Register API URL. Federal Register documents endpoint. No authentication required. |
requestTimeoutSeconds |
integer | 30 |
HTTP request timeout (seconds). Timeout for each API request. min=5 max=120 |
notifyOnNoNew |
boolean | true |
Emit digest even when no new documents found. When true, every feed always produces a digest row even if no new documents were found. When false, feeds with no new documents are omitted from the output. |
dryRun |
boolean | false |
Dry run (skip snapshot writes and webhook delivery). Validate and fetch without persisting state or posting webhooks. Safe for testing input shapes. |
nowIso |
string | empty |
Override current time (ISO string, for testing). Set to a fixed ISO timestamp to make runs deterministic against fixture data. |
fixturePath |
string | empty |
Fixture file path (testing). Local JSON fixture for offline tests. When set, all feeds use this file instead of the live API. |
Published Store example run input (omitted fields take schema defaults):
{
"feeds": [
{
"id": "epa-rules-proposed",
"name": "EPA Rules & Proposed Rules",
"agencySlug": "environmental-protection-agency",
"documentTypes": "RULE,PRORULE",
"keywords": ""
}
],
"watchTerms": "climate,emissions,clean air,greenhouse,PFAS",
"lookbackDays": 7,
"maxDocsPerFeed": 50,
"maxPagesPerFeed": 5,
"delivery": "dataset",
"datasetMode": "all",
"snapshotKey": "federal-register-digest-quickstart",
"notifyOnNoNew": true,
"dryRun": false
}
Run Federal Register Scraper on Apify
How do dataset, webhook, and dry-run delivery work?
delivery defaults to dataset on the live schema. Dataset output is the billable surface when rows are written. webhookUrl is used when delivery is webhook (and typically not during dryRun). dryRun true validates or samples without the usual dataset/webhook side effects described on the Store schema. datasetMode can limit emits to changes_only / changed_only / action_needed versus all. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.
What does a result contain?
Published README Output Example / Sample Output JSON. Treat README samples as illustrations, not a live coverage guarantee. There is no published output JSON schema on the Store page.
How is Federal Register Scraper priced?
Billing is pay per event. The live Store card is from $8.00 / 1,000 Federal Register digest ($0.008 per delivered apify-default-dataset-item). No Actor Start. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE. Current PPE:
| Event | Price | Emitted when |
|---|---|---|
apify-default-dataset-item (Federal Register digest) |
$0.008 | Charged only for one delivered Federal Register agency or topic digest row. |
The published README Cost block is stale versus the live Store pricing tab. README Cost still quotes actor-start $0.01. README Cost quotes dataset-item $0.003; live primary is $0.008 (Federal Register digest). Live: Federal Register digest $0.008. This page quotes live PPE only.
from $8.00 / 1,000 Federal Register digest ($0.008 per delivered apify-default-dataset-item). No Actor Start. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.
See Federal Register Scraper pricing on Apify
Limits to keep in mind
- feeds required
- federalregister.gov API
- maxDocsPerFeed / maxPagesPerFeed caps
- Not legal advice
- Respect source terms, robots.txt, and rate limits.
Open Federal Register Scraper on Apify
Related pages
- Regulatory Alerts Scraper — Gov page HTML diffs, not the FR API.
- Campaign Finance Scraper — FEC/LDA, not FR rules.
- Docs & Changelog Drift Scraper — Vendor docs, not FR.
- USPTO Patent Search Scraper — Patents, not FR notices.
- eCFR CFR Section Change Watch — title, part, and section diffs.
- CourtListener Public Opinion Watch — stable-ID opinion triggers.
- FTC Enforcement Case Delta & Report — FTC cases, not Federal Register.
- Tools