+FMCSA API
Look up US motor carriers by USDOT or MC number and search the FMCSA census as JSON.
The API.SH FMCSA API turns public FMCSA records into structured JSON. Look up a motor carrier, broker or freight forwarder by USDOT or MC/MX number to get its status, operating authority, power units, drivers and safety rating. Records include 24-month inspections and crashes, out-of-service rates against national averages and the company snapshot. Search the census by name, place, status, fleet size, cargo and registration date.
- 2 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/fmcsa/v1/ search
{ "success": true } What you can build with the FMCSA API
Carrier vetting for brokers and shippers
Check operating authority, USDOT status, safety rating and out-of-service rates before you assign a load.
Insurance underwriting and risk scoring
Use 24-month inspection and crash counts, with out-of-service rates against the national averages, to score a carrier.
Sales lead lists
Search carriers by state, fleet size, drivers, cargo, hazmat and registration date to find companies that fit your product.
New carrier tracking
Filter the census by registration date and sort by added to see newly registered companies.
FMCSA data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
FMCSA API endpoints and prices
Every FMCSA endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| FMCSA carrier search /fmcsa/ | $1 · $2 PAYG 1 credit |
| FMCSA carrier by USDOT or MC number /fmcsa/ | $1 · $2 PAYG 1 credit |
Call the FMCSA API
FMCSA carrier search: GET https://api.api.sh/fmcsa/
curl "https://api.api.sh/fmcsa/v1/search?name=swift+transportation" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/fmcsa/v1/search",
params={"name": "swift transportation"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/fmcsa/v1/search");
url.searchParams.set("name", "swift transportation");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/fmcsa/v1/search", "name", "swift transportation")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "FMCSA" and "FMCSA carrier search".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 483 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for FMCSA data
- Public data only: no FMCSA login, cookies or account needed
- One key and one response shape for FMCSA and 482 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official FMCSA API
FMCSA has an official developer site and the QCMobile API, which requires a free webKey tied to a Login.gov account, plus open data sets. API.SH needs no webKey: you look up a carrier by USDOT or MC number, or search the census, and get the safety, inspection and snapshot data as one JSON response.
Skip maintaining your own FMCSA scraper or paying for carrier-data vendors and single-purpose Apify actors: API.SH gives you one key and a fixed price per 1,000 calls.
FMCSA API questions
What FMCSA data can I get?+
One carrier by USDOT or MC/MX number with authority, safety rating, inspections, crashes and company snapshot (/fmcsa/v1/carrier) and census search with many filters (/fmcsa/v1/search).
How much does the FMCSA API cost?+
Every FMCSA endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /fmcsa/v1/carrier at 1 credit each.
Is there an official FMCSA API?+
Yes. FMCSA runs a developer site with the QCMobile API, and requests need a free webKey from a Login.gov account. API.SH needs no webKey and returns the public carrier record and census search in one JSON format.
Do I need a FMCSA account or login?+
No. API.SH reads public FMCSA pages only. No endpoint uses a login, cookies or anyone's account. You do not need a Login.gov account or a webKey.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key. 3. Call /fmcsa/v1/carrier with dot set to a USDOT number, or mc set to an MC number. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.
Can I search carriers without a USDOT number?+
Yes. /fmcsa/v1/search takes a name, state, city, zip, status, operation, entity type, cargo, fleet size, driver count or registration date. Give at least one filter, and pass next_page back as page to continue.
Is FMCSA data free to use?+
FMCSA carrier records are public government data. API.SH charges only for the API calls, with 1,000 free credits every month. Check FMCSA's data terms for how you may use the records, such as for lead lists.