# Federal Register Regulations Monitor (`agentictools/federal-register-monitor`) Actor

Search and monitor US Federal Register documents: rules, proposed rules, and notices by term, agency, or type. For compliance and policy tracking.

- **URL**: https://apify.com/agentictools/federal-register-monitor.md
- **Developed by:** [Ken Agland](https://apify.com/agentictools) (community)
- **Categories:** Business, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 document returneds

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 Regulations Monitor

Search and monitor US Federal Register documents: rules, proposed rules, and notices by term, agency, or type. For compliance and policy tracking.

### What it does

- Full-text search across the Federal Register using the public API (no API key needed).
- Filter by document type: final rule, proposed rule, or notice.
- Filter by a publication date floor to catch only recent activity.
- Export clean, flat records to a dataset plus an aggregate summary in OUTPUT.

### Example input

Recent AI-related rules and notices:

```json
{
  "term": "artificial intelligence",
  "types": ["RULE", "NOTICE"],
  "sinceDate": "2026-01-01",
  "maxItems": 40
}
```

All proposed rules mentioning "tariffs":

```json
{
  "term": "tariffs",
  "types": ["PRORULE"],
  "maxItems": 100
}
```

### Input

| Field | Type | Description |
|---|---|---|
| `term` | string | Full-text search term matched against title and text. Leave empty to list by type and date only. |
| `types` | array | Document types to include: `RULE`, `PRORULE`, `NOTICE`. Defaults to all three. |
| `sinceDate` | string | Only include documents published on or after this date (YYYY-MM-DD). |
| `maxItems` | integer | How many documents to return (auto-paginated, max 1000). Default 40. |

### Output

Each dataset item is one document:

```json
{
  "documentNumber": "2025-00636",
  "title": "Framework for Artificial Intelligence Diffusion",
  "type": "Rule",
  "agencies": ["Commerce Department", "Industry and Security Bureau"],
  "publicationDate": "2025-01-15",
  "effectiveDate": "2025-01-13",
  "abstract": "With this interim final rule, the Commerce Department's Bureau of Industry and Security (BIS) revises the Export Administration Regulations' controls on advanced computing integrated circuits and adds a new control on artificial intelligence model weights for certain advanced closed-weight dual-use AI models.",
  "htmlUrl": "https://www.federalregister.gov/documents/2025/01/15/2025-00636/framework-for-artificial-intelligence-diffusion",
  "pdfUrl": "https://www.govinfo.gov/content/pkg/FR-2025-01-15/pdf/2025-00636.pdf"
}
```

#### Run summary (OUTPUT)

The run's default key-value store record `OUTPUT` holds an aggregate for the whole result set:

```json
{
  "query": { "term": "artificial intelligence", "types": ["RULE", "NOTICE"], "sinceDate": "2026-01-01" },
  "totalMatched": 304,
  "returned": 40,
  "requestedMaxItems": 40,
  "typeBreakdown": { "Rule": 12, "Notice": 28 },
  "generatedFrom": "https://www.federalregister.gov/api/v1/documents.json"
}
```

### How it works

The Actor calls the public Federal Register API with your term, type, and date filters, paginating at 100 documents per page until it has `maxItems` results or runs out of matches. Every request sends a descriptive User-Agent. Network errors and rate limit or server errors are retried with backoff; other client errors fail fast.

### Use cases

- Compliance tracking: watch for new rules and notices in a regulated area.
- Policy research: pull every document mentioning a topic across agencies.
- Competitive intelligence: monitor rulemaking that affects an industry.
- Feed a scheduled run into your own alerting or dashboard.

MIT licensed.

# Actor input Schema

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

Full-text search term matched against document title and text (for example "artificial intelligence", "data privacy", "tariffs"). Leave empty to list documents by type and date only.

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

Which Federal Register document types to include. Leave empty to include all three.

## `sinceDate` (type: `string`):

Only include documents published on or after this date (YYYY-MM-DD). Leave empty for no date floor.

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

How many documents to return. Results are paginated automatically until this count is reached or there are no more matches.

## Actor input object example

```json
{
  "term": "data privacy",
  "types": [
    "RULE",
    "PRORULE",
    "NOTICE"
  ],
  "sinceDate": "2026-01-01",
  "maxItems": 40
}
```

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

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

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

```

## MCP server setup

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

```

## OpenAPI specification

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