Statutes at Large API: Reading Federal Law As Enacted

The United States Code is a compilation. The United States Statutes at Large is the enactment. Congress passes a public law with its own section numbering, and only afterward does an editor decide where each provision belongs in the Code, which means a large amount of real, binding federal law never gets a US Code citation at all. Vaquill AI serves that layer as corpusType=SESSION_LAW: more than 425,000 sections of public and private law, 1789 to 2026, with the round trip from a codified USC section back to the text Congress actually voted on. If you have ever hunted for an effective-date clause and found nothing in the Code, this post is why.

Reviewed and corrected on 12 October 2026. This is general information, not legal advice.

TL;DR

  • The Code is edited, the Statutes at Large is enacted. Congress numbers sections its own way. The Office of the Law Revision Counsel then decides which Code title each provision lands in, and some provisions land nowhere.
  • The evidentiary weight differs and it is written into statute. Under 1 U.S.C. 112 the Statutes at Large is legal evidence of laws. Under 1 U.S.C. 204 a Code title enacted into positive law is legal evidence, and the rest of the Code is only prima facie evidence.
  • Effective dates, savings clauses, findings, and sunsets often never enter the Code. They stay in the session law, sometimes surfacing as a Code note, sometimes not at all.
  • The corpus covers 1789 to 2026, public and private laws, with a stable actId per section. GET /boards lists its source on a monthly cadence.
  • Round trip: a USC section carries publicLawCites, and each of those resolves to the enacting text in SESSION_LAW. Worked examples below with the CARES Act and 42 U.S.C. § 1983.
  • These items carry actStatus: "enacted" and goodLawStatus: "unknown" on purpose. Law as enacted is a historical record. For current law, query corpusType=USC.

Title card for the Vaquill AI guide: Statutes at Large API: Reading Federal Law As Enacted

Judgment call
Question 1 of 4

A client asks when a new federal rule starts applying. The Code section you are reading has no start date anywhere in it. Where should you look next?

Part of our US primary law corpus series, a source-by-source walk through what the corpus holds.

Its nearest neighbor is the Executive Orders API guide, the other federal-as-issued corpus. The GovInfo API versus a legal data API post covers the publisher these volumes come from.

The distinction almost every developer gets wrong

Most legal-tech integrations treat "federal statute" as a synonym for "US Code section." That works until it doesn't, and when it fails it fails quietly.

Here is the actual sequence. Congress passes a bill, the President signs it, and it becomes a public law with a number like Pub. L. 116-136. That law has its own internal structure: divisions, titles, and sections numbered by Congress for that law alone.

The public law is printed as a slip law and then bound into the Statutes at Large in order of enactment. Nothing about that arrangement is by subject. Volume order is chronological, because the Statutes at Large is a record of what happened, not a filing system.

Then the Office of the Law Revision Counsel of the House takes over. OLRC reviews every provision of every public law to decide whether it belongs in the Code and, if so, where, among the Code's titles. One public law can scatter across many titles.

Loading diagram...
US CodeStatutes at Large
What it isCompilation of general and permanent law, by subjectThe laws as enacted, in order of enactment
Who produces itOffice of the Law Revision CounselOffice of the Federal Register, National Archives
ArrangementTitle, chapter, sectionVolume, page, public law number
NumberingEditorial, assigned by OLRCCongressional, assigned in the bill
Changes over timeYes, it is updated as law changesNo, an enacted law is fixed
Evidentiary weightLegal evidence for positive-law titles, prima facie otherwise (1 U.S.C. 204)Legal evidence (1 U.S.C. 112)
corpusTypeUSCSESSION_LAW

A short history: from a private publisher to the National Archives

Who prints the law has changed several times, and the answer matters for how much you can trust a given volume.

GovInfo's own description is a good starting point. The Statutes at Large is "the permanent collection of all laws and resolutions enacted during each session of Congress," and every public and private law is published in it in order of the date it was enacted. The first publisher was a private firm. Little, Brown, and Company began printing the volumes in 1845 under a joint resolution of the 28th Congress. In 1874 the authority moved to the Government Publishing Office, under the Secretary of State. In 1950 responsibility passed to the General Services Administration and the Office of the Federal Register, and when the National Archives was established in 1985 the Archivist took over the job. One more detail: until 1948, treaties and international agreements approved by the Senate were also printed here, so the older volumes hold more than statutes (GovInfo, Statutes at Large help page).

A story: two words that were not in the original

