GnistAI GnistAI
Log in

Getting Started with Regulations.gov (US Federal Rulemaking)

US federal rulemaking — search proposed rules, final rules, notices, and public comments across all federal agencies via Regulations.gov.

All Tutorials   |   Overview   |   Playground   |   MCP   |   REST API   |   Home
Government

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

  1. Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
  2. Choose your integration method: MCP protocol or REST API.

Connect via MCP

Add to your MCP client config (Claude Desktop, Cursor, etc.):

MCP Config
{
  "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.

ParameterTypeRequiredDescription
search_termstringrequiredSearch term for federal regulatory documents (e.g. "clean air", "data privacy", "drug safety").
agency_idanyoptionalFilter by agency abbreviation (e.g. 'EPA', 'FDA', 'DOT', 'SEC', 'NHTSA').
document_typeanyoptionalFilter by type: 'Proposed Rule', 'Rule', 'Supporting & Related Material', 'Other'.
posted_date_fromanyoptionalFilter documents posted on or after this date (YYYY-MM-DD).
posted_date_toanyoptionalFilter documents posted on or before this date (YYYY-MM-DD).
docket_idanyoptionalFilter by docket ID (e.g. 'EPA-HQ-OAR-2023-0434').
page_sizeintegeroptionalNumber 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.

ParameterTypeRequiredDescription
document_idstringrequiredRegulations.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.

ParameterTypeRequiredDescription
search_termstringrequiredSearch term for regulatory dockets (e.g. "emissions standards", "drug approval", "financial reporting").
agency_idanyoptionalFilter by agency abbreviation (e.g. 'EPA', 'FDA', 'SEC').
page_sizeintegeroptionalNumber 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.

ParameterTypeRequiredDescription
docket_idstringrequiredDocket 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.

ParameterTypeRequiredDescription
search_termstringrequiredSearch term for public comments (e.g. "oppose", "support", "environmental impact").
agency_idanyoptionalFilter by agency abbreviation.
docket_idanyoptionalFilter by docket ID to see comments on a specific rulemaking.
page_sizeintegeroptionalNumber 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'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (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

Search then retrieve
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.
Pagination
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.

Next Steps

Related Tutorials