State Constitutions API: 51 Jurisdictions With Article and Section Structure

State constitutions are available as a queryable corpus at corpusType=STATE_CONSTITUTION, covering 51 jurisdictions (all 50 states plus Puerto Rico) across roughly 13,000 sections, refreshed monthly from each state's own official publisher. That is a small corpus by section count and an outsized one by consequence, because state constitutions carry tax caps, school funding formulas, ballot-measure procedure, and privacy rights that go past the federal floor. Most legal-data products skip them entirely, or fold them into the statute corpus where nobody can filter for them. This post covers what is in the corpus, how the article and section structure works, and the queries that make it useful.

Disclosure: we build Vaquill AI, a US primary law API. Every number below is measured from our own corpus on 2026-08-30, and the coverage endpoint that reports those numbers is free, so you can check the math yourself.

TL;DR

  • 51 jurisdictions, roughly 13,000 sections, filterable as corpusType=STATE_CONSTITUTION, refreshed monthly. The US Constitution is a separate corpus (corpusType=CONSTITUTION, 74 sections, refreshed when it is amended).
  • State constitutions are much longer than the federal one. Arkansas alone carries 513 sections, nearly seven times the federal document's 74. The average state runs about 255.
  • The count differences between states are structural, not coverage gaps. Some states amend by bolting on new sections. Others push the same policy into the statute book. Raw section count is a terrible way to compare providers.
  • DC has no entry here and that is correct. DC is not a state and has no constitution. Its organic law is the District of Columbia Home Rule Act, a federal statute, and DC is served in the statute and court-rules corpora instead.
  • Change arrives on a ballot calendar, mostly at November general elections, which is why monthly is the right cadence and a daily poll would burn requests for nothing.
  • Versioning here is the amendment record, not a date parameter. Each citation carries a single text, the current one, plus amendment history and change events. An as_of=DATE lookup does not exist.

Three cards reading 51 jurisdictions, roughly 13,000 sections, and 513 sections in Arkansas alone.

4-question check
Question 1 of 4

How many jurisdictions are covered by corpusType=STATE_CONSTITUTION?

You will find this alongside the rest of our US primary law corpus series, one post per source.

The two state corpora that sit directly under this one are covered in State Regulations API: 1.5 Million Administrative Rules Across 52 Jurisdictions and State Court Rules API: 46 Jurisdictions, and an Honest Map of the Six Gaps.

Ask a legal-data vendor what they cover and you get statutes, regulations, and case law. State constitutions rarely make the list. When they do, they are usually stuffed inside the statute corpus with no separate filter, which means a constitutional question comes back buried under statute sections.

That is a strange gap, because the state constitution is the one document that can invalidate everything else in the state. A statute that conflicts with it is void. A regulation that conflicts with it is void twice over. If your product reasons about state law and never touches the state constitution, it is reasoning one level too low.

The gap is also expensive in specific practice areas. Tax, education finance, election law, municipal finance, and state privacy work all sit on constitutional text more than on statutes.

What is in the corpus

FieldValue
corpusType tokenSTATE_CONSTITUTION
Jurisdictions51 (50 states plus Puerto Rico)
Approximate sections13,000
Refresh cadenceMonthly
SourcingEach state's own official publisher, with no aggregator copy anywhere in the chain
Federal counterpartcorpusType=CONSTITUTION, 74 sections, refreshed on amendment

Puerto Rico is in scope because it has a constitution, and it is served the same way every state is. Puerto Rico is one of the largest jurisdictions in the wider corpus at 151,881 total sections across all corpus types, so its constitution is not an afterthought bolted on for a coverage headline.

The seven largest state constitutions by section count:

StateSections
Arkansas513
Oklahoma478
New Mexico468
Nebraska444
Oregon415
Texas401
Colorado395

Compare those to the US Constitution's 74 sections. Arkansas carries almost seven times as much text-bearing structure as the federal document. Across all 51 jurisdictions the average is about 255 sections, roughly three and a half times the federal one.

Why state constitutions are so much longer

Three reasons, and all three change how you should query them.

They are easier to amend. The federal Constitution needs two thirds of both chambers of Congress and three quarters of the states. Most state constitutions can be amended by a legislative referral plus a simple majority of voters at the next general election, and a number of states also allow a citizen initiative that skips the legislature entirely. Oregon's Article IV, section 1 is the classic initiative and referendum provision. A lower bar means more amendments, and more amendments means more sections.

They carry policy as well as structure. The federal document mostly allocates power. State constitutions routinely fix tax rates, cap revenue growth, set school funding formulas, create specific agencies, and pin down pension obligations. Colorado's Article X, section 20, the Taxpayer's Bill of Rights, is a revenue and spending cap written into the constitution itself. That is ordinary legislation in most countries and constitutional text in Colorado.

They are amended by accretion. Many states add a new section rather than editing an old one, so the document grows over time instead of being rewritten. That is why a section count tracks amendment history as much as it tracks subject-matter breadth.

