Vaquill AI's state court rules corpus covers 46 jurisdictions (44 states, the District of Columbia, and Puerto Rico) and about 47,600 rules, reachable with corpusType=STATE_RULES and refreshed monthly from the edition each jurisdiction designates as official. Six jurisdictions are missing. Each one is missing for a different, specific reason, and this post spends more space on those six than on the forty-six.
That is deliberate. If you are deciding whether to make a legal-data API a dependency, the gap list is the part you cannot get from a marketing page, and it is the part that tells you whether the coverage claim was measured or asserted.
TL;DR
- 46 of 52 jurisdictions, roughly 47,600 rules,
corpusType=STATE_RULES. Civil procedure, criminal procedure, appellate, evidence, professional conduct, and local rules, refreshed on a monthly cadence. - Court rules are a separate corpus from statutes on purpose. They are promulgated by courts, not legislatures, and they carry the deadlines that filing automation and docketing products actually run on.
- The six gaps are Arkansas, Vermont, Colorado, Oklahoma, South Dakota, and Missouri. Two are licensing, one is a currency problem, two are not gaps at all, and one is a permission we honor.
- Oklahoma and South Dakota codify their rules into the statute book. They are already served under
corpusType=STATE, so re-serving them underSTATE_RULESwould be duplicate coverage dressed up as new coverage. - A provider reporting 52 of 52 here is licensing a commercial compilation or guessing. Two of these states publish no government-consolidated text at all.
- Versioning is the amendment record, not a date parameter. A citation returns today's rule and nothing else, plus amendment history and per-section diffs on watched boards. If your product needs the rule as it read in 2019, plan to reconstruct it from the amendment record.