Here is what the gap between a session law and a later revision can look like. The Civil Rights Act of 1871 (17 Stat. 13) gave a remedy for the deprivation of rights "secured by the Constitution of the United States." When Congress consolidated the federal statutes in 1874, the section that became 42 U.S.C. § 1983 came out reading "secured by the Constitution and laws."

Those two words did a lot of work. In Maine v. Thiboutot, decided June 25, 1980, the Supreme Court held that "and laws" covers claims based on purely statutory violations of federal law, in that case welfare benefits owed under the Social Security Act. The majority was candid about the history: "There is no express explanation offered for the insertion of the phrase 'and laws.'" Justice Powell's dissent put the origin plainly: the phrase "was added in 1874, when Congress consolidated the laws of the United States into a single volume under a new subject-matter arrangement." You can read both in the opinion at the Library of Congress.

You don't have to take a side in the case to take the lesson. If a word in a compiled text is carrying your argument, the session law is where you check whether it was always there.

Why the evidentiary gap has teeth

This isn't a librarian's distinction. It is written into the Code itself.

1 U.S.C. 112 provides that the Statutes at Large "shall be legal evidence of laws, concurrent resolutions, treaties, international agreements other than treaties, proclamations by the President, and proposed or ratified amendments to the Constitution of the United States therein contained, in all the courts of the United States."

1 U.S.C. 204 splits the Code in two. Where a title "shall have been enacted into positive law the text thereof shall be legal evidence of the laws therein contained." For every other title, the current edition and its supplement "establish prima facie the laws of the United States."

Congress has enacted some Code titles into positive law and left the rest as an editorial restatement. For a non-positive-law title, if the Code text and the Statutes at Large text disagree, the Statutes at Large wins.

What lives only in the session law

The practical reason to keep this corpus isn't doctrine, it is the provisions that never make the trip into the Code. OLRC's FAQ is plain about it: the Code "only includes the general and permanent laws of the United States. Temporary laws, such as appropriations acts, and special laws, such as one naming a post office, are not included in the Code."

  • Effective-date provisions. A law commonly says its provisions take effect on a date, or on a triggering event, or for tax years beginning after a date. That clause is frequently uncodified and appears in the Code, if at all, as a note.
  • Savings and transition clauses. Language preserving pending proceedings, prior rights, or existing contracts under the old rule. This is the clause litigators fight over and it very often lives only in the session law.
  • Sunset provisions. A program that expires on a date. If the sunset clause is uncodified, a reader of the Code section alone sees an operative program with no expiry.
  • Findings and statements of purpose. Congressional findings shape interpretation and are routinely dropped from the codified text.
  • Appropriations and one-time authority. Money and short-lived grants of authority are often not general and permanent law, so they aren't codified at all.
  • Amendments phrased as instructions. Language in the form "section 5 of the prior Act is amended by striking subsection (b)" only makes sense read against the enacted text it operates on.

A compliance tool that reads only the Code will confidently miss every one of these. That is the failure mode this corpus exists to close.

In their words

People who work with this material tend to explain it the same way. On Hacker News in 2014, a commenter walking through how lawyers researched before online databases wrote that "The Statutes at Large is not a convenient tool for legal research, since it is just a sequential listing of the laws passed by Congress and signed by the President." The same comment notes that "the USC is not automatically the official authoritative statement of the law" (tzs, Hacker News, October 2014).

Another commenter, in December 2024, said they had "written legal database software, and helped to get a few bills passed," and explained that states have "'session laws' that are a running collection. These are a pain to 'merge' into the laws" (showerst, Hacker News, December 2024). That's the same split at the state level. The running record is easy to keep. Merging it into a tidy current code is the hard part, which is why the two layers keep needing to be read together.

The corpus

PropertyValue
corpusType tokenSESSION_LAW
SectionsMore than 425,000
Date range1789 to 2026
SourceGPO's bound Statutes at Large volumes, plus the public laws of the current Congresses
RefreshMonthly cadence on GET /boards
actStatusenacted
goodLawStatusunknown

For context, the federal side of the corpus totals about 1.5 million sections, of which USC is 60,494 and CFR is 222,311, the latter covered in the CFR API guide. The session-law layer, at more than 425,000 sections, is about seven times the size of the Code it feeds, which is what you would expect once you remember that a compilation keeps only what is general and permanent.

The round trip, with a real example

Start from the enacting text. Search the session-law corpus for a provision of the CARES Act, Pub. L. 116-136.