Why a raw section count is a bad way to compare providers

The Arkansas number is where that goes wrong. If you line up two legal-data vendors and compare "state constitution sections," the bigger number looks like better coverage. It is usually just a different state mix, a different chunking rule, or a state that happens to amend by accretion.

Look at the spread inside our own numbers. Arkansas is 513. The average is about 255. That is not because Arkansas is covered twice as well as the median state. It is because Arkansas has amended its constitution far more, and each amendment lands as new structure.

The comparison that actually means something has four parts:

Question to ask a providerWhy it separates real coverage from a big number
Who published the text you ingested?An official state publisher is a different asset from a scraped aggregator copy. Ask for the source URL on a specific section.
What is it current through, in the publisher's own words?"Current" without a publisher-stated cutoff is a claim, not a fact.
Can you resolve a citation I give you?Coverage that cannot answer "Colo. Const. art. X, sec. 20" is a pile of text, not a corpus.
What do you do when a state is unavailable?The honest answer is a declared gap. The dishonest one is a quiet fill from an aggregator.

Our own coverage endpoint is built for exactly that interrogation. GET /us/statutes/coverage is free, returns per-jurisdiction counts, a currency block describing what each corpus is current through in the publisher's own words, a freshness array that declares any paused jurisdiction with its reason, and a measuredAt timestamp. A vendor that will not let you audit coverage without a sales call is telling you something. The coverage endpoint reference documents every field it returns.

DC has no constitution, and that is not a gap

The District of Columbia is missing from this corpus on purpose. DC is not a state. It has no constitution. Its organic law is the District of Columbia Home Rule Act, which Congress passed as a federal statute, so the closest equivalent to a DC constitution lives in statutory law, not constitutional law.

Putting a "DC Constitution" row in a coverage table would be a fabrication dressed as completeness. DC is fully served elsewhere: it is one of the 52 jurisdictions in the state statutory code corpus (corpusType=STATE), one of the 52 in state administrative regulations (REGULATION), and one of the 46 in state court rules (STATE_RULES).

This is the same reason the count is 51 and not 52. A corpus that reported 52 state constitutions would be wrong, and the extra row would be the tell.

Loading diagram...

Worked queries

Base URL is https://api.vaquill.ai/api/v1. Auth is Authorization: Bearer vq_key_.... Statutes routes are mounted under /us/statutes/*. Search costs 4 credits per call. Coverage is free. Failed calls are not charged. Every call below also runs in the API playground.

1. Search across every state constitution at once

The single most useful query in this corpus is the fifty-state sweep, because that is the query no statute corpus can answer. The multi-state comparison recipe shows the full pattern.

curl -X POST https://api.vaquill.ai/api/v1/us/statutes/search \
  -H "Authorization: Bearer $VAQUILL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "right of privacy",
    "corpusType": "STATE_CONSTITUTION",
    "limit": 25
  }'

Leave state off and you get the cross-jurisdiction picture: which states wrote an express privacy right into their constitution and which ones did not. Add "state": ["ca", "mt", "ak", "fl"] to narrow it. state and corpusType both accept a single value or a list.

2. Phrase-match a term of art in one state

curl -X POST https://api.vaquill.ai/api/v1/us/statutes/search \
  -H "Authorization: Bearer $VAQUILL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "uniform and equal rate",
    "corpusType": "STATE_CONSTITUTION",
    "state": "tx",
    "matchType": "phrase",
    "limit": 10
  }'

matchType takes any, all, or phrase. Use phrase when the exact wording is the thing you care about, which in constitutional text is most of the time. Search is hybrid, so semantic and keyword signals both contribute, and phrase tightens the keyword side.

3. Browse the article and section tree

Constitutions are organized as articles, then sections, sometimes with a further subdivision. Do not guess the tree. Enumerate it.

curl "https://api.vaquill.ai/api/v1/us/statutes/divisions?corpusType=STATE_CONSTITUTION&state=nm" \
  -H "Authorization: Bearer $VAQUILL_API_KEY"

That gives you the actual division structure the publisher uses for New Mexico's 468 sections, which is what you want backing a navigation UI or a scoped retrieval filter. The hierarchy filters on search (titleNumber, chapter, part) then let you scope a query to a branch you got back from divisions rather than one you invented. The browse hierarchy recipe walks that pattern.

4. Retrieve one section by its id

curl "https://api.vaquill.ai/api/v1/us/statutes/section/{actId}" \
  -H "Authorization: Bearer $VAQUILL_API_KEY"

curl "https://api.vaquill.ai/api/v1/us/statutes/section/{actId}/body" \
  -H "Authorization: Bearer $VAQUILL_API_KEY"

Beyond search and retrieve, the same surface exposes citation resolve, section changes, cited-by, cross-state comparison, definitions, neighbors, and batch get. Cross-state is the one worth knowing about here, because "what does every state constitution say about this" is the question this corpus exists to answer.

Freshness: a ballot calendar, not a news feed

