FMCSA API documentation: where to find it.
Two documentation sets matter. FMCSA’s official QCMobile docs cover the free raw-data API, on the QCMobile developer site. For computed risk scores, monitoring, and the full commercial API, the CarrierOk developer docs cover everything, with an OpenAPI spec and a free sandbox.
FMCSA documents QCMobile on its developer site, endpoint by endpoint, with a WebKey required for every call. CarrierOk documents its own API at developers.carrierok.com with a typed OpenAPI spec, per-field definitions and a free sandbox key, so a response can be read before anything is paid.
- The official docs
- mobile.fmcsa.dot.gov/QCDevsite covers QCMobile's endpoints and the WebKey. It documents raw FMCSA records, which is all QCMobile returns.
- What is missing there
- No BASIC percentiles, no ISS score, no insurance history and no change feed, because the API does not return them.
- CarrierOk's docs
- Every endpoint, field, error code and limit, with a typed OpenAPI spec for code generation and a data dictionary defining each field.
- Reading a real response
- A free sandbox key is issued at signup with no card and returns every endpoint on fixture data from ten evaluation carriers.
- Field counts
- The full profile returns 300+ fields; the FMCSA mirror returns exactly 236, null where FMCSA has no value, so every response has the same shape.
What you need → where it’s documented.
| You need | Documentation |
|---|---|
| Raw FMCSA record lookups, free, low volume | FMCSA QCMobile developer site → |
| Full REST reference with computed risk data (ISS, BASICs, signals) | CarrierOk developer docs → |
| Machine-readable spec for client codegen | OpenAPI spec on the CarrierOk developer portal → |
| Try requests without an account or card | CarrierOk free sandbox (fixture data, all endpoints) → |
| Feature-by-feature comparison of the two APIs | CarrierOk vs. QCMobile → |
One request, the full carrier record.
The CarrierOk API authenticates with a Bearer token in the Authorization header and returns a {"items": […], "total_count"} envelope with flat, snake_case fields, 300+ of them per carrier, refreshed throughout the day.
curl "https://api.carrierok.com/v2/profile?dot_number=1234567" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"items": [{
"dot_number": "1234567",
"legal_name": "APEX TRANSPORT LLC",
"usdot_status": "Active",
"iss_value": "82",
"iss_recommendation": "INSPECT",
"basic_percentile_unsafe_driving": 0.84,
"basic_percentile_vehicle_maintence": 0.83,
"...": "300+ fields per carrier"
}],
"total_count": 1
}The sandbox returns fixture data for 10 evaluation carriers with no card required.
What the CarrierOk developer docs cover.
Carrier profiles · GET /v2/profile
The full computed record: ISS score, all 7 BASIC percentiles, 50+ risk signals, policy-level insurance, and identity. 300+ fields on every FMCSA registrant.
Raw FMCSA data · GET /v2/profile-fmcsa
Consolidated FMCSA record without the intelligence layer: registration, authority with revocation history, SMS measures, inspections, crashes, and insurance filings in one fixed-schema response.
Monitoring · /v2/monitoring/add and /list
Watch a portfolio of carriers and pull only what changed, instead of re-fetching full profiles. 15+ alert event types.
Sandbox and billing
How the free sandbox works, the $50 activation credit, and how each endpoint is billed: the raw FMCSA endpoint per call, full profiles and monitoring per unique carrier per month.
Getting a key takes a minute; the walkthrough is at how to get an FMCSA API key. Evaluating the official API instead? Start with the QCMobile API guide or the side-by-side comparison.
FMCSA API Documentation: Frequently Asked Questions
Read the docs, then try the sandbox.
Full REST reference, OpenAPI spec, and a free sandbox with fixture data. No card required to start.
