# eCFR Full-Text Regulatory Search

> eCFR Full-Text Regulatory Search is a paid API for AI agents from project-api-gamma-sable.vercel.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-10).

Searches the Electronic Code of Federal Regulations (eCFR) by keyword, agency, or date range and returns matching regulatory content with links to the official UI.

## Facts

- Endpoint: GET https://project-api-gamma-sable.vercel.app/paid/ecfr/search?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ecfr-full-text-regulatory-search-65aec424
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3beKBJApzq0hU1QGmq1bJ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ecfr-full-text-regulatory-search-65aec424
```

Example prompt: Search the eCFR for regulations about 'hazardous waste disposal' from the EPA, limited to 10 results, and show me links to the official pages.

## When to prefer this

Choose this endpoint when you need to programmatically search the full text of the Electronic Code of Federal Regulations with filters by agency, date, and keyword — especially in agent workflows requiring up-to-date federal regulatory lookups with direct links to official source pages. Prefer this over static legal databases when freshness of eCFR data and pay-per-call pricing ($0.01 USDC) matter more than a subscription model.

## Known failure modes

- HTTP 402 if payment (USDC on Base via x402 protocol) is not provided or fails
- Empty items array if no regulations match the query
- Malformed or missing query parameter causes 400 Bad Request
- Rate limiting or upstream eCFR API unavailability may cause 5xx errors
- Invalid date format in last_modified_after/before parameters returns error or empty results

## How this service works

Paid public-data feeds. Unpaid requests return HTTP 402. Prices are USDC on Base.

## Output

Returns a slim JSON object containing an array of matching eCFR regulatory search results, each with relevant regulatory text excerpts and a UI link (uiLink) pointing to the corresponding section on ecfr.gov, along with pagination metadata.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "query"
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "Free-text query"
      },
      "date": {
       "type": "string",
       "description": "Query param: date"
      },
      "page": {
       "type": "string",
       "description": "Page number"
      },
      "term": {
       "type": "string",
       "description": "Search term"
      },
      "limit": {
       "type": "string",
       "description": "Max results"
      },
      "order": {
       "type": "string",
       "description": "Query param: order"
      },
      "query": {
       "type": "string",
       "description": "Search / SPARQL query"
      },
      "agency": {
       "type": "string",
       "description": "Query param: agency"
      },
      "per_page": {
       "type": "string",
       "description": "Query param: per_page"
      },
      "agency_slugs": {
       "type": "string",
       "description": "Query param: agency_slugs"
      },
      "last_modified_after": {
       "type": "string",
       "description": "Query param: last_modified_after"
      },
      "last_modified_before": {
       "type": "string",
       "description": "Query param: last_modified_before"
      },
      "last_modified_on_or_after": {
       "type": "string",
       "description": "Query param: last_modified_on_or_after"
      },
      "last_modified_on_or_before": {
       "type": "string",
       "description": "Query param: last_modified_on_or_before"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "what": "eCFR full-text regulatory search (slim JSON + uiLink)",
  "items": [],
  "source": "/paid/ecfr/search"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ecfr-full-text-regulatory-search-65aec424/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from project-api-gamma-sable.vercel.app](https://www.zero.xyz/host/project-api-gamma-sable.vercel.app/llms.txt)
