Skip to main content
POST
Get metadata for many statute sections

Authorizations

Authorization
string
header
required

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

Body

application/json

Batch metadata lookup. See POST /us/statutes/sections.

actIds
string[]
required

Section identifiers from a prior /us/statutes/search response. Up to 50 per call. Duplicates are collapsed, and order is preserved in the response. Each id encodes the citation's hierarchy: USC_T42_C21_S1983 is Title 42, Chapter 21, Section 1983. DO NOT BUILD THESE FROM A CITATION: the chapter/article/part segments exist only in the data, so Tex. Property Code § 93.005 is STATE_TX_Cpr_C93_S93.005, not STATE_TX_C93_S93.005. Assembled ids miss, and notFoundDetail will say so and suggest the real ones. To start from a citation, use /us/statutes/resolve.

Required array length: 1 - 50 elements
Example:
includeBody
boolean
default:false

Return each section's full text inline on body, instead of metadata only. Adds the ordinary body price per row that returns text, so 20 ids resolving 20 bodies is 40 + 120 = 160 credits. Rows whose text cannot be resolved come back with body: null and are not charged for it, so read creditsConsumed rather than computing the total. Without this, use /us/statutes/section/{actId}/body one id at a time.

Example:

true

Response

Sections found, plus any ids that did not resolve.

Response for POST /us/statutes/sections.

sections
StatuteResult · object[]

Found sections, in the order the ids were supplied.

notFound
string[]

Identifiers with no match. These are NOT charged, so a batch with misses costs less than len(actIds) times the per-section rate.

notFoundDetail
StatuteSectionsNotFoundDetail · object[]

One entry per id in notFound, saying whether the id was assembled rather than taken from a search result, and suggesting the real ids where they could be recovered. Diagnostic only and never charged; it can come back empty if the lookup is unavailable, so treat it as a hint rather than a contract.

count
integer
default:0

Number of sections returned.

processingTimeMs
number
default:0

Server-side time for this request in milliseconds, excluding network transit. Useful for spotting a slow query; not billed on.

Example:

240.5

creditsConsumed
number
default:0

Credits actually charged for this call. Read it rather than assuming the list price: failed and refunded work bills 0, and batch endpoints charge per item returned, so a partial result costs less than a full one.

Example:

4

Last modified on September 18, 2026