Skip to content

Browse Regulations API

GET /api/v1/regulations

Searches the compliance-source catalog with an optional natural-language query and optional structured filters. All parameters are composable and independent.

Returns a list of Regulation Objects.

  • Results are ordered by relevance to query when query is non-empty; otherwise by updatedAt DESC, id ASC
  • Ties always fall through to updatedAt DESC, id ASC
  • Ordering is deterministic for a given parameter set
  • Relevance is computed by deterministic text matching over document title, description, authority name, and category label
  • v1 does not search across full document body text and does not require embeddings, vector search, or LLM reranking
NameTypeDefaultDescription
querystringNatural-language query. When omitted, results are ordered by updatedAt DESC.
categorystring (repeatable)Filter by category. OR within this dimension.
authoritiesstring (repeatable)Filter by authority id (e.g., cfpb, occ, fincen, congress, ny-dfs). OR within this dimension.
jurisdictionsstring (repeatable)Filter by jurisdiction id (e.g., us-federal, us-state:ny). OR within this dimension.
limitinteger50Max results per page. Min 1, max 200.
cursorstringOpaque cursor from a prior response using the same query/filter set.

Values are OR’d within a dimension and AND’d across dimensions.

?category=regulation&category=agencyGuidance&authorities=cfpb

This means: (regulation OR agencyGuidance) AND cfpb.

All parameters are optional. Calling GET /api/v1/regulations with no parameters returns the most recently updated documents across the entire corpus.

{
"results": [
{
"id": "01HXZ3K4M7QR9VP2N8WYJF5GTB",
"category": "regulation",
"title": "Suspicious Activity Report Filing Requirements for Banks",
"authorities": ["fincen"],
"jurisdictions": ["us-federal"],
"description": "Part of the Bank Secrecy Act / Anti-Money Laundering (BSA/AML) framework. Requires banks to file a Suspicious Activity Report when they detect transactions that appear to involve illegal funds, evade BSA requirements, lack an apparent lawful purpose, or use the bank to facilitate criminal activity.",
"updatedAt": "2026-04-09T00:00:00Z",
"sourceUrl": "https://www.ecfr.gov/current/title-31/subtitle-B/chapter-X/part-1020/subpart-C/section-1020.320"
}
],
"pagination": {
"nextCursor": "eyJxdWVyeUhhc2giOiJhYmMiLCJvZmZzZXQiOjIwfQ",
"hasMore": true,
"approximateTotal": 47
}
}

Each item in results is a Regulation Object. See the Regulation Object page for a full description of all fields.

  • Pagination is cursor-based
  • cursor is opaque and must be reused only with the same query/filter set
  • Cursors expire after 1 hour
  • If a cursor is invalid or expired, the API returns 400 invalid_cursor — restart from the first page
  • approximateTotal is a best-effort count, suitable for scope estimates but not billing or compliance calculations