An executive orders API returns presidential documents as structured JSON instead of scraped HTML. Vaquill AI's EXECUTIVE_ACTION corpus holds 3,788 documents pulled from the Federal Register's presidential documents stream, covering 2015 to today, refreshed daily. That includes executive orders, proclamations, presidential memoranda, and notices, each with a president, a signingDate, and a link back to the publisher's own copy. The part most teams get wrong is what an order actually does: it directs the executive branch, it does not amend a statute, and its real-world effect usually shows up months later as an agency rule.
TL;DR
- The corpus is Federal Register presidential documents, 2015 to present, 3,788 items, filtered with
corpusType=EXECUTIVE_ACTIONand narrowed to orders withdocumentType=presidential. - An executive order binds agencies, not Congress. It cannot repeal a statute. Its operational effect arrives downstream as a proposed rule, then a final rule, then codified text in the CFR.
- The hard question is not "what does this order say," it is "is it still in force." Orders revoke and amend each other, and an order's own text can never tell you what a later order did to it.
- The API gives you supersession fields, daily change capture, and official source links. It does not give you an
as_of=1998-04-01historical query. There is one current text per document. - Monitoring is a two-call loop:
GET /boardsto see when a source was last retrieved, then a watch that emits a per-document diff when the daily refresh finds something new. - If you need the full presidential archive back to Roosevelt, this corpus is the wrong tool. It starts in 2015 and says so.

