# Federal Register Rule & Notice Monitor (`sovereign_workspace/federal-register-monitor`) Actor

Monitor Federal Register rules, proposed rules, and notices with agency/type/CFR filters and structured fields including comment deadlines. FederalRegister.gov is not the official legal edition; verify against govinfo.gov.

- **URL**: https://apify.com/sovereign\_workspace/federal-register-monitor.md
- **Developed by:** [Chase Mariano](https://apify.com/sovereign_workspace) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 document matcheds

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 Rule & Notice Monitor

One **event per new Federal Register document** (rule, proposed rule,
notice or presidential document), filtered by agency, document type, CFR
title/part and keywords, with the comment deadline and docket attached.
Built for regulatory-affairs teams, government-affairs staff and
regulatory counsel who need structured records for their own trackers and
pipelines, not another inbox alert.

**Pricing: pay per event.** `document-matched`: $0.01 per document returned.
A run with no matches costs you nothing.

### Input

```json
{"agencies": ["food-and-drug-administration"], "document_types": ["RULE", "PRORULE"],
 "cfr_title": 21, "since_days": 7, "comment_open_only": true}
```

Agency slugs are the last part of the agency's page URL on
federalregister.gov/agencies (for example `environmental-protection-agency`).
Leave a filter empty to leave it out.

**Run it on a schedule.** With `only_new` on (the default), a document this
same watch returned in an earlier run is skipped, so a daily run with a
7-day window never bills the same document twice. The Actor keeps that
memory in a named key-value store (`federal-register-monitor-state`) in
your own account.

### Example output (one dataset item per document)

```json
{
 "document_number": "2026-19350",
 "type": "Rule",
 "title": "Nonclinical Testing Terminology",
 "action": "Direct final rule.",
 "agencies": [
  "Health and Human Services Department",
  "Food and Drug Administration"
 ],
 "agency_slugs": [
  "health-and-human-services-department",
  "food-and-drug-administration"
 ],
 "publication_date": "2026-09-22",
 "effective_on": "2027-02-04",
 "comments_close_on": "2026-12-07",
 "docket_ids": [
  "Docket No. FDA-2026-N-5347"
 ],
 "regulation_id_numbers": [
  "0910-AJ27"
 ],
 "cfr_references": [
  "21 CFR 312",
  "21 CFR 314",
  "21 CFR 315",
  "21 CFR 361",
  "21 CFR 601"
 ],
 "citation": "91 FR 59988",
 "significant": null,
 "abstract": "The Food and Drug Administration (FDA, Agency, or we) is issuing a direct final rule that substitutes references to \"animal\" tests or studies with \"nonclinical\" tests or studies…",
 "html_url": "https://www.federalregister.gov/documents/2026/09/22/2026-19350/nonclinical-testing-terminology",
 "pdf_url": "https://www.govinfo.gov/content/pkg/FR-2026-09-22/pdf/2026-19350.pdf",
 "regulations_gov_url": "http://www.regulations.gov/commenton/FDA-2026-N-5347-0002"
}
```

### Output fields

One dataset item per result. Every field is always present, empty or null
when the source has no value. The fields are defined in
`.actor/dataset_schema.json`.

| Field | Type | Description |
|---|---|---|
| `document_number` | string | Federal Register document number (e.g. 2026-19350) |
| `type` | string | Rule, Proposed Rule, Notice or Presidential Document |
| `title` | string | Document title (max 500 chars) |
| `action` | string | Action line (e.g. Final rule., Notice of availability.) |
| `agencies` | array of strings | Issuing agency names |
| `agency_slugs` | array of strings | Issuing agency slugs, usable in the agencies input |
| `publication_date` | string | Publication date, YYYY-MM-DD |
| `effective_on` | string | Effective date, YYYY-MM-DD |
| `comments_close_on` | string | Comment period close date, YYYY-MM-DD |
| `docket_ids` | array of strings | Agency docket IDs |
| `regulation_id_numbers` | array of strings | Regulation Identifier Numbers (RINs) |
| `cfr_references` | array of strings | CFR parts affected, e.g. 21 CFR 314 |
| `citation` | string | Federal Register citation, e.g. 91 FR 59988 |
| `significant` | boolean | Significant under EO 12866 (null when not stated) |
| `abstract` | string | Summary (max 1000 chars) |
| `html_url` | string | FederalRegister.gov page |
| `pdf_url` | string | Official PDF on govinfo.gov |
| `regulations_gov_url` | string | Regulations.gov comment page |

Runs stop cleanly at your max-charge limit. Nothing is pushed past what
you agreed to pay for, and documents that were cut off stay "new" for the
next run.

Source: the FederalRegister.gov API v1 (public, no key). Federal Register
content is a US government work in the public domain. **FederalRegister.gov
is not the official legal edition of the Federal Register.** For legal
research, verify against the official edition on govinfo.gov (`pdf_url`).

# Actor input Schema

## `profile` (type: `string`):

Named config preset applied at start. Any field you set explicitly below overrides the preset.

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

FederalRegister.gov agency slugs, e.g. food-and-drug-administration, environmental-protection-agency. The slug is the last part of the agency's URL on federalregister.gov/agencies. Leave empty for all agencies.

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

Only these document types. Leave empty for all four.

## `cfr_title` (type: `integer`):

Only documents affecting this CFR title (e.g. 21 for Food and Drugs).

## `cfr_part` (type: `string`):

Only documents affecting this part of the CFR title above (e.g. 314). Needs CFR title.

## `term` (type: `string`):

Full-text search terms, e.g. tobacco or "medical device". Leave empty for everything that matches the other filters.

## `since_days` (type: `integer`):

How many days back to search by publication date (1-365).

## `comment_open_only` (type: `boolean`):

Only documents whose comment period closes today or later.

## `only_new` (type: `boolean`):

Skip documents this same watch (same agencies, types, CFR, keywords) already returned in an earlier run, so overlapping scheduled windows never bill twice. Turn off to get every match in the window.

## `limit` (type: `integer`):

Maximum number of documents to return per run.

## Actor input object example

```json
{
  "since_days": 7,
  "comment_open_only": false,
  "only_new": true,
  "limit": 100
}
```

# Actor output Schema

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

No description

## `errorCounters` (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 = {};

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

# Run the Actor and wait for it to finish
run = client.actor("sovereign_workspace/federal-register-monitor").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 '{}' |
apify call sovereign_workspace/federal-register-monitor --silent --output-dataset

```

## MCP server setup

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

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/92gk2ipDP0FhQuhhP/builds/lXCw1aPN9Y5D77qtC/openapi.json
