search_documents
Read-only
Search Federal Register documents.
The primary tool for finding proposed rules, final rules, notices,
and presidential documents published in the Federal Register since 1994.
Key parameters:
- agencies: list of agency URL slugs (OR logic). Use list_agencies() to find slugs.
Common: 'defense-department', 'general-services-administration',
'small-business-administration', 'defense-acquisition-regulations-system'
(DFARS), 'federal-procurement-policy-office' (OFPP and the CAS Board)
- far_council: True for FAR rules, proposed rules and notices (the FAR
Council's output). There is no single FAR agency slug: FAR documents
are filed jointly under DoD, GSA and NASA, OFPP was added only from
about mid-2025 (so the OFPP slug misses earlier FAR rules and adds CAS
Board documents), and 'federal-acquisition-regulation-system' holds 2
documents ever. far_council=True keeps documents filed by all three of
DoD, GSA and NASA; count is exact when far_council.complete is true
(narrow by date if not). Cannot be combined with agencies. For FAR
clause changes only, cfr_title=48 + cfr_part='1-99' also works.
- doc_types: PRORULE (proposed rule), RULE (final rule), NOTICE, PRESDOCU
- term: full-text keyword search (strips stop words)
- docket_id: docket identifier (token match). 'FAR Case 2023-008' = exact,
'FAR Case 2023' = all 2023 cases; partial tokens like 'FAR Case 20'
match nothing
- regulation_id_number: RIN (precise match, e.g., '9000-AO56')
- pub_date_gte/lte: publication date range (YYYY-MM-DD)
- comment_date_gte/lte: comment close date range
- effective_date_gte/lte: effective date range
- correction: True finds only the Office of the Federal Register's own
correction notices (C1- prefix documents). Agency-issued corrections
('Final rule; correction.', 'Correcting amendment.') are ordinary RULE
documents and are not flagged: search doc_types=['RULE'] with
term='correction' and check each document's action.
- significant: True for EO 12866 significant rules only
- cfr_title + cfr_part: documents affecting a CFR location, e.g.
cfr_title=48, cfr_part='52' for FAR part 52 (part accepts ranges
like '1-99'; cfr_part requires cfr_title)
- presidential_document_type: executive_order, proclamation, memorandum,
determination, notice, presidential_order, other. Use
['executive_order'] to count or list executive orders: doc_types=
['PRESDOCU'] alone also returns proclamations, memoranda and notices.
- executive_order_number: one EO by number (e.g. 14275)
- order: 'executive_order_number' sorts EOs by number (pair it with
presidential_document_type=['executive_order'])
Presidential documents carry executive_order_number, subtype (Executive
Order, Proclamation, Memorandum, ...), signing_date and
presidential_document_number; other documents omit those keys.
Count caps at 10,000 for broad queries (count_capped=true says so); use
get_facet_counts for the true number, or narrower date ranges.
per_page capped at 100 to stay within MCP response size limits.
Paging: the Federal Register serves only pages 1-50 of any search (a
later page silently comes back as page 1), so page > 50 is refused.
total_pages is the true page count; when it passes 50,
max_reachable_page and paging_note say how to reach the rest (per_page=100
reaches 5,000 documents; split the publication date range beyond that).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| term | No | ||
| order | No | newest | |
| agencies | No | ||
| cfr_part | No | ||
| per_page | No | ||
| cfr_title | No | ||
| doc_types | No | ||
| docket_id | No | ||
| correction | No | ||
| far_council | No | ||
| significant | No | ||
| pub_date_gte | No | ||
| pub_date_lte | No | ||
| comment_date_gte | No | ||
| comment_date_lte | No | ||
| effective_date_gte | No | ||
| effective_date_lte | No | ||
| regulation_id_number | No | ||
| executive_order_number | No | ||
| presidential_document_type | No |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||