curl -s https://api.vaquill.ai/api/v1/us/statutes/search \
  -H "Authorization: Bearer $VAQUILL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "CARES Act section 1109 Treasury program management authority",
    "corpusType": "SESSION_LAW",
    "matchType": "any",
    "limit": 10
  }'

The identifier that comes back for CARES Act section 1109 is:

SAL_PL116-136_DVA_TII_S1109

Now fetch the section, and then its body. The search above returned this on 12 October 2026 (trimmed): the section's citation is Pub. L. 116-136, div. A, tit. I, sec. 1109, its actStatus is enacted, its goodLawStatus is unknown, and its sourceUrl points to the Statutes at Large volume file on govinfo.gov. We did not run the two fetches below, which need a key.

curl -s https://api.vaquill.ai/api/v1/us/statutes/section/SAL_PL116-136_DVA_TII_S1109 \
  -H "Authorization: Bearer $VAQUILL_API_KEY"

curl -s https://api.vaquill.ai/api/v1/us/statutes/section/SAL_PL116-136_DVA_TII_S1109/body \
  -H "Authorization: Bearer $VAQUILL_API_KEY"

Going the other direction

A USC section carries publicLawCites, which names the public laws that produced its current text. That field is the bridge. Here is the trail for 42 U.S.C. § 1983, from real responses on 12 October 2026 (trimmed):

GET /us/statutes/section/USC_T42_C21_S1983
  -> publicLawCites: [
       { "type": "revised_statutes", "section": "1979" },
       { "type": "public_law", "displayId": "Pub. L. 96-170", "statAtLarge": "93 Stat. 1284" },
       { "type": "public_law", "displayId": "Pub. L. 104-317", "statAtLarge": "110 Stat. 3853", "section": "309(c)" } ]

POST /us/statutes/search  { "query": "Pub. L. 104-317 section 309 injunctive relief judicial officer", "corpusType": "SESSION_LAW" }
  -> actId: SAL_PL104-317_TIIII_S309
     citation: "Pub. L. 104-317, tit. III, sec. 309"
     title: "... PROHIBITION AGAINST AWARDS OF COSTS, INCLUDING ATTORNEY'S FEES, AND INJUNCTIVE RELIEF AGAINST A JUDICIAL OFFICER."

GET /us/statutes/section/SAL_PL104-317_TIIII_S309/body  -> the text Congress voted on

The 1996 clause that appears in the Code as the proviso about injunctive relief against a judicial officer therefore has its enacting text one hop away. We did not run the final body call.

The practical loop for a research tool looks like this:

  1. Resolve the user's citation to a USC section.
  2. Read publicLawCites off that section.
  3. For each cite, search SESSION_LAW and collect the actId values.
  4. Batch-fetch those sections in one call rather than N calls.
  5. Show the codified text and the enacting text side by side, each with its own official source link.

Every result carries a sourceUrl that names the publisher's own file (for session laws, a Statutes at Large volume file on govinfo.gov), so a reviewer can check the government copy without trusting our rendering. That is the check that turns "the model said so" into "here is the source."

Why goodLawStatus is "unknown" and that is correct

Every SESSION_LAW item carries actStatus: "enacted" and goodLawStatus: "unknown". Both are deliberate, and the status and currency reference covers what each value means.

enacted is a statement of fact that never changes. Pub. L. 116-136 was enacted in 2020 and will still have been enacted in 2050. Nothing about that is a moving target.

unknown is the honest answer to a different question. Asking whether a 2020 session law is "good law" is a category error, because the enacted text is a fixed historical artifact and can't itself go stale. What can go stale is the codified provision it created, and that lives in USC, where a good-law signal is meaningful.

The alternative would be to stamp a confident status on a historical record, which is exactly the kind of quiet wrong answer that ends up in a brief. A field that says "unknown" is worth more than a field that says something plausible and wrong.

The lag nobody plans for

There is a gap between enactment and codification, and it is where production bugs live.

A public law is enacted on a date. OLRC integrates it into the Code on its own editorial cycle, which isn't same-day. In the interval, the Code shows the old text while the enacted law is already operative.

Our USC corpus follows OLRC release points and is checked weekly. Each section reports its own currentThrough date: the two sections we pulled for this post on 12 October 2026 said 2026-09-18. The SESSION_LAW source sits on a monthly cadence in GET /boards. Those two clocks are not the same clock, and any product that presents them as one is misleading someone.

