# Federal Register Scraper — US Rules & Notices (`ponderable_hydrometer/federal-register-scraper`) Actor

Scrape the US Federal Register — rules, proposed rules, notices and presidential documents with title, agencies, dates, abstract and full text. Filter by type and date. Free, no key.

- **URL**: https://apify.com/ponderable\_hydrometer/federal-register-scraper.md
- **Developed by:** [Ponderable Hydrometer](https://apify.com/ponderable_hydrometer) (community)
- **Categories:** Developer tools, Automation, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Federal Register Scraper — US Rules & Notices

**Search the entire US Federal Register — final rules, proposed rules, notices and presidential documents — and get one clean row per document, with optional full text.** Built on the official keyless Federal Register API, paging through whole result sets. Filter by type, agency and date.

Perfect for regulatory monitoring, compliance and legal research, policy datasets, and rulemaking alerts.

### What you get

One result per document:

- **Identity** — `documentNumber`, `title`, `type` (Rule / Proposed Rule / Notice / Presidential Document), `action`
- **Publishing** — `publicationDate`, `citation`
- **Agencies** — array of `{ name, slug, id }`
- **Content** — `abstract`, and `fullText` (plain-text body) when `includeFullText` is on
- **Links** — `htmlUrl`, `pdfUrl`

### Modes

- **Search** — combine `query` (free-text across title and full text), `type`, `agencies` and a publication-date range; sort by `newest`, `oldest` or `relevance`. Pages through the whole result set via `next_page_url`.
- **Lookup** — pass `documentNumbers` to fetch specific documents directly.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `query` | string | — | Free-text across title and full text |
| `type` | array | — | `RULE`, `PRORULE`, `NOTICE`, `PRESDOCU` |
| `agencies` | array | — | Agency slugs, e.g. `environmental-protection-agency` |
| `publicationDateGte` / `publicationDateLte` | string | — | Date range (`YYYY-MM-DD`) |
| `order` | string | `newest` | `newest`, `oldest` or `relevance` |
| `includeFullText` | boolean | `false` | Also fetch the full plain-text body (extra request per doc) |
| `documentNumbers` | array | — | Look up specific documents by number |
| `maxResults` | integer | `100` | Cap on documents returned |

Provide a search (`query`/`type`/`agencies`/`publicationDate*`) or `documentNumbers`.

### Example input

```json
{
  "query": "artificial intelligence",
  "type": ["RULE", "PRORULE"],
  "publicationDateGte": "2025-01-01",
  "maxResults": 200
}
```

One agency's notices:

```json
{ "agencies": ["securities-and-exchange-commission"], "type": ["NOTICE"], "maxResults": 100 }
```

### Example output (one document)

```json
{
  "documentNumber": "2025-23783",
  "title": "Safe and Secure Innovation in Artificial Intelligence",
  "type": "Rule",
  "action": "Final rule.",
  "publicationDate": "2025-11-04",
  "citation": "90 FR 43217",
  "agencies": [
    { "name": "Commerce Department", "slug": "commerce-department", "id": 54 },
    { "name": "National Institute of Standards and Technology", "slug": "national-institute-of-standards-and-technology", "id": 297 }
  ],
  "abstract": "This final rule establishes reporting requirements for developers of dual-use foundation models...",
  "htmlUrl": "https://www.federalregister.gov/documents/2025/11/04/2025-23783/...",
  "pdfUrl": "https://www.govinfo.gov/content/pkg/FR-2025-11-04/pdf/2025-23783.pdf",
  "fullText": null
}
```

### Why this actor

- **Every document type** — rules, proposed rules, notices and presidential documents in one query.
- **Deep paging** — pulls the whole result set, not just the first page.
- **Optional full text** — one flag adds the plain-text body per document for RAG or NLP.
- **Keyless, official, reliable** — free government API with retry/backoff and a descriptive User-Agent.

### Notes

- Data is the official Federal Register REST API — free, no key.
- `includeFullText` adds one request per document, so large runs are slower.
- Public data; you are responsible for compliant use. Not a government service.

### Pricing

Pay per result — **$3 per 1,000 results** (one result = one document). No subscription or platform fees.

### Related actors

- **eCFR Scraper** — the codified Code of Federal Regulations.
- **SEC EDGAR Filings Scraper** — US public-company filings.
- **FDA Recalls Scraper** — drug, device and food recalls.

# Actor input Schema

## `query` (type: `string`):

Free-text search across document title and full text, e.g. "artificial intelligence".

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

Filter by document type. RULE = final rule, PRORULE = proposed rule, NOTICE, PRESDOCU = presidential document.

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

Filter by agency slug, e.g. \["environmental-protection-agency", "securities-and-exchange-commission"].

## `publicationDateGte` (type: `string`):

Earliest publication date, YYYY-MM-DD.

## `publicationDateLte` (type: `string`):

Latest publication date, YYYY-MM-DD.

## `order` (type: `string`):

Sort results by. "newest", "oldest" or "relevance".

## `includeFullText` (type: `boolean`):

Also fetch each document's full plain-text body (extra request per document, slower).

## `documentNumbers` (type: `array`):

Look up specific documents by number, e.g. \["2025-23783"].

## `maxResults` (type: `integer`):

Cap on number of documents returned.

## Actor input object example

```json
{
  "query": "artificial intelligence",
  "order": "newest",
  "includeFullText": false,
  "maxResults": 100
}
```

# 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 = {
    "query": "artificial intelligence"
};

// Run the Actor and wait for it to finish
const run = await client.actor("ponderable_hydrometer/federal-register-scraper").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 = { "query": "artificial intelligence" }

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

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

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

```

## CLI example

```bash
echo '{
  "query": "artificial intelligence"
}' |
apify call ponderable_hydrometer/federal-register-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ponderable_hydrometer/federal-register-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/i6qDwRRzfFO8FHzwk/builds/fsF5aCagdcaeIyQLI/openapi.json
