Regulations.gov Crawler - Rules, Dockets, Public Comments avatar

Regulations.gov Crawler - Rules, Dockets, Public Comments

Pricing

Pay per event

Go to Apify Store
Regulations.gov Crawler - Rules, Dockets, Public Comments

Regulations.gov Crawler - Rules, Dockets, Public Comments

Query the official regulations.gov v4 API for federal rules, proposed rules, notices, dockets, and public comments. Filter by agency, document type, docket, date range, and keywords. Requires a free API key.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Query the official regulations.gov v4 API for federal rulemaking. Returns rules, proposed rules, notices, dockets, and public comments — all three endpoints from one actor, covering 2M+ documents, 400K+ dockets, and 20M+ comments submitted to the federal government.


Regulations.gov Crawler Features

  • Covers three endpoints from a single actor — documents, dockets, and public comments
  • Filters by agency, document type, docket ID, date range, and full-text keyword
  • Returns clean JSON with consistent field names across all three record types
  • Pure JSON API — no browser, no proxies, no anti-bot theater
  • Rate-limit aware — a 4-second courtesy delay keeps runs well under the api.data.gov quota
  • Handles your own api.data.gov key if you have one, so you can crank through 1,000 requests per hour

Who Uses Regulations.gov Data?

  • Compliance teams — Track new rules affecting their industry without paying SaaS rent to Bloomberg Government
  • Law firms — Monitor rulemaking dockets in their practice areas and stay ahead of client questions
  • Policy researchers — Analyze public comments on proposed rules to understand stakeholder positions
  • Trade associations — Watch agency activity and flag anything that could rearrange their members' Monday
  • Regulatory intelligence products — Feed structured federal rulemaking data into internal dashboards and client alerts

How Regulations.gov Crawler Works

  1. Pick a data type — documents, dockets, or comments.
  2. Narrow the query with optional filters: agency acronym, document type, docket ID, date range, search term.
  3. The actor hits the regulations.gov v4 API, paginates up to the API's 20-page hard cap (5,000 records per query), and writes each record to your dataset.
  4. Get a free api.data.gov key if you plan to run this more than a couple times an hour. It takes a minute and doubles your effective throughput.

Input

{
"apiKey": "your-free-api-data-gov-key",
"dataType": "documents",
"searchTerm": "climate",
"agencyId": "EPA",
"documentType": "Rule",
"postedDateFrom": "2025-01-01",
"postedDateTo": "2026-04-01",
"sortBy": "-lastModifiedDate",
"maxItems": 500
}
FieldTypeDefaultDescription
apiKeystring(empty)Your free api.data.gov key. Get one at open.gsa.gov/api/regulationsgov. Optional but strongly recommended — without it you share a global DEMO_KEY quota.
dataTypestringdocumentsWhich endpoint to hit: documents, dockets, or comments.
searchTermstring(empty)Full-text search across titles and abstracts.
documentTypestring(empty)Documents-only filter: Rule, Proposed Rule, Notice, Supporting & Related Material, Other.
docketTypestring(empty)Dockets-only filter: Rulemaking or Nonrulemaking.
agencyIdstring(empty)Agency acronym: EPA, FAA, SEC, DOT, FDA, FCC, NRC, etc.
docketIdstring(empty)Filter to a specific docket (e.g., EPA-HQ-OAR-2023-0234). Documents and comments only.
postedDateFromstring(empty)Return records posted on or after this date (YYYY-MM-DD).
postedDateTostring(empty)Return records posted on or before this date (YYYY-MM-DD).
sortBystring-lastModifiedDateSort order: -lastModifiedDate, lastModifiedDate, -postedDate, postedDate, title.
maxItemsinteger100Max records to return. API hard cap is 5,000 per query — narrow filters for larger datasets.

Example: All EPA Final Rules Posted in the Last Month

{
"dataType": "documents",
"agencyId": "EPA",
"documentType": "Rule",
"postedDateFrom": "2026-03-19",
"maxItems": 500
}

Example: Public Comments on a Specific Docket

{
"dataType": "comments",
"docketId": "EPA-HQ-OAR-2023-0234",
"sortBy": "-postedDate",
"maxItems": 1000
}

Example: Rulemaking Dockets From the FAA

{
"dataType": "dockets",
"agencyId": "FAA",
"docketType": "Rulemaking",
"maxItems": 200
}

Regulations.gov Crawler Output Fields

All three endpoints share a consistent schema. Fields that do not apply to a given record type are returned as empty strings.

Document Record

{
"recordType": "document",
"id": "FAA-2026-3471-0001",
"objectId": "09000064b925548c",
"title": "Airworthiness Directives: The Boeing Company Airplanes",
"documentType": "Proposed Rule",
"subtype": "Request for Comment",
"agencyId": "FAA",
"docketId": "FAA-2026-3471",
"docketType": "",
"frDocNum": "2026-06691",
"commentStartDate": "2026-04-07T04:00:00Z",
"commentEndDate": "2026-05-23T03:59:59Z",
"postedDate": "2026-04-07T04:00:00Z",
"lastModifiedDate": "2026-04-19T09:00:22Z",
"withinCommentPeriod": true,
"openForComment": true,
"withdrawn": false,
"allowLateComments": false,
"commentOnId": "",
"commentOnDocumentId": "",
"url": "https://www.regulations.gov/document/FAA-2026-3471-0001",
"apiUrl": "https://api.regulations.gov/v4/documents/FAA-2026-3471-0001"
}