The design that works: query USC for the codified rule, query SESSION_LAW for anything enacted after the Code's currency date, and show both dates in the UI. Never silently merge them. Legal Data Freshness: What Refresh Cadence Actually Means, Source by Source covers how to read a cadence claim.

Who should skip this corpus

  • You only need current, operative federal rules. Query USC and CFR and stop. Session law adds a layer you won't use.
  • You want the legislative process. Bills, amendments, committee reports, and floor action are a different dataset. This corpus starts at the finished law.
  • You are tracking executive action rather than legislation. Orders and proclamations sit in a separate corpus, covered in the executive orders API guide.
  • You want a good-law verdict on enacted text. You won't get one, on purpose.

Where it earns its place is narrower: uncodified provisions, effective-date and savings clauses, and any workflow where a non-positive-law Code title needs to be checked against the enacted text.

Vaquill AI serves this alongside more than 5.3 million sections of US primary law across 56 state-level jurisdictions plus federal law.

FAQ

What is the difference between the US Code and the Statutes at Large?

The Statutes at Large is the enactment: every public and private law printed in order of enactment, exactly as Congress passed it. The US Code is a compilation of the general and permanent parts of that law, rearranged by subject by the Office of the Law Revision Counsel. One is a record of what happened, the other is a subject index that gets edited over time.

Which one controls if the two disagree?

It depends on the title. Under 1 U.S.C. 204, a Code title enacted into positive law is legal evidence of the law it contains. For every other title, the Code is prima facie evidence, and under 1 U.S.C. 112 the Statutes at Large is legal evidence, so the enacted text controls.

What is a session law?

A session law is a law as passed during a session of a legislature, published in enactment order rather than by subject. At the federal level the session laws are the public and private laws collected in the United States Statutes at Large. States publish their own equivalents, usually called session laws or acts.

Why is some federal law missing from the US Code?

Because not every provision is general and permanent law. Appropriations, one-time authority, effective-date clauses, savings clauses, findings, and sunsets are frequently left uncodified. They are still binding law. They just live in the session law, and appear in the Code only as notes, if at all.

How do I find the public law behind a US Code section?

Read the publicLawCites field on the USC section, which names the public laws that produced its current text. Then search corpusType=SESSION_LAW for each of those cites to get the enacting text and its actId. Fetch the body from that id.

What does actId SAL_PL116-136_DVA_TII_S1109 refer to?

It is the stable identifier for section 1109 of the CARES Act, Pub. L. 116-136, in the session-law corpus. It is stable across refreshes but not guessable, so take it from a search or resolve response instead of constructing it from a citation.

Why does the API say goodLawStatus is unknown for session law?

Because law as enacted is a historical record, not a statement of current law. Whether a provision still operates is a question about the codified section, so query corpusType=USC for that. Marking an enacted law "good law" or "bad law" would assert something the record can't support.

How current is the federal session-law data?

The SESSION_LAW source is on a monthly cadence in GET /boards, which also shows when it was last retrieved. The USC corpus follows OLRC release points and is checked weekly, and each section reports its own currentThrough date. Those are two different clocks, so check GET /boards for ages and currentThrough on the section you rely on.

Can I query federal law as it stood on a past date?

Yes, with limits that depend on the corpus. Add asOf=YYYY-MM-DD to the section body call and the response says which of two engines answered, in asOf.engine. For published printings the API holds (the CFR annual editions and some US Code editions) it returns one verbatim, and a date that falls between held editions comes back unavailable with a reason, which for the US Code is the common case today. For everything else it reconstructs the earlier text from the first change observed after your date, and isBounded: true then means only that no change affecting your date was observed, which is not the same as there having been none. Enacted session law needs no asOf, because the text as enacted is fixed. Amendment History and Point-in-Time Law: What a Legal API Can and Cannot Tell You explains why that distinction matters.

Are private laws included?

Yes. The corpus carries both public and private laws. Private laws deal with individual parties rather than the general public, are rarely codified, and are easy to miss if your only source is the US Code.

Connect our US primary law database.
Every US statute, regulation, constitution, and executive order via REST, MCP or SQL. 5.4M+ sections, section-level citations, and links to the official source. Plus a free open dataset.
Updated October 12, 202622 min read

New legal AI guides, weekly.

Priyansh Khodiyar

Priyansh Khodiyar

Co-Founder & CTO

Priyansh leads engineering and AI at Vaquill AI: the pipelines that pull statutes, regulations and court rules from every US jurisdiction's official publisher, and the REST API, MCP server and open dataset that serve them.