State constitutional amendments move on a schedule. A legislature refers a measure or citizens qualify an initiative, the measure goes on a ballot, and most of those ballots are November general elections in even-numbered years. Between elections, the text barely moves.

That is why the cadence here is monthly rather than daily. A daily poll against a document that changes on an election calendar spends requests to learn nothing. Monthly catches the post-election turnover well inside the window where anyone would act on it.

You do not have to take the cadence on faith. GET /boards is free and lists every watchable source with its declared cadence, its retrievalStatus, and a lastRetrievedAt timestamp. If a board says monthly and lastRetrievedAt is four months old, you can see that yourself before it becomes your problem.

For the change side, yearFrom and yearTo filter on the last amendment year the publisher credits, so they track the law rather than our rebuild date. One caution that applies across the whole corpus: about a fifth of sections carry no amendment credit at all, because some publishers print none, and those sections drop out once you set either bound.

The versioning model, stated precisely

One citation, one text, and that text is the one in force now. There is no stored version for every historical date.

What exists is amendment history and a lastAmendedYear on each section, the yearFrom and yearTo currency filter, change events captured at each refresh, and per-section diffs on watched boards. What does not exist is an as_of=2019-06-01 parameter that returns the text as it stood that day. Amendment History and Point-in-Time Law explains what that distinction costs you.

If your product needs to render the version of a constitutional provision in force on a specific past date, this corpus is the wrong dependency for that piece of the job, and any vendor that says otherwise should be asked to demonstrate it on a section you pick.

Where this sits in the wider corpus

State constitutions are one slice of a US primary law corpus that holds 4,150,839 distinct sections, indexed as 12,003,716 retrieval passages, across 53 jurisdictions. The federal side includes the US Constitution at 74 sections, alongside the CFR, the Federal Register, the US Code, and the Statutes at Large. The state side adds statutory codes, administrative regulations, court rules, and insurance bulletins.

The ingestion pipeline behind all of it is open source at github.com/Vaquill-AI/open-us-law, including the bulk-source parsers, the scrapers, and the JSONL schema. If you would rather run your own copy than call an API, the parsers are there.

FAQ

How many state constitutions are there?

Fifty, one per state, plus a constitution for Puerto Rico. The corpus covers all 51 as corpusType=STATE_CONSTITUTION. The District of Columbia is not included because it is not a state and has no constitution.

Why is the District of Columbia missing from the state constitutions API?

DC has no constitution. Its organic law is the District of Columbia Home Rule Act, a federal statute, so the closest equivalent lives in statutory law. DC is fully covered in the state statutory code corpus, the state regulations corpus, and the state court rules corpus.

Which state has the longest constitution?

By section count in this corpus, Arkansas leads with 513 sections, followed by Oklahoma at 478 and New Mexico at 468. Section count is a structural measure, not a word count, so it tracks how a state amends its constitution as much as how much subject matter it covers.

Are state constitutions more protective than the US Constitution?

They can be. A state constitution can grant more protection than the federal one but never less, because the federal document sets a floor. Several states have express privacy provisions with no direct federal analogue, which is why a search that stops at the US Constitution has checked the minimum only.

How often do state constitutions change?

Far more often than the federal one, because most states amend by legislative referral plus a majority vote at a general election, and several states also allow a citizen initiative. Changes cluster on November general election dates in even-numbered years. That calendar is why this corpus refreshes monthly rather than daily.

Can I retrieve a state constitution as it read on a past date?

Versioning here runs off the amendment record rather than a date parameter. A citation returns the provision as it stands today and nothing older. The API exposes amendment history, a lastAmendedYear per section, a yearFrom and yearTo currency filter, and change events per refresh, but no as_of=DATE historical retrieval.

How do I filter a search to a specific article of a state constitution?

Call GET /us/statutes/divisions?corpusType=STATE_CONSTITUTION&state=XX first to enumerate the real division structure, then use the hierarchy filters on the search call to scope to a branch you got back. Do not construct division values by hand, because unknown filter values are rejected with a 422 rather than silently matching nothing.

Which publisher supplies each state constitution's text?

The state's own official publisher, and every result carries that publisher's source URL for the section. No commercial aggregator is used, even as a fallback. Where an official source is unavailable, the coverage endpoint declares the gap rather than filling it from a secondary copy.

What does a state constitutions search cost?

A search call is 4 credits. The coverage endpoint and the boards endpoint are free. Failed calls are not charged, and paging is cut from a single ranking, so a later page costs the same as the first and results never repeat or go missing between pages.

The most complete US primary law API.
Every US statute, regulation, constitution, and executive order through one REST and MCP API. 4M+ sections, section-level citations, and links to the official source. Plus a free open dataset.
17 min read

New legal AI guides, weekly.

Priyansh Khodiyar

Priyansh Khodiyar

Co-Founder & CTO

Priyansh leads engineering and AI at Vaquill, from the matter workbench to drafting, document comparison, document matrix, and citation-verified research.