# Federal Register API

> Federal Register returns rules, proposed rules, notices, and presidential documents as a workflow and API.

Federal Register (FR) Search rules finds rules, proposed rules, notices, and presidential documents by topic, agency, dates, and comment status. Search rules requires a topic and can also take an agency, date range, document type, comment status, and sort order.

- Page: https://fous.com/tools/federal-register
- Handle: `@federal-register`
- Category: [Legal](https://fous.com/tools/category/legal)
- Source website: https://federalregister.gov
- Last verified: Sep 29, 2026

## Methods

### Search rules

Operation `search_rules`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find Federal Register rules, proposed rules, notices, and presidential documents by topic, agency, publication dates, and comment status. Significant means designated significant by the source; documents without that designation show no.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"relevance"` | Order documents by newest publication date or relevance, for example "newest". |
| `topic` | string | yes | `"PFAS drinking water"` | Words to search in Federal Register documents, for example "overtime pay". |
| `agency` | string | no | `"EPA"` | Publishing agency name or abbreviation, for example "Department of Labor" or "EPA". |
| `max_results` | integer | no | `5` | Maximum documents to return, for example 20; defaults to 20 (up to 100). |
| `document_type` | string | no | `"proposed_rule"` | Kind of document, for example "proposed_rule"; defaults to any. |
| `published_after` | string | no | `"2025-09-29"` | Earliest publication date (inclusive), for example "2025-09-29"; defaults to 12 months ago. |
| `published_before` | string | no | `"2026-09-29"` | Latest publication date (inclusive), for example "2026-09-29"; defaults to today. |
| `open_for_comment_only` | boolean | no | `true` | Return only documents whose comment period is still open, for example true; defaults to false. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "sort": {
      "enum": [
        "newest",
        "relevance"
      ],
      "type": "string",
      "default": "newest",
      "description": "Order documents by newest publication date or relevance, for example \"newest\".",
      "examples": [
        "relevance"
      ]
    },
    "topic": {
      "type": "string",
      "minLength": 1,
      "description": "Words to search in Federal Register documents, for example \"overtime pay\".",
      "examples": [
        "PFAS drinking water",
        "overtime pay",
        "water"
      ]
    },
    "agency": {
      "type": "string",
      "description": "Publishing agency name or abbreviation, for example \"Department of Labor\" or \"EPA\".",
      "examples": [
        "EPA",
        "Department of Labor"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum documents to return, for example 20; defaults to 20 (up to 100).",
      "x-fous-developer": true,
      "examples": [
        5,
        3
      ]
    },
    "document_type": {
      "enum": [
        "any",
        "final_rule",
        "proposed_rule",
        "notice",
        "presidential_document"
      ],
      "type": "string",
      "default": "any",
      "description": "Kind of document, for example \"proposed_rule\"; defaults to any.",
      "examples": [
        "proposed_rule",
        "final_rule"
      ]
    },
    "published_after": {
      "type": "string",
      "format": "date",
      "description": "Earliest publication date (inclusive), for example \"2025-09-29\"; defaults to 12 months ago.",
      "examples": [
        "2025-09-29"
      ]
    },
    "published_before": {
      "type": "string",
      "format": "date",
      "description": "Latest publication date (inclusive), for example \"2026-09-29\"; defaults to today.",
      "examples": [
        "2026-09-29"
      ]
    },
    "open_for_comment_only": {
      "type": "boolean",
      "default": false,
      "description": "Return only documents whose comment period is still open, for example true; defaults to false.",
      "examples": [
        true
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "relevance",
      "topic": "PFAS drinking water",
      "agency": "EPA",
      "max_results": 5,
      "document_type": "proposed_rule",
      "published_after": "2025-09-29",
      "published_before": "2026-09-29"
    },
    {
      "topic": "overtime pay",
      "agency": "Department of Labor",
      "document_type": "final_rule"
    },
    {
      "topic": "water",
      "max_results": 3,
      "open_for_comment_only": true
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `documents` | array |  | Matching documents. |
| `documents[].rin` | string or null | `"2040-AG49"` | Regulation Identifier Number or numbers, if listed. |
| `documents[].title` | string | `"Extending the Compliance Deadline for the PFOA and PFOS Maximum Contaminant Levels"` | Document title. |
| `documents[].summary` | string or null | `"On January 21, 2025, President Trump issued Executive Order 14173, \"Ending Illegal Discrimination and Restoring Merit-` | Plain-text document abstract, if available. |
| `documents[].agencies` | array |  | Publishing agencies by name. |
| `documents[].pdf_link` | string or null | `"https://www.govinfo.gov/content/pkg/FR-2026-05-20/pdf/2026-10086.pdf"` | Official document PDF, if available. |
| `documents[].document_type` | string | `"Proposed Rule"` | Document type in words. |
| `documents[].effective_date` | string or null | `"2026-10-26"` | Date the rule takes effect, if listed. |
| `documents[].document_number` | string or null | `"2026-10086"` | Federal Register document number. |
| `documents[].comment_deadline` | string or null | `"2026-07-20"` | Last day for public comments, if listed. |
| `documents[].publication_date` | string | `"2026-05-20"` | Date published. |
| `documents[].significant_rule` | boolean | `true` | Whether the document is marked significant. |
| `documents[].open_for_comment_now` | boolean | `false` | Whether the listed comment deadline has not passed. |
| `documents[].federal_register_link` | string | `"https://www.federalregister.gov/documents/2026/05/20/2026-10086/extending-the-compliance-deadline-for-the-pfoa-and-pfos` | Document page on FederalRegister.gov. |
| `documents[].regulations_gov_comment_link` | string or null | `"http://www.regulations.gov/commenton/EPA-HQ-OAR-2025-0302-0001"` | Direct Regulations.gov comment page, if available. |

**Example input**

```json
{
  "sort": "relevance",
  "topic": "PFAS drinking water",
  "agency": "EPA",
  "max_results": 5,
  "document_type": "proposed_rule",
  "published_after": "2025-09-29",
  "published_before": "2026-09-29"
}
```

**Example output**

```json
{
  "documents": [
    {
      "rin": "2040-AG49",
      "title": "Extending the Compliance Deadline for the PFOA and PFOS Maximum Contaminant Levels",
      "summary": "In this proposed rulemaking, the U.S. Environmental Protection Agency (EPA) proposes a federal exemption, pursuant to Safe Drinking Water Act (SDWA) 1416(f) and 1450(a)(1), that will extend the dates …",
      "agencies": [
        "Environmental Protection Agency"
      ],
      "pdf_link": "https://www.govinfo.gov/content/pkg/FR-2026-05-20/pdf/2026-10086.pdf",
      "document_type": "Proposed Rule",
      "effective_date": null,
      "document_number": "2026-10086",
      "comment_deadline": "2026-07-20",
      "publication_date": "2026-05-20",
      "significant_rule": true,
      "open_for_comment_now": false,
      "federal_register_link": "https://www.federalregister.gov/documents/2026/05/20/2026-10086/extending-the-compliance-deadline-for-the-pfoa-and-pfos-maximum-contaminant-levels",
      "regulations_gov_comment_link": null
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@federal-register",
  "visibility": "public",
  "operation": "search_rules",
  "version": 1,
  "input": {
    "sort": "relevance",
    "topic": "PFAS drinking water",
    "agency": "EPA",
    "max_results": 5,
    "document_type": "proposed_rule",
    "published_after": "2025-09-29",
    "published_before": "2026-09-29"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@federal-register\",\n  \"visibility\": \"public\",\n  \"operation\": \"search_rules\",\n  \"version\": 1,\n  \"input\": {\n    \"sort\": \"relevance\",\n    \"topic\": \"PFAS drinking water\",\n    \"agency\": \"EPA\",\n    \"max_results\": 5,\n    \"document_type\": \"proposed_rule\",\n    \"published_after\": \"2025-09-29\",\n    \"published_before\": \"2026-09-29\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@federal-register",
  "visibility": "public",
  "operation": "search_rules",
  "version": 1,
  "input": {
    "sort": "relevance",
    "topic": "PFAS drinking water",
    "agency": "EPA",
    "max_results": 5,
    "document_type": "proposed_rule",
    "published_after": "2025-09-29",
    "published_before": "2026-09-29"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/federal-register`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `search_rules`: Search rules. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-federal-register https://api.fous.com/mcp/tools/federal-register --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find proposed rules about a policy topic.
- Track agency documents published within a date range.
- Identify documents with comment periods still open.
- Review rule effective dates and comment deadlines.
- Collect document titles, summaries, and publication details.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Federal Register tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Federal Register account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from federalregister.gov when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### Which proposed rules mention a particular topic?

Use Search rules with the topic and document type set to proposed rules.

### Which documents are open for public comment?

Use Search rules with open for comment only enabled.

### When does a rule take effect?

Search rules returns effective dates when listed.

## Related

- [Grants.gov API](https://fous.com/tools/grants-gov.md): U.S. federal grant opportunities and application information.
- [eCFR API](https://fous.com/tools/ecfr.md): Official continuously updated Code of Federal Regulations.
- [Congress.gov API](https://fous.com/tools/congress-gov.md): Congress.gov returns federal bills and resolutions matching topic, Congress, status, or chamber, and provides an individual bill’s status, summary, titles, actions, and related bills; summaries may be unavailable.
- [SAM.gov API](https://fous.com/tools/sam-gov.md): U.S. federal contract opportunities and government notices.
- [USAJOBS API](https://fous.com/tools/usajobs.md): Federal government job listings and announcements.
- [National Archives API](https://fous.com/tools/national-archives.md): Search the public U.S. National Archives Catalog for historical records.
- [FBI API](https://fous.com/tools/fbi.md): Federal Bureau of Investigation wanted notices and public safety information.
- [Find Case Law API](https://fous.com/tools/find-case-law.md): Search official UK court judgments and tribunal decisions from The National Archives.
- [All Legal tools](https://fous.com/tools/category/legal)
