# Federal Register Scraper: Rules and Notices | $1/1K (`one_dollar_store/federal-register-documents`) Actor

$1 per 1,000 results, platform usage included. US Federal Register rules, proposed rules, notices and presidential documents from the official API: title, abstract, agencies, dates, comment deadline, docket, CFR parts, links. Search by keyword, agency, type or date. No key.

- **URL**: https://apify.com/one_dollar_store/federal-register-documents.md
- **Developed by:** [One Dollar Store](https://apify.com/one_dollar_store) (community)
- **Categories:** News, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Federal Register Scraper: US rules, proposed rules, notices and presidential documents

**$1 per 1,000 documents. Platform usage included. No rental, no minimum.**

The four most used Federal Register actors on Apify Store charge $1.80 to $4.00 per 1,000 results (Store prices checked 20 October 2026). This actor returns the same kind of data for $1.

[Open it in Apify Console](https://console.apify.com/actors/9mgXfCZdhAF0qICf2/input)

### What it costs

| Documents | This actor | Most used Federal Register actors on the Store |
|---|---|---|
| 1,000 | $1.00 | $1.80 to $4.00 |
| 10,000 | $10.00 | $18 to $40 |
| 100,000 | $100.00 | $180 to $400 |

Plus $0.001 per run. A daily run that picks up the 40 or so new documents on one topic costs about $0.04 plus $0.001 a day, roughly $1.25 a month.

### Why people switch

- **One flat price.** Compute is included, so the bill follows the number of documents and nothing else.
- **The fields a rule watcher needs.** Each row has the title, abstract, action, agencies, publication date, effective date, comment deadline, docket IDs, regulation ID numbers (RIN), CFR references, citation, and links to the page, PDF, plain text, XML and regulations.gov.
- **Filters in plain words.** Search term, document type, agencies by name or short name such as EPA, publication dates, docket, and CFR title and part.
- **The official API, no key.** The data comes from federalregister.gov's own API. The actor keeps to about one request a second and asks for up to 1,000 documents at a time.

### Quick start

1. Open the actor, type a search term, press **Start**.
2. Or paste this input:

```json
{ "searchTerm": "artificial intelligence", "documentTypes": ["PRORULE"], "publishedFrom": "2026-01-01", "maxItems": 100 }
```

3. Download the results as JSON, CSV or Excel, or read them through the API.

### Use it from code

```bash
curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~federal-register-documents/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerm": "artificial intelligence", "maxItems": 50}'
```

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("one_dollar_store/federal-register-documents").call(
    run_input={"searchTerm": "artificial intelligence", "maxItems": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["publicationDate"], item["type"], item["title"])
```

### Use it from an AI assistant

Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:

```
https://mcp.apify.com?tools=one_dollar_store/federal-register-documents
```

Then ask, for example: "List the proposed rules the EPA published this year that are open for comment, with the comment deadline."

### Switching from another Federal Register actor

Most Federal Register actors take a search term, a document type, an agency, dates and a result limit. Here they are `searchTerm`, `documentTypes` (a list of `RULE`, `PRORULE`, `NOTICE`, `PRESDOCU`), `agencies` (names, short names or slugs), `publishedFrom`, `publishedTo` and `maxItems`. The core fields are `documentNumber`, `title`, `type`, `abstract`, `agencies`, `publicationDate` and `url`.

### Input

| Field | Type | Default | What it does |
|---|---|---|---|
| `searchTerm` | text | none | Words or a "quoted phrase" to find in the full text. |
| `documentTypes` | list | all four | `RULE` final rules, `PRORULE` proposed rules, `NOTICE` notices, `PRESDOCU` presidential documents. |
| `agencies` | list of text | none | Agency names, short names or slugs, for example `EPA`, `Food and Drug Administration` or `environmental-protection-agency`. |
| `publishedFrom`, `publishedTo` | text | none | Publication dates, `YYYY-MM-DD`. |
| `docketId` | text | none | Only documents under this agency docket. |
| `cfrTitle`, `cfrPart` | number, text | none | Only documents that touch this title of the Code of Federal Regulations, and optionally one part or a range such as `52` or `50-60`. |
| `sortBy` | text | `default` | `default` (best match with a search term, newest first without), `newest`, `oldest` or `relevance`. |
| `maxItems` | number | 100 | Total documents for the run, 10 to 10,000. |

All filters combine with AND. Example:

```json
{
  "searchTerm": "\"data center\"",
  "documentTypes": ["RULE", "PRORULE"],
  "agencies": ["EPA", "Energy Department"],
  "publishedFrom": "2025-01-01",
  "sortBy": "newest",
  "maxItems": 200
}
```

### Output fields

| Field | Meaning |
|---|---|
| `documentNumber`, `citation`, `volume`, `startPage`, `endPage`, `pageLength` | The Federal Register document number and where it sits in the printed volume. |
| `type`, `subtype`, `title`, `abstract`, `action`, `dates` | What the document is, its summary, the agency's action line and its dates paragraph. |
| `publicationDate`, `effectiveOn`, `commentsCloseOn`, `signingDate` | Dates, `YYYY-MM-DD`. Comment deadlines are filled for proposed rules and some notices. |
| `agencies`, `agencySlugs` | Issuing agencies by name and by slug. |
| `docketIds`, `regulationIdNumbers`, `cfrReferences` | Docket numbers, RINs and the CFR parts affected, such as `40 CFR 52`. |
| `significant`, `topics` | The significant action flag when the Federal Register records it, and subject topics. |
| `executiveOrderNumber` | Number of the executive order, for executive orders only. |
| `president` | The president in office when the document was published, as the Federal Register records it. |
| `url`, `pdfUrl`, `textUrl`, `xmlUrl`, `bodyHtmlUrl` | Links to the page, PDF, plain text, XML and HTML body. |
| `regulationsGovUrl`, `publicInspectionPdfUrl` | Where to comment on regulations.gov when the document has a docket there, and the pre publication PDF when there is one. |

### Sample results

Real rows from test runs on 20 October 2026 (a proposed rule, a final rule and an executive order). Fields that are empty for a document are left out, and long abstracts are cut here to keep the page short. The full rows also carry the page count, topics, the plain text, XML and HTML links, and the dates paragraph.

```json
[
  {"documentNumber": "2026-20721", "type": "Proposed Rule", "title": "Requirements for Additional Traceability Records for Certain Foods: Enforcement Policy for Certain Retail Food Establishments and Restaurants; Draft Guidance for Industry; Availability", "abstract": "The Food and Drug Administration (FDA, we, or the Agency) is announcing the availability of a draft guidance for industry title...", "action": "Notification of availability.", "publicationDate": "2026-10-09", "commentsCloseOn": "2026-11-23", "agencies": ["Health and Human Services Department", "Food and Drug Administration"], "docketIds": ["Docket No. FDA-2025-D-6952"], "citation": "91 FR 64629", "cfrReferences": ["21 CFR 1"], "president": "Donald Trump", "url": "https://www.federalregister.gov/documents/2026/10/09/2026-20721/requirements-for-additional-traceability-records-for-certain-foods-enforcement-policy-for-certain", "pdfUrl": "https://www.govinfo.gov/content/pkg/FR-2026-10-09/pdf/2026-20721.pdf", "regulationsGovUrl": "http://www.regulations.gov/commenton/FDA-2025-D-6952-0001"},
  {"documentNumber": "2026-21268", "type": "Rule", "title": "Approval and Promulgation of Implementation Plans; Arizona; Revisions to the Cleaner Burning Gasoline, Winter Oxygenated Fuel, and Gasoline Set-Aside Programs", "abstract": "The U.S. Environmental Protection Agency (EPA) is finalizing an approval of a revision to the Arizona State Implementation Plan...", "action": "Final rule.", "publicationDate": "2026-10-19", "effectiveOn": "2026-11-18", "agencies": ["Environmental Protection Agency"], "docketIds": ["EPA-R09-OAR-2023-0054", "FRL-12607-02-R9"], "citation": "91 FR 66003", "cfrReferences": ["40 CFR 52"], "president": "Donald Trump", "url": "https://www.federalregister.gov/documents/2026/10/19/2026-21268/approval-and-promulgation-of-implementation-plans-arizona-revisions-to-the-cleaner-burning-gasoline", "pdfUrl": "https://www.govinfo.gov/content/pkg/FR-2026-10-19/pdf/2026-21268.pdf"},
  {"documentNumber": "2026-11415", "type": "Presidential Document", "subtype": "Executive Order", "title": "Promoting Advanced Artificial Intelligence Innovation and Security", "publicationDate": "2026-06-05", "signingDate": "2026-06-02", "agencies": ["Executive Office of the President"], "citation": "91 FR 34565", "executiveOrderNumber": 14409, "president": "Donald Trump", "url": "https://www.federalregister.gov/documents/2026/06/05/2026-11415/promoting-advanced-artificial-intelligence-innovation-and-security", "pdfUrl": "https://www.govinfo.gov/content/pkg/FR-2026-06-05/pdf/2026-11415.pdf"}
]
```

### Limits

- **10,000 documents per search.** The Federal Register API serves at most 10,000 results for one search. When more match, the run log says so; narrow the dates (for example one year at a time) to reach the rest.
- **Pace.** The API publishes no numeric limit. The actor sends one request a second and asks for up to 1,000 documents in each, so a full 10,000 document pull takes about ten requests.
- **Links, not full text.** Each row has the title, abstract and metadata, plus links to the page, PDF, plain text, XML and HTML body. The full body of the document is not copied into the row.
- **Not every field exists for every document.** Comment deadlines belong to proposed rules and some notices, effective dates to rules, and executive order numbers to executive orders. Missing values are left out of the row.
- **Search term.** The term is matched against the full text of each document by the Federal Register's own search, so a common word returns many documents. Use quotes for a phrase.
- **Agencies.** Names and short names are matched against the API's agency list. A name that matches nothing is skipped with a warning in the log; one that matches several agencies uses up to three of them.
- **Published documents only.** The actor reads the published documents from 1994 on. Documents that are only on public inspection are not included; `publicInspectionPdfUrl` is filled when a published document had one.
- **Official edition.** The text on federalregister.gov is a rendition of the published document. The PDF in `pdfUrl` is the official edition. Nothing here is legal advice.
- **Free plan.** A run from a free Apify plan returns the first 10 results.

### FAQ

**What is the cheapest Federal Register scraper on Apify?**
This actor costs $1 per 1,000 documents with platform usage included. The four most used Federal Register actors on the Store charged $1.80 to $4.00 per 1,000 when we checked on 20 October 2026.

**How much does it cost to scrape 10,000 Federal Register documents?**
$10, plus $0.001 for each run.

**Do I pay for compute or proxy on top?**
No. Platform usage is included in the $1 per 1,000 price, and no proxy is needed.

**Where does the data come from?**
From the official Federal Register API at federalregister.gov, which needs no key. The site itself points automated users to its developer API.

**Is it legal?**
The actor reads public data only, with no login. The Federal Register is the US government's public record of rules and notices. How you use the data is up to you: follow the terms of federalregister.gov and the law where you live.

**Is this an official Federal Register product?**
No. It is an independent tool and is not affiliated with or endorsed by the Office of the Federal Register or the US government.

**How do I see proposed rules that are open for comment?**
Set `documentTypes` to `["PRORULE"]`, set `sortBy` to `newest`, and read `commentsCloseOn` in the results. The actor has no filter on the deadline itself, so drop rows whose date has passed.

**How do I follow new rules on a topic every day?**
Schedule a daily run with `publishedFrom` set to yesterday and your search term, and use `documentNumber` to drop documents you already have.

**Can I find all documents of one agency?**
Yes. Put the agency in `agencies` (for example `EPA`) and add a date range. Add `documentTypes` to separate rules from notices.

**Can I read the full text?**
Each row links to the plain text (`textUrl`), XML and HTML body of the document. Fetch those links when you need the full body.

**Do I need an Apify account?**
Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can [sign up here](https://www.apify.com?fpr=ymnoit). This is a referral link and it costs you nothing.

**Is there a limit on the free plan?**
Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.

### More from The One Dollar Store

Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store

**Tenders and grants**

- [UK Contracts Finder Scraper](https://apify.com/one_dollar_store/uk-contracts-finder-tenders): UK public tenders and awards.
- [EU Tenders Scraper](https://apify.com/one_dollar_store/eu-tenders-ted-scraper): EU public procurement notices from TED.
- [USAspending Scraper](https://apify.com/one_dollar_store/usaspending-awards-scraper): US federal contracts and awards.
- [Grants.gov Scraper](https://apify.com/one_dollar_store/grants-gov-opportunities-scraper): US federal grant opportunities.
- [UK Find a Tender](https://apify.com/one_dollar_store/uk-find-a-tender-notices): UK public contract notices above threshold.

### Changelog

- October 2026: first release.

# Actor input Schema

## `searchTerm` (type: `string`):

Words or a phrase to find in the full text of Federal Register documents. Put a phrase in double quotes, for example "artificial intelligence". Leave empty to filter only by the options below.

## `documentTypes` (type: `array`):

Which kinds of documents to return. Leave empty for all four.

## `agencies` (type: `array`):

Agency names, short names or Federal Register agency slugs, for example EPA, Food and Drug Administration or environmental-protection-agency. An agency that is not found is skipped with a note in the log.

## `publishedFrom` (type: `string`):

Only documents published on or after this date. Format YYYY-MM-DD.

## `publishedTo` (type: `string`):

Only documents published on or before this date. Format YYYY-MM-DD.

## `docketId` (type: `string`):

Only documents filed under this agency docket, for example EPA-HQ-OAR-2021-0208.

## `cfrTitle` (type: `integer`):

Only documents that change or propose to change this title of the Code of Federal Regulations, 1 to 50. For example 40 for environmental rules.

## `cfrPart` (type: `string`):

Narrows the CFR title to one part or a range, for example 52 or 50-60. Needs a CFR title.

## `sortBy` (type: `string`):

Default is best match when you give a search term and newest first otherwise.

## `maxItems` (type: `integer`):

The run stops after this many documents. Minimum 10. The Federal Register serves at most 10,000 results for one search, so split bigger pulls by date.

## Actor input object example

```json
{
  "searchTerm": "artificial intelligence",
  "documentTypes": [
    "RULE",
    "PRORULE"
  ],
  "agencies": [
    "EPA"
  ],
  "publishedFrom": "2026-01-01",
  "publishedTo": "2026-06-30",
  "docketId": "EPA-HQ-OAR-2021-0208",
  "cfrTitle": 40,
  "cfrPart": "52",
  "sortBy": "default",
  "maxItems": 50
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchTerm": "artificial intelligence",
    "sortBy": "default",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("one_dollar_store/federal-register-documents").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchTerm": "artificial intelligence",
    "sortBy": "default",
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("one_dollar_store/federal-register-documents").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerm": "artificial intelligence",
  "sortBy": "default",
  "maxItems": 50
}' |
apify call one_dollar_store/federal-register-documents --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,one_dollar_store/federal-register-documents"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9mgXfCZdhAF0qICf2/builds/hSTVvt2h19zSwg2QZ/openapi.json
