null.
Text from the body endpoint
GET /us/statutes/section/{actId}/body returns the section’s text in several
forms at once.
Always check
available first.
Use html when you are displaying the section in a UI and want its structure
preserved, plain when you want the publisher’s whole body as text.
Telling the law from the apparatus
plain and html are the WHOLE body as the publisher prints it: the operative
text, then the source credit, then the notes apparatus (historical and revision
notes, committee reports, editorial notes, amendments, effective-date notes).
For United States Code sections that body is mostly not the law.
Measured 2026-09-02, the operative text is a median 46% of it across USC, and as
little as 3.4% on 17 U.S.C. § 107, where 28,529 of 29,775 characters are
commentary.
So the granule is split into three additional fields, using the field delimiters
GPO publishes in the source: content is the operative text and nothing else,
sourceCredit is the credit line, and notes is the apparatus, kept because it
is the legislative history.
Choosing what comes over the wire: format
format selects which representations are returned.
Cost is unchanged at 6 credits whichever you pick: the fetch is the same either
way, so this buys payload size, not price.
On
17 U.S.C. § 107, format=content is about 1 KB over the wire instead of
about 30 KB, for the same price.
Only USC sections can be split, so on any other corpus format=content returns
no text at all.
Check content for null and fall back to plain if you are not sure which
corpus you have.
Citing where the text came from
sourceUrl is where the government published this text.
Cite and verify against that, not against source, which names our storage
backend and is not a citation.
sourceUrl is null when we hold no official link for the section.
We never substitute a third-party compiler, so an absent link is the correct
answer rather than a gap you should work around.
Point-in-time text: asOf
Pass asOf=YYYY-MM-DD to get the text as it stood on that date instead of
today’s, at the same 6 credits.
The response then carries an asOf block saying which version you are holding
and how far the evidence for it reaches.
It is a reconstruction rather than an archive, and asOf.isBounded is the field
that says so.
See Response Fields for the full block
and how to read it before citing the text.
Structured text and pincites
Pass?structured=true to GET /us/statutes/section/{actId}/body for two more
representations parsed from the text, at no extra cost:
Each node in
subsections carries its marker and where it sits:
subsections is derived from the section text by the drafting convention
((a) subsection, (1) paragraph, (A) subparagraph, (i) clause). It is
richest for USC and CFR; a section with no marked subsections returns
subsections: [] with markdown equal to the plain text. Use pincite or
citation to deep-link or quote a specific subsection.Source URL fields
Search results and the section metadata object carry a set of source URL fields. These point at the original files the publisher hosts. Any of them may benull
depending on what that source offers:
The government links (
stateHtmlUrl, govInfoHtmlUrl, govInfoPdfUrl) let
you deep-link users straight back to authoritative text on the state
legislature’s site or govinfo.gov. That is the recommended way to cite a
source in your product.Picking the best available format
Because fields can benull, choose the best format that is present rather than
assuming one exists. This helper prefers an official government link, then falls
back through the other formats:
Related
Section Identifiers
How to get an actId and fetch a section’s metadata and body.
Corpus Types
The corpusType tokens you filter a search by.

