actId from the results, fetch that section’s metadata and full text, and discover what is queryable.
Every path is prefixed with /api/v1 and every request needs an Authorization: Bearer vq_key_... header.
1
Get an API key
Create a key in your dashboard under API Keys. Copy it once, it will not be shown again. See Authentication for details.
2
Make your first search
Send a natural language query to A trimmed response looks like this. The top-level fields describe the page, and each
POST /statutes/search. Scope it with corpusType and state for tighter results.results entry carries a citation, an excerpt, and links to the official source.total is the count returned on this page, not the corpus-wide match count. Use hasMore to decide whether to fetch the next page. See Pagination.3
Fetch the section and its body
Take an
actId from the results (for example USC_T42_C21_S1983). Call GET /statutes/section/{actId} for metadata, and GET /statutes/section/{actId}/body for the full text.4
Discover coverage
The corpus grows weekly. Call
GET /statutes/coverage to see the corpus legend and, for each jurisdiction, which corpusType tokens have data. Pass one of those tokens back into /statutes/search.Next steps
Pagination
Page through search results with
limit, offset, and hasMore.Rate limits
Per-plan limits and how to back off on a 429.
Best practices
Scope queries, cache coverage, and handle errors well.

