US Statutes

Browse the statutory hierarchy

Walk the statutory tree one level at a time, in statutory order. Each call returns the immediate children of wherever you are. Following every node down, and every nextCursor across, reaches every section the corpus holds for that scope, so a code can be enumerated without searching.

Cost: 1 credit. A request whose filters do not fit the corpus is rejected before anything is charged. So is a filter naming a container that does not exist, a browse that returns no rows, and a failure on our side: the credit is taken only once a level with rows is ready to return, so exploring the hierarchy never costs you anything for a level that turns out to be empty.

Pass the deepest level you already know; the response returns the level below it:

  • corpusType=USC -> the titles
  • corpusType=USC&titleNumber=42 -> the chapters in Title 42
  • corpusType=USC&titleNumber=18 -> the parts of Title 18 (a title whose chapters sit in parts, subtitles or divisions lists those first)
  • corpusType=USC&titleNumber=18&part=I -> the chapters in Part I of Title 18
  • corpusType=USC&titleNumber=8&chapter=12 -> the subchapters of Chapter 12 (a chapter with no subchapters lists its sections)
  • corpusType=USC&titleNumber=8&chapter=12&subchapter=II -> the parts of Subchapter II (Parts I to IX)
  • corpusType=USC&titleNumber=8&chapter=12&subchapter=II&part=I -> the sections in Part I (leaf)
  • corpusType=CFR&titleNumber=17 -> the chapters of Title 17 (a title with subtitles, such as 29, lists them first; a title whose parts sit in no chapter lists its parts)
  • corpusType=CFR&titleNumber=29&subtitle=B -> the chapters of Subtitle B of Title 29 (Subtitle A lists its parts directly)
  • corpusType=CFR&titleNumber=29&chapter=XIV -> the parts of Chapter XIV of Title 29
  • corpusType=CFR&titleNumber=17&part=240 -> the subparts and subject groups of Part 240 (a part with neither lists its sections)
  • corpusType=CFR&titleNumber=17&part=240&subpart=A -> the subject groups of Subpart A
  • corpusType=CFR&titleNumber=17&part=240&subpart=A&subjectGroup=Rules of General Application -> the sections in that subject group (leaf)
  • corpusType=CFR&titleNumber=17&part=240&subjectGroup=ECFRf2ef38fa463cdfa -> the same sections (leaf), by the group's eCFR id (a subject-group node's subjectGroupId)
  • corpusType=STATE&state=tx -> the state's codes
  • corpusType=STATE&state=tx&code=tx_pe -> the titles of the Texas Penal Code
  • corpusType=STATE&state=tx&code=tx_pe&title=5 -> the chapters in Title 5 of the Texas Penal Code
  • corpusType=STATE&state=tx&code=tx_gv&title=5&subtitle=B -> the chapters in Subtitle B of Title 5 of the Texas Government Code
  • corpusType=STATE&state=ca&code=ca_pen -> the parts of the California Penal Code
  • corpusType=STATE&state=ca&code=ca_edc&title=1&division=1&part=11&chapter=2 -> the articles of the Education Code's Chapter 2 in Part 11 (one of its many chapters numbered 2)
  • corpusType=STATE&state=ny&code=ny_jud&article=2 -> the sections in a New York article (leaf)
  • corpusType=STATE&state=il&code=il_225 -> the acts in 225 ILCS, a code that is a single chapter
  • corpusType=STATE&state=de&code=de_6&article=2 -> the parts of UCC Article 2 in Delaware Title 6, which sits outside any chapter
  • corpusType=STATE&state=de&code=de_6&article=2&part=2 -> the sections in Part 2 of UCC Article 2 (leaf)
  • corpusType=REGULATION&state=ny&code=ny_10&chapter=I -> the parts in Chapter I of 10 NYCRR
  • corpusType=STATE_RULES&state=tx -> the state's court rule sets (Rules of Civil Procedure, each county's local rules, ...)
  • corpusType=STATE_RULES&state=tx&code=HARRIS -> the rule sets inside Harris County's local rules, as kind: chapter
  • corpusType=STATE_RULES&state=wi&code=SCR61 -> the rules of Wisconsin SCR Chapter 61, which records no level inside it (leaf)
  • corpusType=CONSTITUTION -> the articles and amendments of the US Constitution
  • corpusType=CONSTITUTION&article=Article III -> the sections of Article III (leaf)
  • corpusType=STATE_CONSTITUTION&state=nm -> the articles of the New Mexico Constitution
  • corpusType=FEDERAL_RULES -> the rule sets (FRCP, FRE, FRCrP, ...)
  • corpusType=FEDERAL_RULES&code=frcp -> the Federal Rules of Civil Procedure (leaf)