How far back does the EXECUTIVE_ACTION corpus go?
This is one entry in our US primary law corpus series, which takes the corpus one source at a time.
The companion piece on the statutory side is Statutes at Large API: Reading Federal Law As Enacted, the other corpus that serves federal law as issued rather than as compiled. For the rulemaking an order sets off, see Federal Register API: Querying 202,526 Final and Proposed Rules.
What is actually in the EXECUTIVE_ACTION corpus
The source is the Federal Register's presidential documents stream, not a White House press page and not a third-party tracker. That matters because the Federal Register is the statutory publication of record.
Under 44 U.S.C. 1505, the Federal Register publishes "Presidential proclamations and Executive orders, except those not having general applicability and legal effect or effective only against Federal agencies or persons in their capacity as officers, agents, or employees thereof."
Read that exception carefully, because it defines the edge of the corpus. A purely internal directive with no general applicability may never appear in the Federal Register at all, and so will not appear here either.
| Corpus | corpusType token | Items | Window | Refresh |
|---|---|---|---|---|
| Executive Orders and Presidential Documents | EXECUTIVE_ACTION | 3,788 | 2015 to present | Daily |
| Federal Register agency rules, final and proposed | FEDERAL_REGISTER | 202,526 | 1994 to present | Weekly |
| Code of Federal Regulations | CFR | 219,114 | Current | Daily |
| United States Code, 2024 edition | USC | 60,170 | Current through 2025-01-06 | Checked weekly |
Those four corpora are the whole chain, and you will use more than one of them. Each token is defined in the corpus types reference. An order alone almost never answers a compliance question. The two you will reach for most are documented in Federal Register API: Querying 202,526 Final and Proposed Rules and CFR API: 219,114 Federal Regulation Sections, Refreshed Daily.
A fifth corpus sits alongside them for the statutory side of the same question: SESSION_LAW, the federal law as Congress enacted it, covered in Statutes at Large: reading federal law as enacted.
What an executive order can and cannot do
An executive order is a written directive from the President to the executive branch. Its authority comes from Article II or from a statute that delegates power to the President. It binds agencies and federal officers.
It does not bind Congress, it does not amend the United States Code, and it does not repeal a regulation on its own. When an order exceeds the President's authority, a court can set it aside, which is the whole point of Youngstown Sheet & Tube Co. v. Sawyer, 343 U.S. 579 (1952).
For a policy monitoring or GRC tool, the practical consequence is blunt. The order is the trigger, and the agency rule is the obligation.
Take a concrete pair. Executive Order 12866, "Regulatory Planning and Review," signed by President Clinton in 1993, set the cost-benefit review process that OIRA still runs.
Eighteen years later, President Obama signed Executive Order 13563, "Improving Regulation and Regulatory Review," on January 18, 2011, which reaffirmed the cost-benefit provisions of EO 12866 and added retrospective review duties on top.
Neither order is readable on its own. Anyone who reads only 12866 gets a stale answer, and anyone who reads only 13563 misses the framework it supplements.
The fields you will actually filter on
Search runs at POST /us/statutes/search against https://api.vaquill.ai/api/v1, authenticated with a bearer key. The filters relevant to presidential documents are small enough to memorize.
| Field | What it does | Notes |
|---|---|---|
corpusType | Selects the corpus | EXECUTIVE_ACTION, single value or a list |
documentType | Narrows by document class | final, proposed, or presidential |
president | The signing president | Use it to slice by administration |
signingDate | When the document was signed | Distinct from the publication date |
rescindedOn | When the document was rescinded | Empty on documents with no recorded rescission |
publishedFrom / publishedTo | Publication date window | The right window filter for this corpus |
actId | Stable per-document identifier | Take it from a response, never build it |
A first query looks like this, and the API playground will run it without any code.
curl -s https://api.vaquill.ai/api/v1/us/statutes/search \
-H "Authorization: Bearer $VAQUILL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "federal contractor labor standards",
"corpusType": "EXECUTIVE_ACTION",
"documentType": "presidential",
"limit": 25
}'
Then take the same subject downstream, into the rulemaking that carries the actual obligation.
curl -s https://api.vaquill.ai/api/v1/us/statutes/search \
-H "Authorization: Bearer $VAQUILL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "federal contractor labor standards",
"corpusType": "FEDERAL_REGISTER",
"documentType": "final",
"publishedFrom": "2024-01-01",
"limit": 25
}'
Two things about the mechanics are worth knowing before you build a pager. Paging is cut from a single ranking, so results do not repeat or vanish between pages, and page 4 costs the same as page 1. Unknown filter values return a 422 instead of silently matching nothing, which is the difference between a loud bug and a quiet one.
The real operational problem: is this order still in force
Here is the thing that breaks naive executive-order tooling. Orders modify each other, and the modification is recorded in the later order, not the earlier one.
A 2017 order might say "Executive Order 13XXX is hereby revoked." Nothing is written back into the 2017 target document. If you fetch the target and read its text, it reads exactly as it did the day it was signed, with no hint that it stopped operating.
Multiply that by amendment. An order can be partially amended, have one section struck, or be superseded in effect without the word "revoke" appearing anywhere. The status of any given order is a function of every later order that touched it.
What the API gives you toward this
- Supersession fields on the document.
rescindedOncarries a recorded rescission date where one exists, so a rescinded order is visibly rescinded rather than silently stale. - Change capture on a daily-refreshed board. The
EXECUTIVE_ACTIONcorpus is pulled daily, and each refresh records what changed, so a new revoking order shows up in your feed the day it publishes. - The publisher's own URL on every result. Every item carries the official source link, so a reviewer can check the Federal Register copy without trusting our rendering.
- Full text search across the whole set. Searching the corpus for a specific order number surfaces every later document that names it, which is the closest thing to a reverse-revocation index.
What the API does not give you
It also does not ship an editorially maintained "in force / not in force" flag for every order. Nobody should sell you one without showing their work, because that determination is a legal judgment about scope and effect, not a field you can scrape.
The honest recipe is a hybrid. Use rescindedOn for the clean cases, full-text search on the order number for the messy ones, and a human review step before anything reaches a client.
A daily-diff monitoring recipe
The monitoring pattern has two halves: prove the source is fresh, then subscribe to what changed.
Step 1: check the board before you trust the data
GET /boards costs nothing. It enumerates every watchable source and returns three fields you should log on every run.
curl -s https://api.vaquill.ai/api/v1/boards \
-H "Authorization: Bearer $VAQUILL_API_KEY"
| Field | Why you care |
|---|---|
lastRetrievedAt | If a "daily" board has not been retrieved in three days, your feed is quiet because it is broken, not because Washington is quiet |
cadence | The declared refresh interval, so your alerting threshold is derived from the source rather than guessed |
retrievalStatus | Distinguishes a healthy empty day from a failed pull |
A quiet feed and a broken feed look identical from the outside. This is the single most common way a compliance monitor fails silently, and one free call per run removes it. How We Know a Law Changed: Boards, Diffs, and the False Positives Nobody Talks About walks the rest of that failure surface.
Step 2: subscribe, then diff
The watch surface is the same on REST, documented in the alerts guide, and on the MCP server at mcp.vaquill.ai, where the operations are named directly:
list_boardsto find the executive-action board and confirm its cadence.create_watchscoped to that board, with your delivery target.test_watchbefore you go live, so you find a webhook signature bug on a Tuesday afternoon instead of during a real change.list_watch_changeson a schedule, or take the push.get_watch_change_difffor each change id, which returns the per-document diff.list_watch_deliverieswhen someone asks why an alert never arrived.
The step teams skip is step 3, and then step 6 is the one they run at 2am.
Where this corpus is the wrong choice
Say it plainly, because a mismatch here wastes a quarter.
- You need the full historical presidential archive. Coverage starts in 2015. Research on Reagan-era or New Deal orders needs a different source.
- You need adjudicated legal effect. Whether an order survived a challenge is case law, and this is a statutes and regulations corpus, not a case-law product.
- You need internal directives with no general applicability. Those are excepted from Federal Register publication by 44 U.S.C. 1505, so they are not in the publication of record.
- You need a certified in-force register. No such field is published, and inventing one would be worse than the gap.
What it is good at is narrower and more useful: a stable, daily-refreshed, machine-readable feed of published presidential documents, joined to the agency rulemaking they trigger, with the publisher's own URL on every row.
The sourcing rule for this corpus is the government publisher that issued the document. A commercial aggregator is never the source, and it is not used as a fallback either. Where a publisher blocks automated access, the corpus carries a declared gap instead of filling it from a reseller. The collection layer is published at Vaquill-AI/open-us-law, so the parsers behind these documents are readable rather than asserted.
FAQ
Is there an official executive orders API?
The Federal Register publishes presidential documents and offers public access to that stream, and the National Archives maintains the disposition tables for executive orders. What is missing is a single query surface that joins an order to the agency rulemaking it triggered, with stable ids and change detection. That gap is what a commercial corpus fills.
How many executive orders are in the Vaquill AI corpus?
The EXECUTIVE_ACTION corpus holds 3,788 presidential documents from 2015 to present, refreshed daily. That count includes executive orders, proclamations, presidential memoranda, and notices, since the Federal Register publishes them in one presidential documents stream.
Can an executive order change a federal statute?
No. An order directs the executive branch and draws its authority from Article II or from a statute that delegates power to the President. Changing statutory text requires Congress. When an order pushes past the President's authority, courts can set it aside, as in Youngstown Sheet & Tube Co. v. Sawyer, 343 U.S. 579 (1952).
How do I tell whether an executive order has been revoked?
Check rescindedOn first, which carries a recorded rescission date where one exists. Then run a full-text search on the order number across the corpus, because a later order that revokes or amends it will name it in its own text. Neither step is a substitute for a human reading the operative language.
Does the API support a point-in-time or historical query?
Versioning here runs off the amendment record rather than a date parameter. The corpus serves one current text per citation, with amendment history, a yearFrom/yearTo currency filter, change events per refresh, and per-document diffs on watched boards. Teams that need a historical record build it by storing the diffs they receive.
What is the difference between documentType presidential and final?
presidential selects presidential documents such as orders and proclamations. final selects final agency rules, which is what you want when you are chasing the enforceable obligation rather than the directive that started it. proposed selects rules still in the comment stage.
How do I find the agency rule that an executive order produced?
Search EXECUTIVE_ACTION for the order, note the agency and the subject, then search FEDERAL_REGISTER with documentType=final and a publishedFrom date after the signing date. The order is the trigger and the rule is the obligation, so budget for a lag of months between the two.
How often is the executive orders data refreshed?
Daily. You can verify that claim yourself with a free GET /boards call, which returns lastRetrievedAt, cadence, and retrievalStatus for every watchable source. Log those three fields on each run so a stalled feed does not read as a quiet news week.
Do failed API calls cost credits?
No. Failed calls are not charged, and a search costs 4 credits when it succeeds. GET /statutes/coverage and GET /boards are free, so freshness checks and coverage checks do not eat your budget.
Can I get executive orders through MCP instead of REST?
Yes. The same surface is published as an MCP server at mcp.vaquill.ai, using the same vq_key_ credential, so an agent can call list_boards, create_watch, and get_watch_change_diff directly. See adding legal research to an AI agent over MCP for the wiring.
New legal AI guides, weekly.
Further Reading
Insurance Compliance Across 50 States: Where the Rules Actually Live
Read postState Insurance Bulletins API: 49 Insurance Departments in One Query
Read postState Regulations API: 1.5 Million Administrative Rules Across 52 Jurisdictions
Read postFAR and DFARS API: Government Contract Clauses You Can Query by Number
Read postUS Tax Treaty API: Bilateral Treaties and Technical Explanations, Citable by Article
Read postFederal Register API: Querying 202,526 Final and Proposed Rules
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.