Docket Record

{
"recordType": "docket",
"id": "USCG-2019-0806",
"objectId": "0b00006483f8d57e",
"title": "Allegheny River mm 0-0.25, Pittsburgh, PA",
"documentType": "Rulemaking",
"agencyId": "USCG",
"docketType": "Rulemaking",
"lastModifiedDate": "2019-10-25T12:02:53Z",
"url": "https://www.regulations.gov/docket/USCG-2019-0806",
"apiUrl": "https://api.regulations.gov/v4/dockets/USCG-2019-0806"
}

Comment Record

{
"recordType": "comment",
"id": "EPA-R10-OW-2017-0369-1246",
"objectId": "0900006482ba59a6",
"title": "Comment submitted by J. Grimble",
"documentType": "Public Submission",
"agencyId": "EPA",
"docketId": "EPA-R10-OW-2017-0369",
"postedDate": "2017-10-11T04:00:00Z",
"lastModifiedDate": "2017-10-12T01:52:49Z",
"withdrawn": false,
"url": "https://www.regulations.gov/comment/EPA-R10-OW-2017-0369-1246",
"apiUrl": "https://api.regulations.gov/v4/comments/EPA-R10-OW-2017-0369-1246"
}

Field Reference

FieldTypeDescription
recordTypestringWhich endpoint produced the record: document, docket, or comment.
idstringRegulations.gov ID (e.g., EPA-HQ-OAR-2023-0234-0005).
objectIdstringInternal regulations.gov object identifier — useful for cross-referencing and for filtering comments by parent document.
titlestringRecord title.
documentTypestringDocument type or (for dockets) the docket type.
subtypestringDocument subtype (e.g., Final Rule, Interim Final Rule).
agencyIdstringAgency acronym (e.g., EPA, FAA, SEC).
docketIdstringParent docket ID (documents and comments).
docketTypestringRulemaking or Nonrulemaking (dockets only).
frDocNumstringFederal Register document number (documents only).
commentStartDatestringStart of comment period (ISO 8601).
commentEndDatestringEnd of comment period (ISO 8601).
postedDatestringDate the record was posted.
lastModifiedDatestringLast modification timestamp.
withinCommentPeriodbooleanWhether the comment period is currently open.
openForCommentbooleanWhether the record is currently accepting comments.
withdrawnbooleanWhether the record has been withdrawn.
allowLateCommentsbooleanWhether late comments are permitted.
commentOnIdstringObject ID of the parent document (comments only).
commentOnDocumentIdstringDocument ID the comment is on (comments only).
urlstringPublic regulations.gov URL for the record.
apiUrlstringAPI URL for fetching the full detail record (including attachments, CFR parts, effective dates, topics, etc.).

For document-level details like CFR part, effective date, topics, page count, and attached file URLs, call apiUrl directly with the same API key. The list endpoint used here returns the summary fields; the detail endpoint returns everything.


FAQ

How do I scrape regulations.gov?

Regulations.gov Crawler hits the official v4 REST API. Pick a dataType (documents, dockets, or comments), add filters, and run it. No browser, no HTML parsing, no proxy.

Do I need an API key?

Regulations.gov Crawler works without one, but not very well. The shared DEMO_KEY is rate-limited to 10 requests per hour across all users of the API. Get a free key at open.gsa.gov/api/regulationsgov — it takes about a minute and bumps your quota to 1,000 requests per hour.

How much data can I pull in one run?

Regulations.gov Crawler is capped at 5,000 records per query by the API itself (20 pages × 250 records). For larger datasets, narrow your filters — by agency, date range, or docket — and run the actor multiple times. The date range filters are especially useful for slicing large agencies into monthly windows.

Can I get the full text of public comments?

Regulations.gov Crawler returns comment metadata and titles in the list response. Full comment text lives on the per-comment detail endpoint, which is linked as apiUrl on each record. The list endpoint would otherwise slow to a crawl under the API's strict rate limits.

Does this actor need proxies?

Regulations.gov Crawler is a public U.S. government API with no anti-bot measures. No proxy needed. The only throttling is the api.data.gov hourly quota, which a real API key solves.

How much does it cost to run?

Regulations.gov Crawler uses the standard PPE pricing model: $0.10 per run start plus $0.001 per record. A 500-record pull costs about $0.60. A full 5,000-record run is $5.10.


Need More Features?

Need detail-level fields (CFR parts, effective dates, attachments), a different endpoint, or bulk comment-text extraction? File an issue or get in touch.

Why Use Regulations.gov Crawler?

  • Covers all three endpoints — Documents, dockets, and comments in one actor. Other regulations.gov scrapers on the Apify store pick one and stop there.
  • Uses the official API — Structured JSON, stable schemas, no HTML parsing brittleness, no surprise 500s from the rendered site.
  • Bring your own key — The actor supports your own api.data.gov key so you can run it at full throughput without sharing a quota with strangers.