Skip to main content
POST
Search US statutes, constitutions, court rules, and executive actions
Run keyword and semantic search across the full US statute corpus: the US Code, the CFR, all 50 state codes, Federal Rules, and Executive Orders. Scope a query to a single jurisdiction or code, page through section-level results, and get each section’s citation, full text, and source metadata.

Authorizations

Authorization
string
header
required

API key issued from the Vaquill developer dashboard. Pass as Authorization: Bearer vq_key_...

Body

application/json
query
string
required

Search query in natural language.

Required string length: 2 - 500
Example:

"insider trading penalties"

corpusType
enum<string> | null

Restrict to one corpus. One of: USC (United States Code), CFR (Code of Federal Regulations), STATE (state statutory codes; call /statutes/states for the list of ingested jurisdictions), CONSTITUTION (U.S. Constitution), FEDERAL_RULES (FRCP / FRCrP / FRE / FRAP / FRBP), STATE_CONSTITUTION (state constitutions, currently CA/VA/NC/WI), STATE_RULES (state court rules, currently CA), EXECUTIVE_ACTION (Federal Register Presidential Documents), REGULATION (state administrative regulations; pair with state), FEDERAL_REGISTER (Federal Register agency rules, final and proposed), AGENCY_GUIDANCE (agency guidance: SSA rulings, IRS notices, revenue rulings and procedures). Omit to search across all corpora.

Available options:
USC,
CFR,
STATE,
CONSTITUTION,
FEDERAL_RULES,
STATE_CONSTITUTION,
STATE_RULES,
EXECUTIVE_ACTION,
REGULATION,
FEDERAL_REGISTER,
AGENCY_GUIDANCE
Example:

"CFR"

state
string | null

2-letter state code (lowercase, e.g. ca, tx, ny) used to filter state corpora. Ignored when corpusType is USC, CFR, CONSTITUTION, FEDERAL_RULES, or EXECUTIVE_ACTION.

Required string length: 2
Example:

"ca"

titleNumber
integer | null

Filter by USC/CFR title number (e.g., 17 for SEC, 42 for civil rights). Only meaningful for USC/CFR; ignored for state corpora whose titles are alphabetic (e.g. Texas pe = Penal Code).

Example:

17

limit
integer
default:10

Number of results to return per page.

Required range: 1 <= x <= 50
offset
integer
default:0

Number of results to skip for pagination. Combined with limit, the deepest reachable result is offset + limit. Deep paging is bounded by the reranking window, so offset is capped at 40. Use hasMore in the response to decide whether to request the next page.

Required range: 0 <= x <= 40

Response

Ranked sections for the query.

results
StatuteResult · object[]
total
integer
default:0

Number of results returned in this response (the size of results). This is the current page count, not the corpus-wide match total. Use hasMore to detect further pages.

offset
integer
default:0

The offset applied to this page.

hasMore
boolean
default:false

Whether more results exist beyond this page.

query
string
default:""

The search query used.

processingTimeMs
number
default:0
creditsConsumed
number
default:0