Both Vaquill AI and OpenLaws are APIs for US primary law.
This is a factual, side-by-side comparison of coverage, endpoints, retrieval, output, provenance, access and price.
Every Vaquill AI figure comes from GET /us/statutes/coverage (measuredAt 2026-09-07T05:23:28+00:00) or the deployed OpenAPI document; every claim about OpenLaws links to their own public documentation, fetched 2026-09-07.
For Midpage, see Vaquill AI vs Midpage and the three-way comparison.
TL;DR
- Vaquill AI serves 4,983,685 sections across 19 corpus types, indexed as 18,718,026 retrieval passages.
GET /us/statutes/coverageis free and authoritative over any published figure. - The federal administrative layer is the difference: 196,237 Federal Register rules, 81,451 guidance documents from 51 named sources across 26 agencies, and 100,920 adjudication sections led by NLRB at 66,597. OpenLaws carries none of these.
- 31 published GPO annual editions of the CFR, 1996 to 2026, served as printed. OpenLaws no longer advertises historical text.
- Up to 132 fields per section and 23 search parameters, against nine fields documented on the OpenLaws division model.
- 244 watchable law-change boards, free to list and manage, with webhook delivery. OpenLaws puts its change feed on the $5,000/mo tier.
- OpenLaws reports 4,554,349 sections, prices the API at $2,500/mo unmetered, and sells bulk S3 exports with AI and ML training permitted at $15,000/mo.
- OpenLaws carries case law, in beta and sold as an add-on. The Vaquill AI data API is scoped to codified and administrative law by design.
- Vaquill AI issues a key without a sales call. OpenLaws requires an access request and a 25-minute session.
Data coverage
Section counts are distinct provisions. Corpus-level detail such as edition counts and scope limits comes from the published coverage documentation, measured the same day.
| Corpus | Vaquill AI | OpenLaws |
|---|---|---|
| US Code | 60,170 sections (50,745 in force) | 100% coverage claimed |
| CFR annual editions, 31 editions 1996 to 2026 | 312,132 sections, as published by GPO | Not listed |
| Federal Register notices, a curated slice | 17,616 | Not in the API |
| Code of Federal Regulations, as it stands today | 222,251 | 100% coverage claimed |
| Federal Register agency rules, 1994 to present | 196,237 (119,521 final, 76,716 proposed) | Not in the API |
| Federal agency guidance | 81,451 documents from 51 named sources across 26 agencies | Working toward it for specific agencies |
| Statutes at Large and public laws | 423,928 sections; every bound volume GPO publishes, 137 in all, 1789 to 2026 | Not listed |
| Statute compilations (COMPS) | 80,232 sections | Not listed |
| Executive orders | 3,643, 2015 to present | Weekly; pre-1994 as PDFs only |
| Federal Rules of Procedure | 589 | Listed under federal court rules, weekly |
| US Constitution | 74 | Yes |
| US Sentencing Guidelines | 1,281 | Not listed |
| US tax treaties and the Senate treaty record | 1,649 | Not listed |
| Federal administrative adjudication | 100,920 sections across seven bodies | Not listed |
| State statutes | 1,934,326 across 52 jurisdictions | 50 states, DC, PR |
| State regulations | 1,467,452 across 52 jurisdictions | 99% coverage claimed |
| Puerto Rico regulations, inside that total | 124,305, the largest state-level regulations corpus we hold, ahead of California at 74,764 | Out of scope |
| State constitutions | 12,762 across 51 jurisdictions | Yes |
| State court rules | 53,638 across 46 jurisdictions | 3 jurisdictions live (CA, NY, PA), 3 on roadmap |
| State agency guidance (insurance bulletins) | 13,334 across 49 jurisdictions | Not listed |
| Case law opinions | Not in the data API | 10.3M across 6,000+ courts, beta, an add-on |
| Reported total | 4,983,685 sections | 4,554,349 sections |
The two headline totals are not measured on the same definition, so they are not directly comparable.
Vaquill AI's figure is on the definition GET /us/statutes/coverage publishes as sectionCount. Passage counts are omitted for every vendor because none of the three publishes one on a comparable definition.
The 51 named federal agency guidance sources include IRS notices, rulings and revenue procedures, Federal Reserve, OCC and FDIC supervisory letters, FinCEN rulings, CFTC staff letters, the DOJ Justice Manual, the USCIS Policy Manual, the USPTO MPEP and TMEP, HIPAA guidance from HHS OCR, export-control opinions from BIS and DDTC, and NLRB memoranda.
Each is filterable with the source parameter.
The 26 agencies behind those 51 sources, named so you can check whether yours is here: IRS (six sources, including written determinations and the Internal Revenue Manual), DOJ (Justice Manual, Antitrust leniency, business review letters, and the Merger Guidelines with the FTC), FTC (advisory opinions, policy statements), SEC, CFPB (circulars, supervisory guidance), Federal Reserve, OCC, FDIC, FinCEN (six sources, including the beneficial-ownership set), CFTC, SSA, CMS, HHS Office for Civil Rights (HIPAA guidance, FAQs, resolution agreements), EEOC, DOL Wage and Hour, USPTO (MPEP and TMEP), USCIS, US Copyright Office (circulars and the Compendium), BIS, DDTC, OFAC, CPSC, FCC, FERC, DOE, and the DFARS PGI.
The seven adjudication bodies behind that token, largest first: NLRB Board decisions 66,597 (the full archive back to 1935-12-30), FTC Part 3 administrative filings 18,023, SEC Commission opinions 5,790, MSPB 5,461, BIA and Attorney General immigration precedent 3,292, DOJ Office of Legal Counsel 1,371, and CFPB enforcement actions 386.
Each is filterable with source.
Scope notes
The Federal Register notices corpus is a curated slice, not the whole series: it holds notices that act on a rulemaking (withdrawals, comment-period extensions and reopenings, significant agency guidance, negotiated rulemaking) and not the Paperwork Reduction Act collections, meeting notices or permit applications that make up most of the series.
The Statutes at Large corpus is law as enacted, so it carries actStatus: "enacted" and goodLawStatus: "unknown" deliberately, and is a historical record rather than a statement of current law.
Every bound volume GPO publishes, 137 in all, 1789 to 2026.
Volumes 7 and 8 are the treaty volumes and are served under the treaty corpus rather than here; volume 44 is not currently held.
The federal adjudication corpus carries no verified doctrinal currency, because no publisher in that family ships a machine-readable overruling signal.
The DOJ OLC series ends with volume 44 (2020); opinions issued since have not been bound, which each point states in its own coverageNote.
Every CFR annual-edition point is superseded law by construction and none is certified good law.
The US Code edition served is 2024, current through 2025-01-06. For federal law enacted after that date, use corpusType=SESSION_LAW or FEDERAL_REGISTER.
OpenLaws publishes the equivalent on its coverage page: Arkansas and Missouri regulations offline since June 2025, Mississippi partial, West Virginia at 98%, Puerto Rico regulations out of scope, California Title 24 out of scope.
Point-in-time text
For regulations, Vaquill AI serves GPO's officially published annual editions of the CFR: 31 editions from 1996 to 2026, all 49 titles, as printed rather than reconstructed.
asOf=YYYY-MM-DD on /section/{actId}/body resolves a date to an edition, sets asOf.engine to stored_edition and returns asOf.source: "published".
A CFR title revises on a fixed quarter day, so 40 CFR on 2024-05-01 is answered by the 2023 edition.
editionsObserved is an enumeration and never a range, so a date in an unobserved gap returns asOf.isBounded: false rather than the nearest year held.
A citation year is the volume's own revision year, not the folder GPO filed it under, because GPO reprints unchanged volumes forward without re-dating them.
For statutes, the same parameter reconstructs rather than archives: it rebuilds earlier text from the before-side of the first change observed after that date, and returns an isBounded flag when the answer rests on when change capture began rather than on the law.
The deployed spec defines that flag as:
TRUE means: we observed no change affecting your date, and that is NOT the same as there having been none.
A request that cannot be rebuilt returns source: "unavailable" and is refunded.
OpenLaws advertised historical versions and redline diffs for federal law on its API page until that page was redesigned. As of 2026-09-07 neither openlaws.us/api nor the capabilities page mentions it, and their published OpenAPI has no versions endpoint. What remains is an Enterprise capability to retrieve divisions changed after a given date, within the last 90 days.
See amendment history and point-in-time law.
Endpoints and capabilities
OpenLaws organizes its API reference around Jurisdictions, Laws, Law Divisions, Opinions and Courts, and describes the API as in active development.
| Capability | Vaquill AI | OpenLaws |
|---|---|---|
| Full-text search | POST /us/statutes/search, hybrid semantic plus keyword | BM25 keyword |
| Search within one law or code | corpusType, state and source filters | GET /jurisdictions/{j}/laws/{law}/search |
| Search within a subtree | chapter and part filters | within_division_path |
| Resolve a Bluebook citation | GET /us/statutes/resolve, across statutes, regulations, constitutions and court rules | Yes, by citation string |
| Non-Bluebook and state citation formats | Annotated U.S.C.A. and U.S.C.S. forms | In development; internal state formats are Enterprise |
| Browse the hierarchy | GET /us/statutes/divisions | Division by dotted path |
| Full section text | GET /us/statutes/section/{id}/body | Returned within a division |
| Structured subsection tree | ?structured=true, with label, pincite, type and a pinpoint citation per node | Markdown with structured data for nested lists and pincites |
| Rendered HTML | Yes | Enterprise only, styled with Tailwind |
| Point-in-time text | ?asOf=, reconstructed, with isBounded | Not currently advertised |
| Change timeline for a section | GET /us/statutes/section/{id}/changes | Divisions changed within the last 90 days, Enterprise |
| Neighboring sections | GET /us/statutes/section/{id}/related | Not documented |
| Reverse cross-references | GET /us/statutes/section/{id}/cited-by | Not documented |
| Defined terms in a section | GET /us/statutes/section/{id}/definitions | Not documented |
| Same provision in other states | GET /us/statutes/section/{id}/cross-state | Not documented |
| Rulemaking history for a rule | frRelatedDocuments, joined by RIN | Not available, no Federal Register in the API |
| Batch metadata, up to 50 | POST /us/statutes/sections | Not documented |
| Law change alerts | 244 watchable boards via GET /boards, plus POST /watches and webhook delivery, all free to list and manage | Law change feed, webhooks and GraphQL subscriptions on the $5,000/mo tier |
| Coverage discovery | GET /us/statutes/coverage, free, with freshness and currency | Jurisdictions and Laws endpoints, plus a docs coverage table |
| Case law and courts | Not in the data API | Yes, in beta |
| MCP server | Yes | Upcoming |
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: across the US Code the operative text is a median 46% of the body, and on 17 U.S.C. § 107 it is 3.4%, because 28,529 of 29,775 characters are committee reports.
Feeding the full body to a model invites it to quote a 1992 amendment note as the law in force.
Neither competitor documents an equivalent for either operation.
Search and retrieval
| Vaquill AI | OpenLaws | |
|---|---|---|
| Method | Hybrid: dense vectors plus BM25, reranked | BM25 keyword |
| Semantic search shipped | Yes | In user research |
| Match operators | any / all / phrase | or / and / phrase |
| Configurable excerpt length | excerptChars, 100 to 4000 | Full division content |
| Navigable result | parent object per hit | Path plus ancestors on the division |
| Plain-language queries | Match without exact terms | Best with exact terms |
| Filters on a search | 23, including changedSince for sync, actStatus, excludeRepealed, publishedFrom/publishedTo, documentType and sparse fields | Jurisdiction, law, division path |
| Purpose-built lookups | /related, /cited-by, /definitions, /cross-state, /changes, /resolve | Not documented |
Section metadata and provenance
Every section carries structured metadata, not just text.
| Vaquill AI | OpenLaws | |
|---|---|---|
| Amendment credit line | sourceCredit | annotations |
| Parsed amendment history | amendmentYears, lastAmendedYear, amendmentsCount | Not structured, inside the annotations string |
| Public Laws referenced | publicLaws | Not structured |
| Federal Register citations | federalRegisterCitations | Not structured |
| CFR and USC cross-references | crossReferencesCfr, crossReferencesUsc | In the markdown body |
| Enabling statute for a regulation | statutoryAuthority, parsed from the rule's own Authority note | Not structured |
| Regulations implementing a statute | implementingRegulations, a reverse index across every regulation's authority citation | Not available |
| Rulemaking metadata | frRegulationIdNumbers (RIN), frDocketIds, frCommentsCloseOn, frEffectiveOn, frSignificant | Not in the API |
| Federal Register corrections | frCorrectionOf, frCorrections | Not in the API |
| Status and currency | actStatus, goodLawStatus, currencyNote, renumberedTo, transferredTo | is_repealed, is_reserved, renumbered, current_as_of |
| Provenance identifiers | granuleId, packageId (govinfo) | source_url; data provenance from the $5,000/mo tier |
The table above is a selection.
GET /us/statutes/section/{actId} returns up to 132 fields, narrowable with fields so a response carries only what you parse.
OpenLaws documents annotations, is_repealed, is_reserved, renumbered, current_as_of, source_url, display_name, identifier and path.
Four groups have no counterpart there: a cross-reference graph of 10 fields, Federal Register rulemaking metadata of 12, provenance of 13 including granuleId, packageId and character and page offsets into the source file, and supersession chains via supersedes, supersededBy and supersessionActions.
statutoryAuthority and implementingRegulations resolve "what rules implement 15 U.S.C. 45" in one call, and depend on Federal Register coverage.
See provenance, source by source.
Access and price
| Vaquill AI | OpenLaws | |
|---|---|---|
| Onboarding | Self-serve API key | Request access, then a 25-minute session |
| Authentication | Bearer token | Bearer token |
| Pricing model | Metered per call | Flat monthly, unmetered |
| Free trial for data access | 500 credits, $5 value | None; access request and a 25-minute session required |
| Published tiers | Metered | $2,500/mo, and $5,000/mo Enterprise adding local citation lookup, rendered HTML, data provenance and the law change feed |
| Startup plan | Not published | $6,000 once for 12 months; under $1M raised, under $1M annual revenue, 10 or fewer staff |
| Bulk export or replica | Available on request | $15,000/mo plus implementation, S3, AI and ML training permitted |
| Legal aid and research | Case by case | Pay what you can |
| Attribution required | No | Yes on the $2,500 tier: displayed law text must be attributed to OpenLaws |
| Corporate form | Private company | Delaware Public Benefit Corporation, incorporated 2022 |
The alerting layer is deeper than a feed. 244 boards are listed free by GET /boards, each carrying cadence, lastRetrievedAt and a retrievalStatus of current, stale, failing or never_retrieved, so the API reports which of its own sources are behind.
A watch is scoped three ways: by hierarchy prefix, by exact actId, or by named source.
Deliveries carry an HMAC-SHA256 signature over the raw body, optionally alongside a separate outbound credential your own gateway checks, and a deliveryId that is stable across our retries so deduplication is safe.
Polling alongside a webhook cannot suppress or double-fire a delivery.
Coverage discovery, boards and watch management are free to call on the Vaquill AI API.
Data model
Vaquill AI scopes by corpusType (19 tokens such as USC, CFR, STATE, REGULATION, FEDERAL_REGISTER) plus a 2-letter state, and an optional source for corpora folding several bodies of law into one token.
Each section has a stable actId.
OpenLaws scopes by jurisdiction (FED, CA, FL) containing Laws (law_key such as FED-CFR, CA-RR) made of Divisions addressed by path; case law is Courts and Opinions.
Summary
- Vaquill AI covers the federal administrative-law stack (Federal Register, agency guidance, executive orders), runs hybrid semantic plus keyword search, resolves citations across statutes, regulations, constitutions and court rules, returns structured amendment provenance per section, and is self-serve and metered per call.
statutoryAuthority,implementingRegulationsandfrRelatedDocumentslink a regulation to its enabling statute and follow one rulemaking's RIN from proposed rule to final rule to correction. None is available from the OpenLaws API without Federal Register coverage.- OpenLaws covers case law in the same API as an add-on, reports a larger statute-and-regulation total, publishes a flat unmetered price list, sells bulk exports licensed for AI and ML training, and uses one unified jurisdiction data model.
- Vaquill AI serves 31 published GPO annual editions of the CFR for point-in-time regulation text, and reconstructs statute text with a bounded flag. OpenLaws no longer advertises historical text.
- Both provide Bluebook citation resolution, hierarchical browse, a catalog of the bodies of law, structured subsection data, official government source links, and the US Code, CFR, state statutes, state regulations and constitutions.
FAQ
Does Vaquill AI have case law in the API?
No. Case law is available in the Vaquill AI platform, not through the metered data API. OpenLaws serves 10.3M opinions in beta, sold as an add-on rather than inside the $2,500/mo tier.
How do the two pricing models differ?
OpenLaws sells flat unmetered monthly tiers starting at $2,500/mo, plus a startup plan and a bulk tier. Vaquill AI meters per call and issues a key without a sales call, starting from a free trial of 500 credits worth $5.
Does OpenLaws have the Federal Register?
No. Its coverage page lists US Code and CFR as its federal corpus and does not list the Federal Register. Vaquill AI carries 196,237 agency rules from 1994 onward, 119,521 final and 76,716 proposed, plus RIN links joining a proposed rule to its final rule and any correction.
Which one has point-in-time or historical law?
Vaquill AI, for regulations: 31 published GPO annual editions of the CFR, 1996 to 2026, resolved by asOf, which sets asOf.engine to stored_edition. For statutes it reconstructs from observed changes and flags a bounded answer. OpenLaws advertised historical versions and redline diffs for federal law until its API page was redesigned, and made no such claim as of 2026-09-07.
Is either API self-serve?
Vaquill AI issues a key without a sales call. OpenLaws requires an access request and a 25-minute session before issuing a bearer token.
How current is the data?
OpenLaws updates federal law weekly and state law monthly or quarterly and publishes a per-state cadence table naming states where a crawler is currently broken. Vaquill AI returns cadence and currency inside GET /us/statutes/coverage, which carries a currency list of currentThrough strings and a freshness list naming paused jurisdictions and the reason.
Can I train a model on this data?
OpenLaws permits AI and ML training at its $15,000/mo bulk tier. Vaquill AI serves US public-domain primary law collected from official government sources, so no upstream publisher licence attaches to the text; plan terms govern redistribution.
Does either offer law change alerts?
Both. OpenLaws puts its law change feed, webhooks and GraphQL subscriptions on the $5,000/mo tier. Vaquill AI exposes boards and watches on the metered API, where listing, creating and managing a watch cost nothing and only a change diff is billed at $0.04. See law change webhooks.
Get started
See the API overview and quickstart, then create a key.
Sources, all fetched 2026-09-05: OpenLaws home, API, pricing, coverage, capabilities, getting started and API reference; 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
Read postOpenLaws vs Midpage vs Vaquill AI: US legal data API comparison
Read postTop Legal Data APIs for Developers in 2026
Read postLexisNexis and Westlaw API Alternatives for Developers
Read postState Constitutions API: 51 Jurisdictions With Article and Section Structure
Read postState Court Rules API: 46 Jurisdictions, and an Honest Map of the Six Gaps
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.