# Federal Rulemaking Records — US Federal Register (`nexgensignal/federal-rulemaking-records`) Actor

Per-record U.S. federal rules, proposed rules, and notices from the official Federal Register API. Agency, stage, dates, comment windows, docket/CFR refs. Keyless, public domain, no personal data.

- **URL**: https://apify.com/nexgensignal/federal-rulemaking-records.md
- **Developed by:** [NexGen Signal](https://apify.com/nexgensignal) (community)
- **Categories:** Business, News, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $33.50 / 1,000 rulemaking records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Rulemaking Records — U.S. Federal Register

**Official source. No API key. Pay per record.**

This actor turns the U.S. government's **Federal Register** into clean, per-document records — every rule, proposed rule, notice, and presidential document, at the grain an organization tracks when it watches what its regulators are doing. Each run reads the official FederalRegister.gov API and delivers one row per document: the rule stage (proposed or final), the issuing agency, the publication and effective dates, the comment window, and the docket / CFR / RIN references — the regulatory-tracking facts, at document and agency grain, with no contact persons.

### What this is, in one paragraph

The Federal Register is the daily journal of the U.S. federal government — where agencies publish proposed rules, final rules, notices, and presidential documents. FederalRegister.gov exposes all of it through a keyless API. This actor reads that API, follows its cursor pagination, and flattens each document into a single analysis-ready row: what it is, which agency issued it, when it was published and takes effect, when comments close, and the docket, CFR, and Regulation Identifier Number references that tie it into the rulemaking record. Values are verbatim. You are billed only for records actually delivered.

### Who buys this and for what job

- **Regulatory-affairs and compliance teams** tracking proposed and final rules from the agencies that govern their industry, with comment deadlines surfaced.
- **Law firms and policy shops** monitoring rulemaking by agency, CFR title, or docket for their clients.
- **Trade associations and lobbyists** watching the pipeline of proposed rules and comment windows.
- **Analysts and data engineers** who want a keyless, one-call feed of federal rulemaking already reduced to document/agency fields.

### Public domain — with the official-edition caveat

Federal Register documents are U.S. Government works and are in the public domain under 17 U.S.C. §105 — free to reuse. Two honest boundaries travel on every record. First, FederalRegister.gov is explicit that it is a convenience prototype: *"This site displays a prototype of a 'Web 2.0' version of the daily Federal Register. It is not an official legal edition"* — so for anything legal, verify against the official edition (the govinfo.gov PDF). Second, the site's reuse terms state that *"Republishers of Federal Register material are not permitted to use official NARA or OFR logos or seals"* — this actor includes none. These are records for regulatory tracking, not legal advice.

### Document / agency grain — no contact persons

This actor works at document and agency grain: the document's own metadata plus the issuing agency (an organization). It does not extract or emit any natural-person contact. As a structural safeguard, the free-text fields (title, abstract, action) are scrubbed of any email address or phone-number pattern before emit — verified by an acceptance test that feeds a document with a contact email and phone embedded in the abstract and asserts neither survives, plus a live sweep over real Federal Register documents (0 emails, 0 phones, 0 person fields emitted).

### Pricing

| Event | Free plan | Bronze | Silver | Gold / Platinum / Diamond |
|-------|-----------|--------|--------|---------------------------|
| `rulemaking_record` | $0.05 | $0.045 | $0.04 | $0.0335 |

Delivered before charged. Blocked runs and empty results cost nothing.

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `types` | string list | Rule, Proposed Rule | Which document types to pull: `Rule` (final), `Proposed Rule`, `Notice`, `Presidential Document`. |
| `publishedFrom` | string (YYYY-MM-DD) | — | Optional. Keep only documents published on or after this date. |
| `publishedTo` | string (YYYY-MM-DD) | — | Optional. Keep only documents published on or before this date. |
| `agencySlug` | string | — | Optional. Keep only documents from this agency (e.g. `environmental-protection-agency`). |
| `maxRecords` | integer | 500 | Ceiling on records delivered and billed. |

The actor paces between pages and follows the API's own `next_page_url` cursor.

### Output

One JSON object per document. Real example (values verbatim):

```json
{
  "record_id": "2026-16942",
  "document_number": "2026-16942",
  "document_type": "Rule",
  "rule_stage": "final",
  "title": "Food Additives Permitted in Feed and Drinking Water of Animals; Chromium DL-methionine Chelate",
  "abstract": "The FDA is amending the food additive regulations ...",
  "action": "Final amendment; order.",
  "primary_agency": "Health and Human Services Department",
  "agency_names": ["Health and Human Services Department", "Food and Drug Administration"],
  "agency_slugs": ["health-and-human-services-department", "food-and-drug-administration"],
  "publication_date": "2026-08-19",
  "effective_on": "2026-08-19",
  "comments_close_on": null,
  "comment_url": null,
  "docket_ids": ["Docket No. FDA-2026-C-8831"],
  "regulation_id_numbers": [],
  "cfr_references": ["21 CFR 73"],
  "citation": "91 FR 53545",
  "significant": null,
  "regulations_dot_gov_docket": "FDA-2026-C-8831",
  "comments_count": 0,
  "source": "U.S. Federal Register (FederalRegister.gov API)",
  "source_url": "https://www.federalregister.gov/documents/2026/08/19/2026-16942/...",
  "licence": "U.S. Federal Register ... public domain (17 U.S.C. §105) ...",
  "attribution": "Source: U.S. Federal Register (Office of the Federal Register, NARA) via FederalRegister.gov API.",
  "observed_at": "2026-08-19T00:00:00Z"
}
```

An unbilled `RUN_RECEIPT` records the robots check, the filters, documents seen and delivered, and whether charged equals delivered.

### Field reference

Each record is a flat set of regulatory-tracking fields. Identity: `record_id` / `document_number`, `document_type`, and a normalized `rule_stage` (proposed/final/other). Substance: `title`, `abstract`, and `action` (all scrubbed of any contact pattern). Who issued it: `primary_agency`, `agency_names`, and `agency_slugs` — organizations, never a named official. Timing: `publication_date`, `effective_on`, and `comments_close_on` with the `comment_url`. Rulemaking hooks: `docket_ids`, `regulation_id_numbers` (RINs), `cfr_references` (as `title CFR part`), the `citation`, the `significant` flag, and the Regulations.gov docket id plus live `comments_count`. Provenance: `source`, `source_url`, `licence`, `attribution`, `disclaimer`, and `observed_at`.

### How a run works

A run first reads the site's robots policy and confirms the API path is allowed (it is — the Disallow list covers only the site's search pages, not `/api/`). It then builds a single query from your document types, date window, and optional agency, and reads a page of documents newest-first. Each document is flattened to one record and delivered **before** it is charged, so a run that is blocked at the door or finds nothing costs you nothing. The actor then follows the API's own `next_page_url` cursor — which uses a `search_after` token, so it paginates cleanly past the shallow-offset limit — pausing briefly between pages, and stops as soon as your `maxRecords` ceiling is reached. The run receipt's `charge_equals_delivered` flag lets you confirm you were billed for exactly what you received.

