OpenLaws, Midpage and Vaquill AI all sell US primary law as an API.
This is a factual, side-by-side comparison of coverage, versioning, search, alerts, access and price.
Every Vaquill AI figure comes from GET /us/statutes/coverage (measuredAt 2026-10-12T16:46:07+00:00) or the deployed OpenAPI document; every competitor claim links to their own documentation, read on 2026-10-12.
Reviewed and corrected on 12 October 2026. This is general information, not legal advice.
Two-way detail: Vaquill AI vs OpenLaws and Vaquill AI vs Midpage.
TL;DR
- Vaquill AI is the broadest on codified and administrative law: 5,454,678 sections, 23 corpus types, 20,781,207 passages.
- The federal administrative layer sits with Vaquill AI: 196,816 Federal Register rules, 96,966 guidance documents (53 named sources across 26 agencies), and 100,920 adjudication sections led by NLRB at 66,597. OpenLaws lists none of it.
- State Attorney General opinions: 105,087 across 43 jurisdictions, often the only interpretive authority on a provision no court has reached. OpenLaws lists none, and it is not verified in our October 2026 review whether Midpage lists any.
- Per-section depth: up to 148 fields and 24 search parameters, against 24 properties on the OpenLaws division schema and 21 on the Midpage
LawDocument. The statute-to-regulation graph, the RIN rulemaking chain, character-level provenance and supersession chains have no documented counterpart. - State court rules across 56 jurisdictions (OpenLaws lists four as live), federal local court rules from 52 courts, insurance bulletins across 49, and four territories beyond Puerto Rico: not listed by OpenLaws or Midpage.
- State session laws: 20,604 acts from the 2025 sessions across 50 jurisdictions, each with its approval and effective dates and the code sections it changed where the state prints them. OpenLaws promises pending legislation this fall; Midpage carries federal public laws.
- Alerting: 310 boards free to list and manage on Vaquill AI; OpenLaws puts its feed on the $5,000/mo tier; Midpage documents none.
- Point-in-time: Midpage stores versions where the source has them; Vaquill AI serves 31 published GPO annual editions of the CFR; OpenLaws lists none.
- Case law search, an AI citator and PACER dockets: Midpage only. OpenLaws deprecated case law search in its 1.1.1 release and points developers to CourtListener; the Vaquill AI data API is scoped to codified and administrative law by design.
- Flat unmetered billing at a published price: OpenLaws only.
- Bulk data: OpenLaws sells S3 exports at $15,000/mo, Midpage an enterprise PostgreSQL replica, and Vaquill AI licenses bulk delivery and direct index access.
- Self-serve keys: Vaquill AI, from its console. OpenLaws requires an access request, and Midpage a form for its $1,000/mo prototyping tier or a sales conversation for a licence.
Data coverage
Section counts are distinct provisions. Midpage detail is from its developer, practice-area and public coverage pages; the main coverage page sits behind a bot check and was read through a text extractor, so the federal sub-page is linked instead.
| Corpus | Vaquill AI | OpenLaws | Midpage |
|---|---|---|---|
| US Code | 60,494 (50,997 in force), at an OLRC release point stated per section in currentThrough | 100% claimed | Yes |
| CFR annual editions, 1996 to 2026 | 312,132 sections, as published by GPO | Not listed | Stored versions |
| Code of Federal Regulations, today | 222,311 | 100% claimed | Yes |
| Federal Register agency rules | 196,816, 1994 to present | Not listed; proposed rules from state registers promised "this fall", starting with federal and five states | Rules from 1975, proposed rules from 1990 |
| Federal Register notices, curated slice | 20,642 | Not listed | Yes |
| Federal agency guidance | 96,966 documents, 53 named sources | Working toward it | More than 40 sources under 12 headings, a different set |
| Statutes at Large and public laws | More than 425,000 sections, every bound volume GPO publishes, 137 in all, 1789 to 2026 | Not listed | Public laws |
| Statute compilations (COMPS) | 80,407 sections | Not listed | Not listed |
| Federal administrative adjudication | 100,920 sections across seven bodies, led by NLRB at 66,597 and FTC Part 3 at 18,023, and including SEC Commission opinions, DOJ OLC and CFPB enforcement | Not listed | 39 federal administrative, military and other tribunals, including NLRB from 1935, MSPB, EEOC federal-sector, DOL ARB and OALJ, and BIA precedents |
| Federal local court rules | 6,234 rules from 52 courts: the 13 courts of appeals, the habeas rules, six national bodies and 32 district-court rule sets | Local rules named as next on its list | Not listed |
| Puerto Rico regulations, inside the state total | 111,484, ahead of California at 74,764 | Out of scope | Not listed |
| Territories | Puerto Rico, Guam, the Northern Mariana Islands, the US Virgin Islands and American Samoa | Puerto Rico | Not listed |
| State statutes | 2,072,674 across 56 jurisdictions | 50 states, DC, PR | Federal plus 50 states and DC; Tennessee, Arkansas, Georgia and Mississippi listed as upcoming |
| State regulations | 1,503,260 across 56 jurisdictions | 99% claimed | Yes |
| State constitutions | 13,016 across 53 jurisdictions | Yes | Yes |
| State court rules | 72,032 across 56 jurisdictions | 4 listed as live, New Jersey in progress, others on its roadmap | Not listed |
| State Attorney General opinions | 105,087 across 43 jurisdictions | Not listed | Not verified in our October 2026 review |
| State insurance bulletins | 13,360 across 49 jurisdictions | Not listed | Listed as upcoming |
| State session laws, 2025 sessions | 20,604 acts across 50 jurisdictions, as enacted, with approval and effective dates, veto outcome and the text as passed | Pending legislation promised "this fall" | Federal public laws only |
| State register notices | 144,903 proposed, adopted and emergency rule notices across 24 jurisdictions | Promised "this fall" | Referenced in its docs |
| Case law | Outside the data API's scope | Search deprecated in 1.1.1; lookup by citation only | 16M+, with a citator |
| Court dockets | Outside the data API's scope | Not listed | PACER retrieval |
| Reported total | 5,454,678 sections | 4,554,349 sections | 6M+ codified, 16M+ opinions |
The three headline totals are not measured on the same definition, so they are not directly comparable.
The Vaquill AI figure is what GET /us/statutes/coverage publishes as sectionCount; that endpoint is free to call and authoritative over any published page.
That same response reports 20,781,207 retrieval passages behind those sections.
Search, versions and alerts
| Vaquill AI | OpenLaws | Midpage | |
|---|---|---|---|
| Semantic search shipped | Yes | Hybrid search in development | On case law; searchLaws is BM25 |
| Keyword method | BM25, blended with vectors and reranked | BM25 only | BM25 on laws; keyword, semantic and hybrid with reranking on case law |
| Boolean and proximity operators | any / all / phrase | or / and / phrase | Lexis and Westlaw style including W/n, on case law |
| Point-in-time text | 31 stored CFR editions, statutes reconstructed with an isBounded flag | Not listed | Stored versions, behind a historical entitlement |
| Currency model | Derived status per section | current_as_of per division, from the $5,000/mo tier | Derived per request from four conditions |
| Change detection | /changes per section, plus watches | Divisions changed in the last 90 days, Enterprise | versions array with dates |
| Alerts and webhooks | 310 boards, watches and webhooks, free to list and manage | Law change feed on the $5,000/mo tier | Not documented |
| Says when nothing matches | noGoodMatch and a matchQuality grade on every search | Not documented | A numeric score on law search results |
| Official source link | sourceUrl on every search result, section and batch item | source_url, plan-gated | source_url on a fetched document |
| Size a scope before walking it | POST /us/statutes/count, exact, 1 credit | Not documented | Not documented |
| Enumerate a hierarchy completely | /divisions with truncated and nextCursor | display_children, plan-gated | children, capped at 250, deliberately unpaginated |
| MCP server | Every endpoint as a tool; OAuth connector for Claude and ChatGPT, or an API key | OpenRegs, live in ChatGPT, plus a free Citation Validator MCP | v4 current, v3 still served; API key or OAuth |
| Bulk or SQL access | Bulk delivery and direct index access under a data licence | S3 export at $15,000/mo | PostgreSQL read replica, enterprise clients only |
Midpage derives currency at request time with no stored is_current flag, so a future-dated amendment becomes current on its own effective day with no data change.
Vaquill AI serves published CFR editions for regulations and reconstructs for statutes; the deployed spec defines the flag it returns as:
TRUE means: we observed no change affecting your date, and that is NOT the same as there having been none.
As of 2026-10-12 OpenLaws' API page lists no historical versions, and its published OpenAPI has no versions endpoint, only effective_date_start and effective_date_end on a division.
What comes back per section
Coverage is how much law an API holds. This is what it hands you about each provision, and it is where the three diverge most.
GET /us/statutes/section/{actId} returns up to 148 fields, and search takes a fields list so you parse only what you use.
OpenLaws' OpenAPI Division schema has 24 properties, among them plaintext_content, markdown_content, effective_date_start, effective_date_end, aliases and updated_at; source_url and current_as_of are marked Law Firm and Enterprise only, and is_repealed, is_reserved and renumbered are marked experimental.
Midpage's OpenAPI LawDocument has 21 fields: identity and hierarchy (id, parent_id, path, node_type, number, title, sort_order), collection (collection_id, collection_name, collection_type, state, country), citation (citation, register_citation), dates and currency (effective_date, publication_date, is_current, is_historical), and content (html, url, source_url), plus a versions array.
| Field group | What it answers |
|---|---|
| Hierarchy and citation | Where the provision sits, and how to cite it in Bluebook long and short form |
| Amendment and enactment history | When it changed, under which Public Law, and what the publisher's own credit line says |
| Adjudication and guidance specifics | Forum, court, requesters, settlement amount, issuing agency, program, audience |
| Provenance back to the publisher | Which government file it came from, down to character and page offsets |
| Currency and status | Whether it is in force, superseded, renumbered, transferred or rescinded, and through what |
| Federal Register rulemaking | Volume, pages, docket, RIN, significance, comment close, effective date, corrections |
| Cross-reference graph | What it points at, what points at it, and which statute authorizes it |
| Format mirrors | HTML, PDF, XML, DOCX and plain text where the publisher provides them |
| Retrieval and sizing | Relevance score, excerpt, body, word count, version year |
| Identity and alternate citations | Stable actId, Bluebook long and short form, and the citation forms a jurisdiction actually prints |
| Everything else | Agency, program, audience, language, forum and court, settlement amount, requesters |
Four of those groups have no counterpart in either competitor's documented model.
Dates come back twice where the publisher's own form is not ISO. effectiveDate holds a date the publisher put in a date field, and effectiveDateRaw keeps it verbatim when it differs. Where a state prints no effective date at all, historyEffectiveDate is read out of its amendment credit line and served beside history as the evidence, never in the effectiveDate slot.
The cross-reference graph. statutoryAuthority gives the USC citations that authorize a regulation, parsed from its own Authority note. implementingRegulations is the reverse index, so one call answers which CFR parts implement a statute. crossReferencesUsc and crossReferencesCfr carry what a section points at, and GET /us/statutes/section/{act_id}/cited-by carries what points back at it.
The rulemaking chain. frRelatedDocuments follows one RIN from proposed rule to final rule to any later correction. Neither competitor documents an equivalent.
Character and page provenance. granuleId and packageId name the GovInfo file, and sourceCharStart, sourceCharEnd, sourcePageStart and sourcePageEnd locate the text inside it. That is the difference between citing a source and being able to prove the quote came from it.
Supersession chains. supersedes, supersededBy and supersessionActions link a document to what it replaced, which matters most in the guidance and adjudication corpora where a citator does not exist.
Filtering and retrieval
POST /us/statutes/search takes a query plus 23 filters.
| Filter | Purpose |
|---|---|
corpusType, source, state, agency | Scope to a body of law, a named publisher, a jurisdiction or an agency |
titleNumber, code, chapter, part, article | Walk into a subtree without leaving search, down to one constitutional amendment or one federal rule set |
actStatus, excludeRepealed | Keep or drop superseded, repealed, rescinded and reserved text |
yearFrom, yearTo | Filter on the publisher-credited amendment year |
publishedFrom, publishedTo | Filter on publication date, which is a different question |
changedSince | Everything that moved since a date, which is the polling primitive behind a sync; the response adds changedSectionCount so you know when the window is bigger than one query returns |
documentType | Narrow within a mixed corpus |
matchType | any, all or phrase |
fields, includeBody, excerptChars | Sparse fieldsets, inline body, and excerpt length from 100 to 4000 |
limit, offset | Paging |
Six purpose-built lookups sit beside search rather than inside it: /related for neighbouring sections in statutory order, /cited-by for the reverse citation index, /definitions for terms a section defines, /cross-state for the same provision in other states, /changes for its change timeline, and /resolve for a citation string. Both competitors document citation lookup. For the other five, neither documents an equivalent operation in the sources reviewed on 2026-10-12.
Three more are for working through a whole corpus. POST /us/statutes/count sizes a scope exactly for 1 credit before you spend anything walking it. GET /us/statutes/divisions enumerates a hierarchy and returns truncated with a nextCursor, so a listing never looks complete when it is not. POST /us/statutes/sections with includeBody returns full text for up to 50 sections in one call.
Every search response also says whether it found anything. noGoodMatch is true when nothing in the corpus looks on point, and matchQuality grades the top result as exact, strong, moderate, weak or none. An agent can tell a user there is no answer instead of answering from the nearest weak passage, without thresholding raw scores itself. Every result also carries sourceUrl, the government page to cite and verify against, under one field name on search results, section records and batch items alike.
Verifying citations at document scale
POST /us/statutes/resolve takes up to 50 Bluebook citations in one call and returns a verdict on each, duplicates collapsed before pricing.
Every input gets an entry, so an unresolved citation is a reported answer rather than a silent omission.
That is the shape of the problem when you are checking a brief, a memo or a model's output rather than looking one citation up.
GET /us/statutes/section/{act_id}/body?format=content splits a section into content, sourceCredit and notes using the publisher's own field delimiters, and returns only the operative text.
The split matters more than it sounds: on 17 U.S.C. § 107 the statute text and credit line are a small fraction of a body that is mostly committee reports and guidelines printed as notes.
Feeding the full body to a model invites it to quote a note as the law in force.
Neither competitor documents an equivalent for either operation in the pages reviewed.
Where the idea of legal data as a feed came from
Comparison tables can hide a simple question: what should a good legal data source look like? A useful yardstick is more than a decade old. In 2010 Carl Malamud's nonprofit Public.Resource.Org ran workshops across the US and wrote down ten principles under the name Law.Gov. They were addressed to governments, but they read well as a buyer's checklist. Four of them stand out:
- Primary legal materials "should be made available using bulk access mechanisms so they may be downloaded by anyone."
- The materials, and the methods used to access them, "should be authenticated so people can trust in the integrity of these materials."
- Data should "represent the definitive documents, not just aggregate, preliminary, or modified forms."
- "Vendor- and media-neutral citation mechanisms should be employed."
Governments have moved toward some of this. The Government Publishing Office says it is "committed to ensuring authenticity, integrity, and preservation of more than a million Federal documents" on govinfo, which it launched as a beta in February 2016 and which replaced its older FDsys website in December 2018. It adds digital signatures to PDF files. The Library of Congress now runs the Congress.gov API, described as a way to "view, retrieve, and re-use machine-readable data" from Congress.gov.
Run any API through those four lines and you get four practical questions. Can you get the data in bulk? Can you tell where each document came from and that it is unaltered? Is it the definitive text or a derived copy? Does it speak in standard citations? Ask them of every source in this post, official or commercial.
How to test a coverage claim
Every vendor page lists numbers. A number describes a database in general. Whether your sections are in it is a separate question. Build a small test set before you sign anything, and run the same set through every candidate:
- Ten citations to start. Pick three old and stable sections, three amended in the past year, two repealed or renumbered, and two from states you do not usually work in.
- One citation that does not exist. A source that returns "not found" is behaving well. One that returns something plausible is a risk if the output reaches a customer.
- The official text beside each result. Compare word for word, and look at where the vendor says the text came from.
- A date. Check whether each result says how current it is, and whether you can ask for the version in force on an earlier day.
Score each candidate on the test set, and treat the headline figure as a footnote. The test costs an afternoon and shows how each source behaves on your sections, which a coverage page cannot do. For a longer list of questions to ask in a first call, see ten questions to ask a legal data vendor.
Access and price
OpenLaws publishes the fullest data price list. Midpage now publishes an entry tier and prices production use by contract. Vaquill AI publishes its data rights on one rights and licensing page: what you may cache, embed, show to your users, keep after cancelling and train on. Coverage discovery, boards and watch management are free to call on the Vaquill AI API.
Scope notes
Vaquill AI. The data API is scoped to codified and administrative law, so case law, dockets and a case citation graph sit outside it. SEC staff guidance, CBP customs rulings, and FDA, HUD, OSHA and DOJ ADA guidance are not among its sources; Midpage lists them. The Federal Register notices corpus is a curated slice rather than the whole series, the Internal Revenue Manual is agency procedure rather than law, the Statutes at Large is law as enacted rather than current law, and the adjudication corpora carry no verified doctrinal currency. State Attorney General opinions are persuasive authority rather than binding law. Full detail in the OpenLaws comparison.
OpenLaws. No Federal Register yet, though proposed rules from state registers and pending legislation, starting with federal and five states, are promised this fall. No federal agency guidance yet, court rules listed as live in four jurisdictions, hybrid search in development, and case law search deprecated in 1.1.1. Its coverage page names Mississippi and West Virginia regulations partial, Colorado regulations at 78%, Maine and Hawaii regulations manually collected, and Puerto Rico regulations out of scope.
Midpage. Its docs and pages, as reviewed, document no alerting or webhooks and no structured rulemaking metadata, and its coverage pages list no state court rules and no Puerto Rico; state insurance bulletins and NLRB General Counsel memoranda are listed as upcoming.
It lists none of the banking, AML, export-control or HIPAA guidance families.
Its MCP serves v4 at the unversioned URL, and the laws tools keep their v3 contracts.
Summary
- Midpage lists case law search, an AI citator, a case citation graph and PACER dockets, 39 federal administrative, military and other tribunals, plus SEC staff, CBP, FDA, HUD, OSHA and DOJ ADA guidance.
- OpenLaws publishes flat unmetered billing and a startup plan.
- Vaquill AI returns up to 148 fields per section, and takes 23 search filters including
changedSincefor sync andfieldsfor sparse responses. - Vaquill AI serves, and the competitor pages reviewed do not list, rulemaking metadata and statute-to-regulation joins, state session laws, state Attorney General opinions across 43 jurisdictions, state court rules, federal local court rules, state insurance bulletins, Puerto Rico and four more territories, Statutes at Large back to 1789, published CFR annual editions, and banking, AML, export-control and HIPAA guidance. It is the only one of the three with a self-serve key in the pages reviewed.
- All three serve the US Code, CFR, state statutes, state regulations, constitutions and Bluebook citation resolution, and all three source from official government publishers.
Two vendors both say they carry the full US Code. How do you find out which text is safer for a contract tool?
FAQ
Which US legal data API is best?
They are not substitutes. Midpage carries case law, a citator, dockets and stored historical versions. OpenLaws carries flat unmetered billing at a published price. Vaquill AI carries the federal administrative layer, state Attorney General opinions, law change alerts and self-serve access.
How do the three pricing models differ?
OpenLaws publishes flat unmetered tiers from $2,500/mo, plus a startup plan and a bulk tier. Vaquill AI meters per call. Midpage publishes a $1,000/mo tier, rate limited and for internal use and prototyping only, and prices production use through a custom annual licence.
Which ones have case law?
Midpage, with 16M+ opinions and its own citator. OpenLaws deprecated case law search in release 1.1.1, recommends the CourtListener REST API instead, and keeps only an opinion lookup by Bluebook citation. The Vaquill AI data API is scoped to codified and administrative law by design.
Which ones have the Federal Register?
Vaquill AI and Midpage. OpenLaws does not list it, and says proposed rules from state registers and pending legislation, starting with federal and five states, are coming this fall. Vaquill AI carries 196,816 agency rules from 1994 onward plus RIN links joining a proposed rule to its final rule and any correction.
Which ones have state session laws?
Vaquill AI: 20,604 acts from the 2025 sessions across 50 jurisdictions, searchable by their enacted text, with approval and effective dates, veto outcome, and in eleven jurisdictions the code sections each act changed. GET /us/statutes/section/{actId}/enactments runs the other way, from a code section to the session laws that amended it. OpenLaws says pending legislation is coming this fall. Midpage lists federal public laws from 2013.
Which ones have state Attorney General opinions?
Vaquill AI carries 105,087 formal opinions across 43 jurisdictions, with Florida (20,960), Alabama (11,930), Arkansas (10,298) and Indiana (9,760) the deepest. An AG opinion is persuasive rather than binding, and is often the only interpretive authority for a provision no court has construed. OpenLaws lists none. It is not verified in our October 2026 review whether Midpage lists any; check its coverage page.
Which one has point-in-time law?
Midpage and Vaquill AI, by different mechanisms. Midpage stores historical versions of statutes and regulations where the source has them, behind a separate historical entitlement. Vaquill AI serves 31 published GPO annual editions of the CFR, 1996 to 2026, and reconstructs statute text with a bounded flag. OpenLaws lists none on its API or capabilities pages.
Which ones are self-serve?
Vaquill AI only. OpenLaws requires an access request and a 25-minute session, though it will issue an evaluation key through the same form. Midpage takes a form for its $1,000/mo prototyping tier and scopes production access through sales.
Do any of them support MCP?
All three. Vaquill AI exposes every endpoint as a tool over the full corpus, session laws included, through an OAuth connector for Claude and ChatGPT with no key to paste, an API key for other clients, or a Claude Code plugin. OpenLaws ships OpenRegs, a compliance-focused MCP live in ChatGPT with a Claude version marked upcoming, plus a free Citation Validator MCP. Midpage serves a v4 contract, of five tools across case law, dockets, trial filings and laws, keeps v3 available, and supports API key or per-user OAuth.
Can I train a model on this data?
OpenLaws permits AI and ML training at its $15,000/mo bulk tier. Vaquill AI permits training except to build a product that competes with its legal-research, statute-retrieval or legal-data API services. The text of the law itself carries no copyright, and in Georgia v. Public.Resource.Org (2020) the Supreme Court extended that rule to the annotations of the Official Code of Georgia. Midpage's public Terms and Conditions cover its web apps and plugins; its pages do not publish terms for the data licence.
Should I use more than one?
The overlap between the three is the US Code, CFR and state codes. Case law search, dockets, a citator and a SQL replica sit with Midpage alone. Alerting, bulk data and stored historical text are held by more than one, on different terms.
Get started
See the API overview and quickstart, then create a key.
Sources, all read 2026-10-12: OpenLaws home, API, pricing, OpenRegs, primary-law primer, release notes, coverage, capabilities and getting started; Midpage home, developer data, data quality, pricing, CourtListener comparison post, practice pages for labor and employment, immigration and insurance, Laws API, Cases API and MCP tools, plus its federal coverage page and the main coverage page at app.midpage.ai/coverage/us; Vaquill AI figures from GET /us/statutes/coverage and the deployed OpenAPI document.
New legal AI guides, weekly.
Further Reading
- Vaquill AI vs Midpage: US legal data API comparison
- Vaquill AI vs OpenLaws: US legal data API comparison
- Top Legal Data APIs for Developers in 2026
- LexisNexis and Westlaw API Alternatives for Developers: How Access Works
- State Constitutions API: 53 Jurisdictions With Article and Section Structure
- State Court Rules API: 56 Jurisdictions and How to Query Them

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.