How many jurisdictions does the STATE_RULES corpus cover?
This is one entry in our US primary law corpus series, which covers each source separately rather than as a headline count.
If you are mapping the state layers, the companion posts are State Regulations API: 1.5 Million Administrative Rules Across 52 Jurisdictions and State Constitutions API: 51 Jurisdictions With Article and Section Structure. The federal counterpart to this corpus is covered in Federal Rules of Procedure API: FRCP, FRE, FRAP, FRCrP, FRBP and Supreme Court Rules.
What court rules are, and why they get their own corpus token
A statute is passed by a legislature. A court rule is promulgated by a court, usually the state supreme court, under authority the legislature or the constitution gave it. They are different instruments with different amendment processes, and they answer different questions.
Statutes tell you whether you have a claim. Court rules tell you how many days you have, what the caption has to say, how many copies to file, and what happens when you miss.
That is why STATE_RULES is its own corpusType rather than a subject filter on STATE. Mixing them would put a fourteen-day deadline and a four-year statute of limitations in the same result set with no way to tell a developer which is which. Every token is listed in the corpusType reference.
The rule families
| Family | What it governs | Typical example |
|---|---|---|
| Civil procedure | Pleadings, motions, discovery, trial | Tex. R. Civ. P. 91a, dismissal of baseless causes of action |
| Criminal procedure | Charging, arraignment, pretrial motions, sentencing | State analogues of the federal criminal rules |
| Appellate | Notice of appeal, records, briefs, timing | Cal. R. Ct. 8.104, time to appeal |
| Evidence | Admissibility, privilege, expert testimony | State evidence codes modeled on the federal rules |
| Professional conduct | Attorney ethics, conflicts, advertising, trust accounts | State adaptations of the model rules |
| Local rules | Court-specific and district-specific practice | County and judicial-district rules, where the state publishes them |
The largest single rules corpus we hold is New Mexico's, which publishes a very granular rule set. The smallest are states that publish one consolidated document per family. Neither size tells you anything about quality, so do not rank jurisdictions by rule count.
Why deadline products need this corpus specifically
Here is the argument in one worked example. A California appeal deadline is not one rule.
{
"query": "time for filing notice of appeal after entry of judgment",
"corpusType": "STATE_RULES",
"state": "ca",
"limit": 5
}
Two of the top results are Cal. R. Ct. 8.104 and Cal. R. Ct. 8.822, both titled around time to appeal, and they apply to different case postures. A deadline engine that resolves "California, notice of appeal" to a single rule has already produced a wrong answer for half its users.
Run the same query across states, the sweep the multi-state comparison recipe automates, and the shape of the problem gets clearer:
| Jurisdiction | Citation | Rule set |
|---|---|---|
| California | Cal. R. Ct. 8.104 | Appellate Rules |
| Arizona | Ariz. R. Civ. App. P. 9 | Rules of Civil Appellate Procedure |
| Maine | Me. R. App. P. 2B | Maine Rules of Appellate Procedure |
| Massachusetts | Mass. Dist./Mun. Cts. R. A. D. A. 4 | District and Municipal Courts Rules for Appellate Division Appeal |
| Maryland | Md. Rule 7-104 | Appeals from the District Court to the Circuit Court |
Five jurisdictions, five citation grammars, five rule-set names, and in Massachusetts and Maryland the applicable rule depends on which court you are appealing from. This is why filing automation built on a scraped PDF per state breaks quietly, and why the ruleSet field matters as much as the citation. The citation formats reference covers the grammars the API accepts.
The six gaps, one cause each
Six jurisdictions have no court rules in this corpus. They are not one problem with one fix. They are four distinct problems, and lumping them together would hide the only useful information in the list.
| Jurisdiction | Cause | Is it fixable |
|---|---|---|
| Arkansas | No government-published consolidated text | Not without a commercial license |
| Vermont | No government-published consolidated text | Not without a commercial license |
| Colorado | Only rule-change orders published; last compilation 2023 | Yes, when the state publishes a current compilation |
| Oklahoma | Rules codified into the statute book | Already covered under corpusType=STATE |
| South Dakota | Rules codified into the statute book | Already covered under corpusType=STATE |
| Missouri | Published court policy does not permit automated access | Only by permission |
Arkansas and Vermont: the text is not free
Both judiciaries publish the amendment stream. You can read the per-rule orders on the court's own site, in order, going back years.
What neither publishes is a consolidated current text. The compiled, in-force set of rules for both states is published by a commercial licensee, and that compilation is a copyrighted work of an aggregator, not a government edition.
That leaves two options. Reconstruct the current text by replaying every amendment order onto an old base, which produces a document nobody has authorized and nobody can defend in a filing. Or license the commercial compilation and serve it as primary law. We do neither, so both states carry a declared gap.
Colorado: publishing orders is not publishing rules
Colorado is different, and worse to explain to a customer who assumes coverage is binary. The state does publish rule changes, and the courts' own site carries the rule-change orders.
What is missing is a maintained consolidated compilation. The last government compilation we can source is 2023, and Colorado rules have changed since.
Ingesting a 2023 compilation and labeling it "Colorado court rules" would serve superseded procedure as current law. A deadline engine reading it would compute a deadline from a rule that has since been amended, and the failure would be invisible to the user, because a stale rule looks exactly like a current one. A declared gap produces a visible error at integration time. A stale corpus produces a wrong answer at filing time.
Oklahoma and South Dakota: already covered, under a different token
These two are not gaps at all, and reporting them as coverage under STATE_RULES would be double counting.
Both states codify procedure into the statute book rather than promulgating a separate rules volume. Oklahoma's civil procedure lives in Okla. Stat. tit. 12. South Dakota's lives in SDCL titles 15, 19, and 23A, and the state cites it that way itself: the rule 12(b) analogue, the one listing the defenses you can raise by motion, is SDCL 15-6-12(b).
Query it and you get exactly that, under corpusType=STATE:
{
"actId": "STATE_SD_T15_C6_S15-6-12",
"citation": "S.D. Codified Laws § 15-6-12",
"corpusType": "STATE",
"state": "sd",
"sectionNumber": "15-6-12",
"title": "(b).Manner of presenting defenses and objections",
"displayPath": "SD Code / Title 15 / Chapter 6 / Section 15-6-12",
"lastAmendedYear": 2006
}
Read the numbering. 15-6-12 is title 15, chapter 6, section 12, and chapter 6 is South Dakota's civil procedure chapter, deliberately numbered to track the federal rules. The state has told you where the rules are by how it numbered them.
Missouri: a permission, not a technical problem
Missouri's judiciary publishes a policy that does not permit automated access to its rules. The text is reachable by a human with a browser. It is not available to us to crawl.
We honor that. Not because it is technically enforced, but because the sourcing rule is the product: every source in this corpus is the government publisher's own copy, and a publisher that says no is part of that. The same rule leaves a corpus paused rather than quietly refreshed whenever a publisher's own access rules require it. Every pause is declared in the freshness array on GET /us/statutes/coverage, with its reason, in the API response itself.
Why a declared gap is worth more than a silent one
Here is the claim, plainly. A provider that reports 52 of 52 on state court rules is doing one of two things: licensing a commercial compilation for Arkansas and Vermont, or not checking.
There is no third option, because two of these jurisdictions publish no consolidated government text. You cannot source what does not exist.
That matters to a buyer for a practical reason, not a philosophical one. A silent gap is a wrong answer waiting to happen in production, at the moment a user in Arkansas asks a question and gets a confident response assembled from something adjacent. A declared gap is a routing decision you make once, in your integration, before a user ever sees it.
The engineering version of this: coverage claims should fail at build time, not at query time. GET /us/statutes/coverage is free and returns the per-jurisdiction matrix with a measuredAt timestamp, so your CI can assert the jurisdictions your product depends on and break the build when one disappears. The coverage endpoint reference documents the response. That is a better contract than a number on a pricing page.
Checking freshness yourself
GET /boards is free and lists every watchable source. State court rules boards look like this:
{
"corpusType": "state_rules",
"state": "az",
"label": "State court rules AZ",
"cadence": "monthly",
"scopable": true,
"lastRetrievedAt": "2026-08-27T08:28:58.774716+00:00",
"retrievalStatus": "current"
}
Three fields do the work. cadence is the registered schedule, which is monthly for state court rules. lastRetrievedAt is when a retrieval actually landed, and it is absent when none has. retrievalStatus is the verdict, and it reads current, stale, failing, or never_retrieved.
Registration is not the same as a run, which is exactly why the field exists. Poll it for the jurisdictions your product depends on and alert when one leaves current, rather than trusting a documented cadence.
Who this corpus is wrong for
It is wrong for a litigation product that must reconstruct the rule as it read on the day of a past filing, because point-in-time retrieval does not exist here. It is wrong for anyone who needs Arkansas or Vermont procedure and cannot route around a gap. And it is wrong for a buyer whose evaluation is a jurisdiction count, because that buyer will score a provider serving a licensed 2023 compilation above one declaring a 2023 problem.
It fits deadline calculators, docketing and filing automation, litigation agents that need to cite a rule they can link back to, and any internal research surface where "which rule governs this motion" is a real question. The collection layer is published at github.com/Vaquill-AI/open-us-law, so the parsers and the JSONL schema are inspectable before you commit.
FAQ
What is a state court rules API?
It is an interface returning state rules of procedure, evidence, and professional conduct as structured data rather than PDFs. Vaquill AI exposes them through POST /us/statutes/search with corpusType=STATE_RULES and a state filter, plus direct retrieval by actId. Each result carries the citation, the rule set it belongs to, and the path through the rules hierarchy.
How many jurisdictions are covered?
46: the 44 states that publish a consolidated government text we can source, plus the District of Columbia and Puerto Rico, holding about 47,600 rules. The six not covered are Arkansas, Vermont, Colorado, Oklahoma, South Dakota, and Missouri, each for a different documented reason.
Why are Arkansas and Vermont missing?
Neither judiciary publishes a consolidated current text. Both publish the amendment stream, and the compiled in-force rules are published only by a commercial licensee. We source government publishers only, so both carry a declared gap rather than a licensed aggregator copy.
Why is Colorado missing when the state publishes rule changes?
Publishing rule-change orders is not the same as maintaining a consolidated compilation. The last government compilation available is 2023, and Colorado rules have changed since. Ingesting it would present superseded procedure as current law, which fails silently in a deadline product.
Are Oklahoma and South Dakota rules available anywhere in the API?
Yes, under corpusType=STATE. Both states codify procedure into the statute book, Oklahoma in Okla. Stat. tit. 12 and South Dakota in SDCL titles 15, 19, and 23A. South Dakota's rule 12(b) analogue is SDCL 15-6-12(b), retrievable at actId STATE_SD_T15_C6_S15-6-12.
How often do state court rules refresh?
State court rules boards are registered on a monthly cadence. Because a registered cadence is not proof a run happened, GET /boards reports lastRetrievedAt and a retrievalStatus of current, stale, failing, or never_retrieved per jurisdiction. The endpoint is free.
Can I get the version of a rule as it read on a past date?
Versioning here runs off the amendment record rather than a date parameter. Every citation resolves to the rule in force now. What you get around it is amendment history with lastAmendedYear, a yearFrom and yearTo currency filter, change events captured per refresh, and per-section diffs on boards you watch. An as_of parameter is not offered.
How do I tell which rule set a result belongs to?
Use the ruleSet field, which names the set the rule sits in, such as Rules of Civil Appellate Procedure or Maine Rules of Appellate Procedure. This matters in states where the same subject is governed by different rules depending on the court level, as with Massachusetts appellate division appeals and Maryland appeals from the District Court.
Does a declared gap ever get filled later?
Colorado will, when the state publishes a current consolidated compilation. Missouri will, if its published policy changes. Arkansas and Vermont will not, unless the judiciary starts publishing a consolidated text itself, because the alternative is licensing a commercial aggregator, which the sourcing rule does not allow.
New legal AI guides, weekly.
Further Reading
State Constitutions API: 51 Jurisdictions With Article and Section Structure
Read postUS Sentencing Guidelines API: Querying the Manual That Sets Federal Exposure
Read postFederal Rules of Procedure API: FRCP, FRE, FRAP, FRCrP, FRBP and Supreme Court Rules
Read postStatutes at Large API: Reading Federal Law As Enacted
Read postState Insurance Bulletins API: 49 Insurance Departments in One Query
Read postState Regulations API: 1.5 Million Administrative Rules Across 52 Jurisdictions
Read post
Co-Founder & CTO
Priyansh leads engineering and AI at Vaquill, from the matter workbench to drafting, document comparison, document matrix, and citation-verified research.