Interior nodes carry a sectionCount and isLeaf: false; drill into one by passing its identifier back as the filter its kind names (title -> titleNumber on the U.S. Code and CFR and title inside a state code, chapter, subchapter, part, subpart, subtitle, division, subdivision, subjectGroup, code, article, act, and on state regulations umbrella, agency, program), keeping the filters you already passed. One listing can mix kinds: a state code lists its chapters, then the containers and loose sections outside them, a U.S. Code chapter lists any section outside a subchapter beside its subchapters, and a subchapter any section outside a part beside its parts. Read kind on each node rather than assuming it from level. Leaf nodes are sections and carry an actId for /us/statutes/section/{actId}.

A U.S. Code level does not sit at one fixed depth: Title 18's parts are above its chapters, while the parts of 8 U.S.C. ch. 12 are inside its subchapters. Pass each level a listing returned, in any order; a number that fits more than one place (part=I in a chapter whose subchapters each have a Part I) is refused with the containers to add. A CFR subject group has no stable number, so its identifier is its heading, matched case-insensitively.

A state level is listed only where the corpus records it, so which levels a code has is read from its own sections, never assumed: a code whose sections record a title, subtitle or division above their chapters (Texas titles and subtitles, California's divisions, parts and titles, Maryland's titles and subtitles) lists that level first, and each listing below it names the next level those sections record. Some codes record no level below the code (Colorado titles list their articles; Louisiana's Civil Code lists its sections directly), and note says so. A number that repeats inside one code (a California chapter 2 sits in dozens of parts) names one container only together with the levels above it; passed alone, it lists the sections of every container that carries it, flat, with a note. A state subtitle or division is never matched across titles: pass the title it sits in. State regulations that print the agency above their chapters (Maine umbrellas and agencies, Wyoming programs, Virginia agencies) list it as kind: agency, program or umbrella, and a chapter number repeated under two of them names one container only together with its agency.

Court rules (STATE_RULES) list a state's rule sets first, as kind: code. Inside a rule set, each container its rules' records name (a chapter, part, division, district or heading) is listed with the filter that drills into it as kind: chapter for the first level, then part, subchapter, article and act, whatever the publisher calls the level, with the publisher's heading as name. Keep code and every filter you already passed.

A listing larger than one response pages: truncated is true and nextCursor continues it. Pass the cursor back with the same filters until it comes back null. If note says a listing could not hold everything, it also says where the rest is.

Browse supports USC, CFR, STATE, REGULATION, STATE_RULES, CONSTITUTION, STATE_CONSTITUTION and FEDERAL_RULES, which is also what browsable says on each GET /us/statutes/coverage legend entry. The rest are dated series or share no tree, so use /us/statutes/search for those.

Federal rules are published twice: by the Judicial Conference at uscourts.gov (frcp, fre, ...) and as an appendix to the U.S. Code (uscapp_t28a_fre, ...). Each is its own rule set here, so neither is listed twice under one heading.

get/api/v1/us/statutes/divisions

Request

Query parameters

corpusType'USC' | 'CFR' | 'STATE' | 'REGULATION' | 'STATE_RULES' | 'CONSTITUTION' | 'STATE_CONSTITUTION' | 'FEDERAL_RULES' required

Corpus to browse. Case-insensitive. The browsable subset of the corpusType tokens on /us/statutes/coverage.

Example:USC
state'al' | 'ak' | 'as' | 'az' | 'ar' | 'ca' | 'co' | 'ct' | 'de' | 'dc' | 'fl' | 'ga' | 'gu' | 'hi' | 'id' | 'il' | 'in' | 'ia' | 'ks' | 'ky' | 'la' | 'me' | 'md' | 'ma' | 'mi' | 'mn' | 'ms' | 'mo' | 'mt' | 'ne' | 'nv' | 'nh' | 'nj' | 'nm' | 'ny' | 'nc' | 'nd' | 'mp' | 'oh' | 'ok' | 'or' | 'pa' | 'pr' | 'ri' | 'sc' | 'sd' | 'tn' | 'tx' | 'ut' | 'vt' | 'vi' | 'va' | 'wa' | 'wv' | 'wi' | 'wy' nullable

2-letter jurisdiction code, required for the state-scoped corpora (STATE, REGULATION, STATE_RULES, STATE_CONSTITUTION). Case-insensitive.

Example:tx
integer
OR
'5a' | '18a'
codestring nullable

Code to drill into: a state code such as tx_pe (list them with corpusType=STATE&state=<state>), a federal rule set such as frcp (list them with corpusType=FEDERAL_RULES), or a state court rule set such as HARRIS (list them with corpusType=STATE_RULES&state=<state>).

Example:tx_pe
chapterstring nullable

Chapter identifier to drill into (USC, CFR and state codes), or the first level inside a court rule set (a node with kind: chapter; needs code). On CFR it lists the chapter's parts (needs titleNumber); accepted alongside part, where it is not needed: part numbers are unique within a title.

Example:21
partstring nullable

Part to drill into: a CFR part, a U.S. Code part (Title 18 Part I, or Parts I to IX of 8 U.S.C. ch. 12 subch. II; needs titleNumber), or a part of a state code or court rule set wherever a listing returned one with kind: part (NYCRR, Mississippi and Colorado regulations and statutes, Pennsylvania court rules). On a state code or rule set it needs code.

Example:240
articlestring nullable

Article to drill into: a constitution's article or amendment (Article III, Amendment XIV), or an article of a state code wherever a listing returned one with kind: article (New York's codes, or the UCC articles outside any chapter in Delaware Title 6), or of a court rule set (kind: article, Pennsylvania's Rules of Evidence). On a state code it can be combined with chapter to narrow to one article within that chapter. Pass the identifier exactly as the listing returned it.

Example:Article III
excludeRepealedboolean

Leave out sections whose status is affirmatively dead (repealed, superseded, renumbered and similar). A section carrying no recorded status is KEPT: a missing status is not evidence of repeal. Same vocabulary as the filter of this name on POST /us/statutes/search.

actStatus'abolished' | 'deleted' | 'expired' | 'in_force' | 'inactive' | 'non_precedential' | 'not_funded' | 'not_yet_effective' | 'omitted' | 'proposed' | 'recodified' | 'recompiled' | 'rejected' | 'relocated' | 'removed' | 'renumbered' | 'repealed' | 'rescinded' | 'reserved' | 'revoked' | 'superseded' | 'terminated' | 'transferred' | 'unconstitutional' | 'vacant' | 'vacated' | 'vetoed' | 'withdrawn' nullable

List only sections carrying this status, e.g. repealed. The inverse of excludeRepealed, and useful for auditing what a container holds that is no longer operative.

subchapterstring nullable

The subchapter to list, as a listing returned it (kind: subchapter): a U.S. Code subchapter (needs titleNumber and chapter), a CFR subchapter a listing returned directly under a subtitle (45 CFR Subtitle A; needs titleNumber), or a state or court-rule subchapter (needs code). Case-insensitive.

Example:II
actstring nullable

The act to list, as a listing returned it (kind: act): an Illinois act inside an ILCS chapter or a Pennsylvania unconsolidated act (needs code), or an Act inside a U.S. Code title's Appendix, such as Pub. L. 96-456 (needs titleNumber 5a or 18a).

Example:410
titlestring nullable

State codes and regulations only: the title inside a code to list, as a listing returned it (kind: title), such as Title 5 of the Texas Penal Code. Needs code. A U.S. Code or CFR title is titleNumber.

Example:5
subtitlestring nullable

The subtitle to list, as a listing returned it (kind: subtitle): a U.S. Code or CFR subtitle such as Subtitle A of Title 26 or Subtitle B of Title 29 CFR (needs titleNumber), or a subtitle of a state code such as Subtitle B of Title 5 of the Texas Government Code (needs code and the title it sits in).

Example:A
divisionstring nullable

The division to list (kind: division): a U.S. Code division, as in Title 54 or 42 U.S.C. ch. 157 (needs titleNumber), or a division of a state code or regulation code, as in California's codes (needs code, and the levels above it that the listing returned).

Example:A
subdivisionstring nullable

U.S. Code only: the subdivision to list (kind: subdivision, Title 54). Needs the division it belongs to.

Example:1
subpartstring nullable

The subpart to list (kind: subpart): a U.S. Code subpart (needs the part it belongs to and titleNumber), a CFR subpart (needs titleNumber and part), or a subpart of a state regulation code such as Louisiana's or Mississippi's (needs code, and the part it sits in). Case-insensitive.

Example:A
umbrellastring nullable

State regulations only: the umbrella to list (kind: umbrella), as a listing returned it. Maine groups its agencies under a department umbrella (10 is the Department of Health and Human Services). Needs code.

Example:10
agencystring nullable

State regulations only: the agency to list (kind: agency), as a listing returned it, such as Maine agency 144 or a Virginia agency inside a title. A chapter number repeats under different agencies, so name the agency to open the right chapter. Needs code.

Example:144
programstring nullable

State regulations only: the program to list (kind: program), as a listing returned it. Wyoming prints a program between an agency and its chapters, and chapter 1 repeats under every program. Needs code.

Example:0001
subjectGroupstring nullable

CFR only: the subject group to list (kind: subjectGroup), passed back as the heading the listing returned, or as its eCFR id (ECFR and 15 hex digits, the node's subjectGroupId), which lists the same sections and needs no subpart. Needs titleNumber and part, and the subpart when a heading names a group inside one. Case-insensitive.

Example:Rules of General Application
cursorstring nullable

Resume token from a previous response's nextCursor, passed back with the same filters. Omit it to start at the beginning of the listing.

Headers

Idempotency-Keystring nullable

Optional. 16 to 255 visible ASCII characters (a UUIDv4 is ideal). A retry with the same key and the same request replays the original 2xx response for 24 hours without charging again. The same key with a different request is rejected. Scope is the API key, method, path and body. The stored response body is a query-derived cache controlled by the account's data retention setting cacheQueryDerivedData: when it is false the body is never stored and a retry answers 409 idempotency_replay_unavailable, without charging again.

Example:3f9c2a1e-7b44-4d0a-9c1e-5a6b7c8d9e0f

Response

The child divisions at the requested level.

corpusTypestring required

The corpus being walked, echoed back from the request.

statestring nullable

The jurisdiction, for state-scoped corpora.

levelstring required

Kind of children returned: titles, chapters, subchapters, parts, subparts, subtitles, divisions, subdivisions, subjectGroups, codes, articles, acts, or sections. A listing can mix kinds; this names the main one, and kind on each node is authoritative.

parentLabelstring nullable

Human label for the container these divisions sit under.

countinteger

Number of divisions returned.

nextCursorstring nullable

Opaque token to resume this listing. Present only when truncated is true. Pass it back as cursor to get the next batch of sections in the same container, and keep going until it comes back null. Treat it as opaque: it encodes a storage position, and building one by hand will not work.

Ordering. A cursor starting o~ continues one listing in a single statutory order, so concatenating its pages gives the sorted whole. A cursor starting s~ walks a container too large to sort in one pass: each page is in statutory order, pages follow storage order, and the union of every page is the complete container, so sort it yourself once you hold it all.

truncatedboolean

True when this container held more sections than one call can walk, so divisions is a PREFIX of its contents rather than all of them. Check it before treating a listing as complete: the level that returns sections is bounded, and a container past that bound previously returned a short list that looked whole. When it is true, narrow the scope (drill into a chapter or part rather than a whole code), or page through it with nextCursor.

notestring nullable

Why the result is empty, when it is. Absent on a normal result. An empty divisions with a note is an answer; without one it would be ambiguous between a bad identifier and a level this corpus does not store.

processingTimeMsnumber

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

creditsConsumednumber

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 response

{
  "corpusType": "USC",
  "divisions": [
    {
      "subjectGroupId": "ECFRf2ef38fa463cdfa"
    }
  ],
  "nextCursor": "s~a3f1c2e0-55b1-4a7d-9d02-1f3b6c8e9a44",
  "note": "New York statutes are organized by article, which this corpus does not index.",
  "processingTimeMs": 240.5,
  "creditsConsumed": 1
}

Changes

No recorded changes to this operation across all 1 revision of this API.