Short answer: federal sub-regulatory guidance is queryable as one corpus through a single search call, with corpusType=AGENCY_GUIDANCE and 53 named source codes underneath it. That covers more than 96,000 documents: the DOJ Justice Manual, the USCIS Policy Manual, MPEP and TMEP, IRS revenue rulings and notices, OCC and FDIC and Federal Reserve letters, FinCEN rulings, CFTC staff letters, HHS OCR HIPAA material, export-control advisory opinions, and more. None of it is binding law the way a statute or a final rule is. All of it is what the people who actually enforce those rules read first.
Reviewed and corrected on 12 October 2026. This is general information, not legal advice.
TL;DR
- Sub-regulatory guidance is what an agency says its own rules mean, issued without notice-and-comment rulemaking. It doesn't carry the force of law, and it still decides most real-world outcomes.
- 53 named sources, more than 96,000 documents, one
corpusTypetoken. Sources are split with thesourcefilter, so a new source lands as a registry entry instead of a new API token your integration has to learn. - Pass an unknown
sourcevalue and you get a 422, not an empty page. The error body, as captured earlier, lists every valid code with a human-readable label, so the filter documents itself. - Two archives are closed. CPSC Office of General Counsel advisory opinions run 1973 to 2012, and BIS advisory opinions run 2003 to 2023. Both are historical records, not live feeds.
- One source is a rolling window. NLRB Division of Advice Memoranda hold a 10-year window, not the full archive. That is stated in the API's own error text, not buried in a footnote.
- Every result carries the publisher's own URL. Guidance comes from the issuing agency's site, never from a commercial aggregator.
For years an agency told your client, in opinion letters, that a job category was exempt from overtime. The agency now reverses course with a new interpretation, issued without notice and comment. Is the missing comment period a legal defect on its own?
This post is the map for our federal agency guidance series.
For related coverage, see DOJ Justice Manual API: Over 1,500 Sections of Federal Prosecution Policy, IRS Guidance API: Revenue Rulings, Revenue Procedures, Notices, and Announcements, Banking and AML Guidance API: OCC, FDIC, Federal Reserve, and FinCEN in One Query, and MPEP and TMEP API: Patent and Trademark Examining Procedure You Can Query.
What sub-regulatory guidance is
Start with the ladder. Congress passes a statute. An agency writes a rule under that statute, runs notice-and-comment, and the final rule lands in the Code of Federal Regulations. That rule binds you.
Then the agency has to explain the rule to its own staff and to the public. That explanation is sub-regulatory guidance: manuals, policy statements, interpretive letters, advisory opinions, no-action letters, FAQs, memoranda. It skips notice-and-comment, so a court isn't bound by it.
Here is the part that trips up engineers building compliance tooling. Guidance is not binding, and it is still the operative document for almost everyone you will ever deal with. A patent examiner works from the MPEP. An OCC examiner works from OCC bulletins. A federal prosecutor deciding whether to charge your client's company works from the Justice Manual. An immigration officer works from the USCIS Policy Manual.
A short history: how guidance got its odd status
The odd status has a text behind it. Section 553 of the Administrative Procedure Act of 1946 says that the notice-and-comment requirement does not apply "to interpretative rules, general statements of policy, or rules of agency organization, procedure, or practice" (read it at 5 U.S.C. 553). Everything in this post lives inside that exemption.
The Supreme Court made it concrete in 2015. In Perez v. Mortgage Bankers Association, the Labor Department's Wage and Hour Division had written letters in 1999 and 2001 saying mortgage-loan officers did not qualify for the administrative exemption to overtime, then issued an opinion letter in 2006 saying they did. In 2010 the Department withdrew the 2006 letter and issued a new Administrator's Interpretation, without notice or comment, saying they did not. The industry sued, and the Court held that an agency can change an interpretive rule without notice and comment. The official syllabus in the bound volume describes interpretive rules as ones that "do not have the force and effect of law."
Then the weight of guidance in court changed. In Loper Bright Enterprises v. Raimondo, decided June 28, 2024, the Court held, in the words of the official syllabus, that "courts may not defer to an agency interpretation of the law simply because a statute is ambiguous; Chevron is overruled." The same syllabus explains that "respect" for the executive branch's reading is old, but that such views "could inform the judgment of the Judiciary, but did not supersede it." That is a fair one-line description of how to treat a guidance hit.
Politics has pulled on this too. In October 2019, Executive Order 13891 said agencies should "treat guidance documents as non-binding both in law and in practice, except as incorporated into a contract," and warned that "Even when accompanied by a disclaimer that it is non-binding, a guidance document issued by an agency may carry the implicit threat of enforcement action if the regulated public does not comply" (Federal Register, October 15, 2019). On January 20, 2021, Executive Order 13992 revoked it, and on January 20, 2025, Executive Order 14148 in turn revoked 13992 (per the Federal Register's notes on those orders). Revoking the revoking order does not by itself bring the original back, so check the current status of any order you rely on. The rules for guidance can change with the administration. The pressure that guidance puts on regulated people doesn't.
A compliance program that indexes only the 222,311 sections of the CFR is reading the law and missing the practice. That gap is where programs fail audits.
The sources, by agency family
Counts below are document counts from the published coverage registry, measured 2026-09-07. Sources have been added and grown since, so the rows are a snapshot that does not sum to the corpus total, and GET /us/statutes/coverage has the current figures. Long documents index as several retrieval passages, so a passage count runs well above a document count. The IRS row carries four source codes on one line.
Tax
| Source | source code | Docs | Window |
|---|---|---|---|
| IRS Revenue Procedures, Revenue Rulings, Notices, Announcements | irs_rev_proc, irs_rev_rul, irs_notice, irs_announcement | 1,478 combined | 2015 to present |
| Synthesized administrative guidance (SALT cap, CTC, 401k limits) | administrative_guidance | see note | rolling |
Banking, markets, and AML
| Source | source code | Docs | Window |
|---|---|---|---|
| FDIC Financial Institution Letters | fdic_fil | 2,327 | since 1994, active and inactive indexes |
| CFTC Staff Letters (no-action, exemptive, interpretative, advisory) | cftc_staff_letter | 947 | 2008 to present |
| OCC Bulletins | occ_bulletin | 617 | since 1994 |
| OCC Interpretive Letters | occ_interpretive_letter | 449 | 1996 to present |
| Federal Reserve SR and CA Letters | frb_sr_letter | 344 | since 1990 |
| FinCEN Guidance (alerts, advisories, notices, bulletins, fact sheets) | fincen_guidance | 129 | rolling |
| FinCEN Administrative Rulings | fincen_ruling | 85 | since 1988 |
Labor
| Source | source code | Docs | Window |
|---|---|---|---|
| NLRB Division of Advice Memoranda | nlrb_advice_memo | 340 | rolling 10-year window, not the full archive |
| NLRB General Counsel Memoranda | nlrb_gc_memo | 301 | 1973 to present |
Immigration
| Source | source code | Docs | Citation form |
|---|---|---|---|
| USCIS Policy Manual | uscis_policy_manual | 460 documents across 12 volumes | USCIS Policy Manual, Vol. 12, Pt. D, Ch. 3 |
Intellectual property
| Source | source code | Docs | Citation form |
|---|---|---|---|
| USPTO Trademark Manual of Examining Procedure | tmep | 2,114 sections, 19 chapters | TMEP 1207.01 |
| USPTO Manual of Patent Examining Procedure | mpep | 2,727 sections, 29 chapters | MPEP 2106 |
| US Copyright Office Circulars | copyright_circular | 58 circulars | Circular number |
Antitrust and criminal enforcement
| Source | source code | Docs | Citation form |
|---|---|---|---|
| DOJ Justice Manual | doj_justice_manual | 1,555 sections | Justice Manual 9-27.420 |
| DOJ and FTC Merger Guidelines | merger_guidelines | 1 document | 2023 Merger Guidelines |
| DOJ Antitrust Division Leniency Policy | doj_leniency | 1 document | Leniency Policy |
Export control
| Source | source code | Docs | Window |
|---|---|---|---|
| DDTC Commodity Jurisdiction Determinations (ITAR USML vs EAR) | ddtc_commodity_jurisdiction | 5,903 | 2010 to present |
| BIS Advisory Opinions (EAR) | bis_advisory_opinion | 39 | 2003 to 2023, closed |
| DDTC Guidance | ddtc_guidance | 9 | 2023 to 2026 |
Health privacy
| Source | source code | Docs | Note |
|---|---|---|---|
| HHS OCR HIPAA FAQs | hhs_ocr_hipaa_faq | 444 | deduped from HHS cross-listed topic pages |
| HHS OCR resolution agreements and civil money penalties | hhs_ocr_resolution_agreement | 146 | enforcement outcomes |
| HHS OCR HIPAA guidance | hhs_ocr_hipaa_guidance | 44 | guidance materials |
Energy and communications
| Source | source code | Docs | Window |
|---|---|---|---|
| FCC Declaratory Rulings | fcc_declaratory_ruling | 174 | rolling |
| DOE Appliance Standards Guidance and FAQs | doe_appliance_guidance | 60 | draft guidance excluded |
| FERC Policy Statements | ferc_policy_statement | 82 statements, 2,698 passages | since 1996 |
Consumer safety
| Source | source code | Docs | Window |
|---|---|---|---|
| CPSC OGC Advisory Opinions | cpsc_advisory_opinion | 305 | 1973 to 2012, closed historical archive |
| CPSC Small Entity Compliance Guides | cpsc_secg | 34 | rolling |
Benefits
| Source | source code | Docs | Note |
|---|---|---|---|
| Social Security Administration Rulings | ssa_ruling | 1,116 | SSRs and acquiescence rulings |
Federal procurement
| Source | source code | Docs | Citation form |
|---|---|---|---|
| DFARS Procurement Guidance and Information | dfars_pgi | 397 docs across 47 Parts | PGI 225.370 |
Each family gets its own deep dive elsewhere in this series, with the citation forms, the quirks, and a worked query per source: IRS revenue rulings and notices, the banking and AML letter families across the OCC, FDIC, the Federal Reserve and FinCEN, MPEP and TMEP for patent and trademark work, the USCIS Policy Manual, the NLRB memoranda, export-control determinations from BIS and DDTC, HHS OCR HIPAA material, the DOJ Justice Manual and the merger guidelines, and the long-tail regulators at CFTC, FCC, FERC, DOE and CPSC. This post is the map; those are the territory.
FERC Policy Statements are FERC's generally-applicable interpretive vehicle. They are deliberately narrower than the docket-based eLibrary universe of case-specific orders, which is a different problem with a different shape.
A quick story: the hand sanitizer fee
Guidance can only say what it says. In March 2020 the FDA issued temporary guidance that encouraged firms that were not traditional drug manufacturers, among them many distilleries and breweries, to make hand sanitizer during the COVID-19 shortage. Separately, the CARES Act, signed March 27, 2020, created a new user fee program for over-the-counter drugs. On December 29, 2020, the FDA published a notice setting the fees: $14,060 for a monograph drug facility, as summarized by the law firm Hogan Lovells. The distillers who had entered under the temporary policy were suddenly looking at a bill. On January 6, 2021, the Department of Health and Human Services ordered the FDA to "cease further collection efforts," and said the notice had been issued without the Secretary's approval. The same summary reports HHS's position that the fee notice was a legislative rule that needs notice and comment, and adds a fair counterpoint: the FDA had issued many user fee notices since 1992 without that process, so the agency would have to decide how to proceed. Two days after that, HHS issued another notice saying first-time hand sanitizer suppliers would not be subject to the fees.
What ended the bill was a second agency action, taken within days. If you build something on a non-enforcement policy, read exactly which provisions it names.
One token, 53 codes: why the API is built this way
The design decision that matters to you is boring and load-bearing. All 53 sources sit behind one corpusType value, and you split them with source. Every token is listed in the corpus types reference.
The alternative was a token per source: corpusType=MPEP, corpusType=JUSTICE_MANUAL, corpusType=OCC_BULLETIN. That is worse in a specific way. Every new source becomes a vocabulary item your integration must learn and your enum must widen.
With one token, adding another source is a registry entry. Existing integrations that query corpusType=AGENCY_GUIDANCE pick it up on the next call with no code change. Integrations that pin a source list keep working exactly as before.
Search everything, then narrow. A call with no source filter searches all 53. Read source off the results to see which families answered, then pin the ones you want.
curl -s -X POST https://api.vaquill.ai/api/v1/us/statutes/search \
-H "Authorization: Bearer vq_key_..." \
-H "Content-Type: application/json" \
-d '{
"query": "evaluating a corporate compliance program when charging a business organization",
"corpusType": "AGENCY_GUIDANCE",
"limit": 5
}'
Real results from that call, run through the Vaquill MCP server on 12 October 2026 (the scores move as the index does):
actId | Citation | Title | source | Score |
|---|---|---|---|---|
JM_S9-28.800 | Justice Manual 9-28.800 | Corporate Compliance Programs | doj_justice_manual | 0.934 |
JM_S9-28.300 | Justice Manual 9-28.300 | Factors to Be Considered | doj_justice_manual | 0.867 |
JM_S9-28.1000 | Justice Manual 9-28.1000 | Restitution and Remediation | doj_justice_manual | 0.844 |
JM_S9-47.120 | Justice Manual 9-47.120 | Criminal Division Corporate Enforcement and Voluntary Self-Disclosure Policy | doj_justice_manual | 0.773 |
JM_S9-28.500 | Justice Manual 9-28.500 | Pervasiveness of Wrongdoing Within the Corporation | doj_justice_manual | 0.770 |
Each of those carries externalUrl pointing at justice.gov, and a displayPath that reads DOJ Justice Manual / Title 9: Criminal / 9-28.000 - Principles of Federal Prosecution Of Business Organizations. You can render a breadcrumb without a second call.
The 422 that documents itself
Filters fail loud. Pass a source value that doesn't exist and you get a 422 with the full valid set, not an empty result page that looks like a coverage gap. The error reference covers the other failure shapes.
Here is a request with a plausible-looking typo (irs_rev_ruling instead of irs_rev_rul). This example was captured earlier and was not re-run in our October 2026 review, because the endpoint needs an API key. The spec says an unrecognized source is rejected with a 422.
{
"query": "guidance",
"corpusType": "AGENCY_GUIDANCE",
"source": "irs_rev_ruling",
"limit": 1
}
And the response as captured, HTTP 422, abridged in the middle:
{
"detail": "Invalid request parameters",
"errors": [{
"loc": ["body", "source"],
"msg": "Value error, Unknown `source` value(s) ['irs_rev_ruling']. Expected one of: `administrative_guidance` (Synthesized administrative guidance (e.g. SALT cap, CTC, 401(k) limits)), `bis_advisory_opinion` (BIS (Bureau of Industry and Security) Advisory Opinions), `cftc_staff_letter` (CFTC Staff Letters (no-action, exemptive, interpretative; 2008-present)), ... `nlrb_advice_memo` (NLRB Division of Advice Memoranda (rolling 10-year window, not the full archive)), ... `uscis_policy_manual` (USCIS Policy Manual)"
}]
}
Two things worth noticing. The message carries the human label alongside every code, so you can build a source picker straight from an error response. And the coverage caveats live in the label itself. The rolling 10-year window on NLRB advice memoranda is in the API's own error text.
The source filter is shared across corpora, so the valid set also includes codes that belong to other corpusType values: far and dfars under CFR, frcp and fre and sct under FEDERAL_RULES, state_insurance_bulletin under STATE_AGENCY_GUIDANCE. Passing a valid code that belongs to a different corpus returns zero results rather than an error, so keep corpusType and source consistent.
Failed calls are not charged. A 422 costs you nothing, which makes it safe to probe the filter during development.
What practitioners say
Anyone who has worked with this layer will tell you the code isn't the whole story. A commenter on Hacker News who described about 15 years in law and public policy, starting in the U.S. Congress in 2009, wrote in a thread about a project that treats law like version-controlled code: "There are a bunch of other issues in figuring out 'what the law is', like agency rulemakings in the CFR, and then instruments which sit below those, including sub-regulatory guidance, prosecutorial discretion, etc." (colinhb, Hacker News, April 2026). Their examples included SEC no-action letters, DOJ marijuana enforcement, and the day Chevron was overruled, when statutes stayed the same but how courts read them changed. That's a good reason to keep guidance in your data model next to the text it explains.
The parts that are closed, and why we say so
Three coverage facts belong in your runbook, because they will look like bugs otherwise.
CPSC OGC advisory opinions run 1973 to 2012. Those 305 documents are a historical archive. A pipeline that expects a new one will wait forever.
BIS advisory opinions run 2003 to 2023. Same shape, different agency: 39 documents, and BIS publishes only a selection of its opinions.
NLRB Division of Advice Memoranda hold a rolling 10-year window. This one is the trap, because it looks complete. It isn't the full archive, and a memo from 2008 that you saw cited in a brief won't be in the corpus. NLRB General Counsel Memoranda, by contrast, do go back to 1973.
What this corpus is scoped to
Being clear about the edges is more useful than a feature list.
Past text is a reconstruction, and it has a bound. A citation resolves to the current text, and asOf=2019-06-01 on the section body call rebuilds what MPEP 2106 said before a revision only from changes we observed after that date, with isBounded marking answers that rest on when capture began rather than on the law. Treat it as a reconstruction of the older manual and nothing more. Alongside it: amendment history where the publisher prints it, a lastAmendedYear per section, a yearFrom and yearTo currency filter, and per-item change diffs on watched sources, a boundary we lay out in full. If your use case needs the exact historical text of superseded guidance, check asOf.isBounded first and keep the publisher's own archived copy as the record.
Guidance is not the rule. Cross-reference fields point you at the CFR parts and USC sections a document interprets. Follow them. An answer that cites only guidance is an answer that cites only what the agency thinks.
Wiring it into a compliance pipeline
The refresh cadence for the agency guidance board was monthly on 12 October 2026. That sets the shape of a sane integration.
- Pin your sources. Send
sourceas a list of the codes your product actually cares about. A HIPAA product wants three codes; a bank supervision product wants seven; a patent product wants one. - Store
actId, not your own key. Ids are stable across refreshes. Titles and page paths aren't. - Keep
externalUrlin your record. It is the publisher's own copy, which is what a reviewer will ask for when they challenge an answer. - Watch what changes rather than diffing everything.
GET /boardscosts nothing and lists the watchable boards, each row carrying itscadenceand itslastRetrievedAt. Agency guidance is one board, and a watch on it can be scoped to a singlesourceor a single publishing agency. Subscribe a watch and read per-item diffs instead of re-crawling the whole corpus every month. See Law Change Alerts and how we know a law changed for that path. - Alert on a stalled board, not on a quiet week. A closed archive produces no changes by design. A board whose
lastRetrievedAthasn't moved is the real signal.
Sourcing is a hard rule rather than a preference: every document comes from the issuing agency's own site, never from a commercial aggregator, not even as a fallback. Where an agency stops publishing, the corpus carries the gap and declares it. The pipeline is open source at open-us-law, so the parsers are auditable.
FAQ
Is federal agency guidance binding law?
No. Sub-regulatory guidance is issued without notice-and-comment rulemaking, so it doesn't carry the force of law the way a statute or a codified final rule does. Courts treat it as persuasive at best. It still drives most enforcement, examination, and adjudication outcomes, which is why compliance programs that ignore it fail.
What is the difference between the CFR and agency guidance?
The CFR holds legislative rules that went through notice-and-comment and bind regulated parties. Agency guidance explains what those rules mean and how the agency will apply them. They are separate corpora with separate corpusType tokens, and a complete answer usually needs both.
How many documents are in the federal agency guidance corpus?
More than 96,000 documents across 53 named sources, as counted by the live coverage endpoint on 2026-10-12. Long documents split into multiple retrieval passages, so a passage count runs higher: the 82 FERC policy statements, for example, index as 2,698 passages.
Can I search only IRS guidance?
Yes. Pass corpusType=AGENCY_GUIDANCE with source set to one or more of irs_rev_proc, irs_rev_rul, irs_notice, or irs_announcement. That family held 1,478 documents covering 2015 to present in the published registry (2026-09-07). Older revenue rulings are outside the current window.
Why do I get a 422 instead of zero results for a bad filter?
Because a zero-result page looks identical to a real coverage gap, and that ambiguity ships bugs. Unknown filter values are rejected with a 422 whose message lists every valid code with a label. Failed calls aren't charged, so probing the filter is free.
Does the corpus include historical versions of a guidance document?
Earlier text comes from asOf=YYYY-MM-DD on the section body call. For guidance it is rebuilt from the before-side of the first change observed after your date, and isBounded is set when the answer rests on when change capture began rather than on the law. Stored published editions exist for the CFR annual editions and the US Code, so treat a guidance result as a reconstruction. Beside it you have amendment history where the publisher prints it, a last-amended year per item, a yearFrom and yearTo currency filter, and per-item change diffs on watched sources going forward.
Which agency guidance sources are no longer updated?
CPSC Office of General Counsel advisory opinions (1973 to 2012) and BIS advisory opinions (2003 to 2023) are historical archives that don't grow. NLRB Division of Advice Memoranda hold a rolling 10-year window rather than the full archive. Everything else is refreshed on the board's cadence, which was monthly on 12 October 2026.
Can I use this 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 the corpus as a tool. See adding legal research to an AI agent over MCP for the wiring.
What does a search cost?
A search is 4 credits and returns up to 50 results per page, with paging cut from a single ranking so a later page costs no more than the first. The coverage and boards endpoints are free. Pricing details are in the credits explainer.
Where to start
If you are indexing federal compliance material, start with GET /us/statutes/coverage, read the corpusTypes array, and pin the source codes your product needs. That call is free and it reports what exists today.
Vaquill AI serves this corpus alongside the CFR, the Federal Register, the US Code, and state statutes for 56 state-level jurisdictions (50 states, DC and five territories) behind one key. Scope it to what guidance is for: what an agency says its rules mean today, with the publisher's own URL on every result.
New legal AI guides, weekly.
Further Reading
The Long-Tail Regulators: CFTC, FCC, FERC, DOE, and CPSC Guidance in One API
Read postDOJ Justice Manual API: Over 1,500 Sections of Federal Prosecution Policy
Read postExport Controls API: BIS Advisory Opinions and DDTC Commodity Jurisdiction Determinations
Read postHIPAA Guidance API: HHS OCR FAQs, Guidance, and Enforcement Actions
Read postNLRB Memoranda API: General Counsel and Division of Advice Memos, Queryable
Read postUSCIS Policy Manual API: Query Immigration Guidance by Volume, Part and Chapter
Read post
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.