Data source: Regulations.gov API (US GSA)
Overview
Regulations.gov (US Federal Rulemaking) wraps Regulations.gov API (US GSA), handling authentication, pagination, and rate limits for you. This tutorial covers all 6 tools with working code examples you can copy and run.
Prerequisites
- Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
- Choose your integration method: MCP protocol or REST API.
Connect via MCP
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gnist-regulations-gov": {
"url": "https://context.gnist.ai/mcp/regulations-gov/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Tools (6)
search_documents
Search US federal regulatory documents on Regulations.gov. Covers proposed rules, final rules, notices, and supporting materials from all federal agencies (EPA, FDA, SEC, DOT, etc.). Use to find active rulemaking, comment periods, and regulatory actions. Returns: List of matching documents with title, agency, docket, posting date, and whether the document is open for public comment. Use document id with get_document for full details.
| Parameter | Type | Required | Description |
|---|---|---|---|
search_term | string | required | Search term for federal regulatory documents (e.g. "clean air", "data privacy", "drug safety"). |
agency_id | any | optional | Filter by agency abbreviation (e.g. 'EPA', 'FDA', 'DOT', 'SEC', 'NHTSA'). |
document_type | any | optional | Filter by type: 'Proposed Rule', 'Rule', 'Supporting & Related Material', 'Other'. |
posted_date_from | any | optional | Filter documents posted on or after this date (YYYY-MM-DD). |
posted_date_to | any | optional | Filter documents posted on or before this date (YYYY-MM-DD). |
docket_id | any | optional | Filter by docket ID (e.g. 'EPA-HQ-OAR-2023-0434'). |
page_size | integer | optional | Number of results (5–25, default 25). (default: 25) |
curl -X POST "https://context.gnist.ai/mcp/regulations-gov/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_documents", "arguments": {"search_term": "clean air"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/regulations-gov/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'search_term': 'clean air'},
'name': 'search_documents'}},
)
print(resp.json())
get_document
Get detailed information about a specific federal regulatory document. Returns the full document record including agency, docket, dates, Federal Register number, and comment period details. Returns: Document details including agency, docket, posting and comment dates, and Federal Register number. Returns found=false if not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id | string | required | Regulations.gov document ID (e.g. "EPA-HQ-OAR-2023-0434-1020"). Found in search results. |
curl -X POST "https://context.gnist.ai/mcp/regulations-gov/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_document", "arguments": {"document_id": "EPA-HQ-OAR-2023-0434-1020"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/regulations-gov/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'document_id': 'EPA-HQ-OAR-2023-0434-1020'},
'name': 'get_document'}},
)
print(resp.json())
search_dockets
Search US federal regulatory dockets (rulemaking proceedings). A docket is a container for all documents related to a single rulemaking action. Use to find ongoing regulatory proceedings, track rulemaking history, and understand the scope of regulatory activity by agency. Returns: List of matching dockets with title, agency, type, and last modified date. Use docket id with get_docket for details, or filter search_documents by docket_id.
| Parameter | Type | Required | Description |
|---|---|---|---|
search_term | string | required | Search term for regulatory dockets (e.g. "emissions standards", "drug approval", "financial reporting"). |
agency_id | any | optional | Filter by agency abbreviation (e.g. 'EPA', 'FDA', 'SEC'). |
page_size | integer | optional | Number of results (5–25, default 25). (default: 25) |
curl -X POST "https://context.gnist.ai/mcp/regulations-gov/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_dockets", "arguments": {"search_term": "emissions standards"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/regulations-gov/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'search_term': 'emissions standards'},
'name': 'search_dockets'}},
)
print(resp.json())
get_docket
Get details for a specific regulatory docket. Returns: Docket details including title, agency, type, and last modified date. Returns found=false if not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
docket_id | string | required | Docket ID (e.g. "EPA-HQ-OAR-2023-0434"). Found in search results or document records. |
curl -X POST "https://context.gnist.ai/mcp/regulations-gov/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_docket", "arguments": {"docket_id": "EPA-HQ-OAR-2023-0434"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/regulations-gov/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'docket_id': 'EPA-HQ-OAR-2023-0434'},
'name': 'get_docket'}},
)
print(resp.json())
search_comments
Search public comments submitted on federal regulations. Comments are submitted by individuals, organizations, and other stakeholders during public comment periods on proposed rules and notices. Returns: List of matching comments with title, agency, docket, and posting date.
| Parameter | Type | Required | Description |
|---|---|---|---|
search_term | string | required | Search term for public comments (e.g. "oppose", "support", "environmental impact"). |
agency_id | any | optional | Filter by agency abbreviation. |
docket_id | any | optional | Filter by docket ID to see comments on a specific rulemaking. |
page_size | integer | optional | Number of results (5–25, default 25). (default: 25) |
curl -X POST "https://context.gnist.ai/mcp/regulations-gov/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_comments", "arguments": {"search_term": "oppose"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/regulations-gov/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'search_term': 'oppose'}, 'name': 'search_comments'}},
)
print(resp.json())
report_feedback
Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: general) |
curl -X POST "https://context.gnist.ai/mcp/regulations-gov/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/regulations-gov/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())
Common Patterns
Use
search_documents to find items, then get_document to get full details. This two-step pattern is common for exploring data before drilling down.Several tools support
limit, offset, or page parameters. Start with small limits during development, then increase for production queries.FAQ
What data does Regulations.gov (US Federal Rulemaking) provide?
US federal rulemaking — search proposed rules, final rules, notices, and public comments across all federal agencies via Regulations.gov. It exposes 6 tools: search_documents, get_document, search_dockets, get_docket, search_comments, report_feedback.
What do I need to get started?
A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.
What format does the Regulations.gov (US Federal Rulemaking) API return?
JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.