### Cost guidance

One `rulemaking_record` per delivered document: cost = documents delivered × your plan's per-record price. The Federal Register publishes tens of thousands of documents per year — rules and proposed rules alone exceed the API's 10,000-per-query readout — so a dated or agency-scoped pull keeps runs bounded and cheap; 1,000 documents is **$50** (Free) / **$33.50** (Gold).

### Honest limitations

- **Not the official legal edition.** For legal reliance, verify against the govinfo.gov PDF; this is the convenience API version.
- **Document/agency grain.** Full rule text and attachments are not included — this is the document metadata plus references.
- **Point-in-time.** Comment counts and effective dates are as of retrieval; re-run to refresh.
- **No contact-person data** is emitted, by design.

### Differentiation

Distinct from **fleet-1's court-records** product: courts adjudicate, agencies make rules — different branch, different documents, different job. This actor is federal **rulemaking** specifically (the Federal Register), tracked at document and agency grain. It also complements the sibling **eu-regulatory-change-records** (EU legal acts) for buyers who track both jurisdictions.

### The NexGen Signal family

Part of the NexGen Signal family of official-source, pay-per-record products:

- [Grant Opportunity Records — US Grants.gov](https://apify.com/nexgensignal/grant-opportunity-records)
- [FDA Recall Risk Records — openFDA](https://apify.com/nexgensignal/fda-recall-risk-records)
- [EU Tender Bid Signals — TED](https://apify.com/nexgensignal/eu-tender-bid-signals)
- [UK Contract Opportunity Records — Contracts Finder](https://apify.com/nexgensignal/uk-contract-opportunity-records)
- [Organization Sanctions & LEI Risk](https://apify.com/nexgensignal/organization-sanctions-lei-risk)
- [Eurostat House Price Index](https://apify.com/nexgensignal/eurostat-house-price-index)

*Source: U.S. Federal Register (Office of the Federal Register, NARA) via the FederalRegister.gov API. Public-domain U.S. Government work (17 U.S.C. §105); not the official legal edition — verify against govinfo.gov. Reformatted to document/agency records; values verbatim; no contact-person data emitted.*

# Actor input Schema

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

Which Federal Register document types to pull: Rule (final), Proposed Rule, Notice, Presidential Document.

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

Optional. Keep only documents published on or after this date.

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

Optional. Keep only documents published on or before this date.

## `agencySlug` (type: `string`):

Optional. Keep only documents from this agency (e.g. environmental-protection-agency, food-and-drug-administration).

## `maxRecords` (type: `integer`):

Maximum records delivered and billed. You are billed only for records delivered.

## Actor input object example

```json
{
  "types": [
    "Rule",
    "Proposed Rule"
  ],
  "maxRecords": 500
}
```

# Actor output Schema

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

The delivered Federal Register rulemaking records.

# 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 = {
    "types": [
        "Rule",
        "Proposed Rule"
    ],
    "maxRecords": 500
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgensignal/federal-rulemaking-records").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 = {
    "types": [
        "Rule",
        "Proposed Rule",
    ],
    "maxRecords": 500,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgensignal/federal-rulemaking-records").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 '{
  "types": [
    "Rule",
    "Proposed Rule"
  ],
  "maxRecords": 500
}' |
apify call nexgensignal/federal-rulemaking-records --silent --output-dataset

```

## MCP server setup

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

```

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/JlE4m8BSWHPgFWg75/builds/x0rFla7xcXf7IcM4G/openapi.json
