Search a bill's full statutory text by section (GovInfo)
search_bill_textFull-text search of a bill's statutory text (bill text / legislative text), parsed from GovInfo Bill DTD XML with segment-level FTS5, returning matching sections with the U.S. Code and Public Law citations they amend.
Instructions
Full-text search of a bill's statutory text (bill text / legislative text), parsed from
GovInfo Bill DTD XML with segment-level FTS5, returning matching sections with the
U.S. Code and Public Law citations they amend.
Use this to answer "what does bill X say about Y" without reading the whole bill.
Queries match as LITERAL PHRASES WITH STEMMING -- not bag-of-words, and not semantically.
A query hits only where the bill contains that phrase verbatim, so a description of a topic
finds nothing: "Space Force end strength" returns zero against a bill containing both "End
strengths for active forces" and "Space Force". Prefer several short phrases you expect to
appear verbatim, plus synonyms, in one call, e.g. ["icebreaker", "polar security cutter"];
matched_queries reports which phrasing produced each hit, so you can drop the dead ones next call.
A query that matches nothing gets an entry in query_diagnostics saying why, so zero hits is
readable rather than ambiguous. verdict "phrasing" means every term IS in the bill but not as
this contiguous phrase -- rephrase, do not conclude the bill is silent. verdict "absent_term"
means absent_terms appear nowhere in the bill, so no rephrasing of them will help. terms shows
the stemmed tokens actually searched ("Force" -> "forc"), which is where a phrase stops
meaning what you typed.
Knowing a provision as codified law does NOT establish where it sits in THIS bill. Division,
title, and section numbers are properties of this document, and these tools are the only
source for them -- answering a bill-location question from prior knowledge produces a
confident, correctly-quoted, wrongly-cited answer. Call the tool instead.
If "quoted" appears in match_contexts, the hit may include language the bill is removing,
even when "operative" also appears; presence of "quoted" governs. Each amends entry is
{kind: "usc"|"public_law", cite}. amends is a convenience, never a complete list of what a
section amends: it resolves no named Acts (including the IRC by bare section number), no
chapter- or title-level amendments, and no non-U.S. Code targets. A NON-EMPTY amends can
still be short -- a populated list is not evidence it is the whole list, and nothing
distinguishes three-of-three from three-of-four. Treat it as citations found, not citations
present; use is_amendatory and match_contexts to identify amendatory text, and read the
section to enumerate its targets. max_hits is clamped to 1-50.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | ||
| queries | Yes | ||
| version | No | ||
| congress | Yes | ||
| max_hits | No | ||
| bill_type | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||