Skip to main content
A section can come back in more than one form. The API gives you rendered text directly, plus links to the original files the source publishes. Which formats exist depends on what the underlying government source makes available, so any given field may be 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.
If you are feeding sections to a model, use content. A model handed the full body will quote a 1992 amendment note as the law in force, and it will look right.⚠️ USC only. CFR and the state corpora carry no equivalent structure in their sources, so all three fields are null there and plain remains the whole body. Null means “we cannot split this reliably”, never “this section is empty”.

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 be null 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 be null, 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:
For displaying the text itself, prefer html from the /body endpoint. For citing where it came from, prefer an official government link (govInfoHtmlUrl or stateHtmlUrl) so readers can verify against the authoritative source.

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.
Last modified on September 6, 2026