-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference
The ExChek API provides live eCFR regulatory data for the skills. No authentication required; no payment required. All endpoints return JSON.
Base URL: https://api.exchek.us
Full API reference: https://docs.exchek.us/docs/api-reference
These endpoints return the full structure of a given CFR Part as JSON. Skills use them to apply regulatory logic with current rule text.
| Endpoint | Description | Used by |
|---|---|---|
GET /api/ecfr/774 |
15 CFR Part 774 — Commerce Control List (CCL) | ECCN Classification, License Determination |
GET /api/ecfr/738 |
15 CFR Part 738 — Commerce Country Chart | License Determination, Country Risk |
GET /api/ecfr/740 |
15 CFR Part 740 — License Exceptions | License Determination |
GET /api/ecfr/742 |
15 CFR Part 742 — CCL-based Controls (incl. encryption § 742.15) | Encryption |
GET /api/ecfr/744 |
15 CFR Part 744 — End-use Controls (Entity List, MEU) | ECCN Classification, License Determination |
GET /api/ecfr/746 |
15 CFR Part 746 — Embargoes and Special Controls | Country Risk, License Determination |
GET /api/ecfr/121 |
22 CFR Part 121 — U.S. Munitions List (USML) | ECCN Classification, Jurisdiction |
Search within a specific Part for a keyword or phrase.
| Endpoint | Description |
|---|---|
GET /api/ecfr/:part/search?q=term |
Full-text search within a specific Part |
GET /api/ecfr/search?q=term&title=15 |
Search across all Parts in Title 15 |
Examples:
GET https://api.exchek.us/api/ecfr/774/search?q=pressure+sensor
GET https://api.exchek.us/api/ecfr/746/search?q=Russia
GET https://api.exchek.us/api/ecfr/742/search?q=encryption
GET https://api.exchek.us/api/ecfr/search?q=specially+designed&title=15
All part endpoints return JSON with a nodes structure. Each node has:
{
"identifier": "774",
"label": "Part 774 — The Commerce Control List",
"children": [
{
"identifier": "774.1",
"label": "§ 774.1 — Introduction",
"children": []
}
]
}Skills traverse the node tree to find applicable sections and cite specific parts in the output.
If the ExChek API returns a 503 or is unreachable, skills fall back to the official eCFR developer API:
| Endpoint | Description |
|---|---|
GET https://www.ecfr.gov/api/versioner/v1/structure/current/title-15.json |
Title 15 (Commerce) — extract Part 774, 738, 740, 742, 744, 746 |
GET https://www.ecfr.gov/api/versioner/v1/structure/current/title-22.json |
Title 22 (Foreign Relations) — extract Part 121 |
The eCFR API requires no key and returns the same node structure.
The CSL Search skill uses the Trade.gov API — a separate system from the ExChek API. This one requires a free API key from developer.trade.gov.
| Endpoint | Description |
|---|---|
GET https://data.trade.gov/consolidated_screening_list/v1/search |
Search the CSL by name and other parameters |
GET https://data.trade.gov/consolidated_screening_list/v1/sources |
List available source abbreviations |
Authentication: API key as a query parameter or header (see developer.trade.gov for exact method).
Key parameters:
| Parameter | Type | Description |
|---|---|---|
name |
string | Party name to search |
fuzzy_name |
boolean | Enable fuzzy matching (use with name) |
sources |
string | Comma-separated source abbreviations (DPL, EL, SDN, etc.) |
countries |
string | ISO alpha-2 codes, comma-separated |
size |
integer | Results per page (max 50) |
offset |
integer | Pagination offset |
Full parameter list: developer.trade.gov
The ExChek API has no documented rate limits for normal skill use. If you encounter a 503, skills automatically fall back to the eCFR API.
The Trade.gov CSL API is maintained by ITA. Check developer.trade.gov for current status and rate limit terms.
The ExChek API pulls from live eCFR data. Skills call the API at runtime to get current regulatory text — they do not cache Part data between runs.
For manual installations that need offline data, the ExChek refresh script (available in the private repo) can pre-fetch and store Part data locally.