CarrierOk vs. the official FMCSA APIs.
FMCSA publishes two carrier APIs of its own, QCMobile and MOTUS, and both are free. Here’s what each returns, what it withholds, and what you’d be building yourself, compared against CarrierOk on data we probe every day.
FMCSA publishes two free APIs, QCMobile and MOTUS. Between them they return registration, operating authority and out-of-service status, and neither returns a BASIC percentile, an ISS score, insurance history, or any record of what changed. A commercial carrier data API is what you buy when you need those. CarrierOk returns all of them in one call.
- Free options
- QCMobile and MOTUS are authoritative for what they carry, free to use, and documented by FMCSA. For registration and authority lookups, they are enough.
- What they withhold
- Neither computes a BASIC percentile or an ISS score, and FMCSA's public SMS site withholds two of the seven percentiles it does publish.
- What is missing
- No change tracking, no monitoring, and no history: each call answers about now, so you cannot tell what moved since the last time you asked.
- What to compare
- Coverage, the field count per record, whether risk is computed or raw, update cadence, whether pricing is published, and whether you can evaluate it without a sales call.
- CarrierOk's shape
- One REST call returns 300+ fields with all 7 percentiles, the ISS score and 50+ named risk signals. Free sandbox key, published per-endpoint rates, pay-as-you-go.
In any FMCSA data provider comparison, start with the free official APIs: QCMobile and MOTUS handle registration and authority lookups at low volume. The difference is what they cannot serve. CarrierOk adds the complete aggregated record in one call, the computed scores FMCSA does not publish (the ISS and all 7 BASIC percentiles), and portfolio monitoring.
Last updated September 2026, checked against each provider’s live API responses, which we probe daily.
Side by side, from daily probes.
Official-API cells from live responses we probe daily, as of September 2026
Scroll the table sideways to compare all three →
| Feature | CarrierOk | QCMobile | MOTUS |
|---|---|---|---|
| Cost | Pay-as-you-go ($50 credit) | Free | Free |
| Authentication | API key (Bearer) | webKey on every request | None on public endpoints |
| Format | REST / JSON | REST / JSON | REST / JSON |
| Lookup keys | DOT, MC/docket, name, phone, email | DOT, docket, name | DOT or legal/DBA name only |
| Complete record in one call | 236 fields raw, 300+ full | Several endpoints | Several endpoints |
| Operating authority & dockets | Yes | Yes | Yes |
| Registration history | 20 years | Current state only | Registration-history endpoints |
| Daily register of new entrants | Yes | No | Daily REGISTER report |
| BASIC percentiles | All 7 computed, including the 2 FMCSA withholds | Field returned, but “Not Public” where FMCSA withholds | No |
| Computed ISS score (1–100) | Yes | No | No |
| 50+ named risk signals | Yes | No | No |
| Chameleon carrier detection | Yes | No | No |
| Policy-level insurance data | Yes | No | Insurance-requirement flags & filing counts |
| VIN-decoded fleet data | Yes | No | No |
| Portfolio monitoring & alerts | Yes | No | No |
| Interface stability | Versioned (/v2) | Stable | Early-stage, still changing |
All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. Information about third-party products is based on each vendor’s publicly available materials and customer reports as of September 2026; capabilities and pricing change; confirm current details directly with each vendor. Statements identified as customer reports reflect individual experiences and may not be representative.
Why teams stop building directly on FMCSA.
QCMobile and MOTUS are free, official, and genuinely useful. These are the four things teams run into once a prototype turns into a workflow.
The percentiles arrive withheld
QCMobile returns a basicsPercentile field on every BASIC, and its value is often the string “Not Public”. FMCSA withholds Crash Indicator and Hazmat from public view entirely. You get the shape of the answer without the number, and no way to rank a carrier against its peers.
One carrier is several calls
QCMobile splits a carrier across separate endpoints for authority, cargo carried, operation classification, out-of-service and BASICs. MOTUS splits entity, registrations, business information and filings again. Assembling one profile means fanning out and reconciling, on every lookup.
Nothing tells you when something changed
Neither API has monitoring. Detecting an insurance lapse or a revoked authority means re-querying every carrier you care about on a schedule and diffing the results yourself, for as many carriers as you have.
You inherit a migration in progress
MOTUS is replacing the legacy registration endpoints and is still changing shape. Building directly on FMCSA means tracking that migration yourself, on FMCSA's timetable rather than yours.
The same carrier lookup, answered twice.
On the left, one CarrierOk profile call. On the right, a QCMobile BASICs response captured from our own probes, shown verbatim.
{
"total_count": 1,
"items": [{
"dot_number": "1234567",
"legal_name": "APEX TRANSPORT LLC",
"authority_common": "Active",
"iss_value": "82",
"iss_recommendation": "INSPECT",
"basic_percentile_unsafe_driving": 0.84,
"basic_percentile_vehicle_maintence": 0.83,
"basic_percentile_hours_of_service": 0.29,
"basic_percentile_crash_indicator": 0.62,
"basic_alert_unsafe_driving": true,
"basic_alert_vehicle_maintence": true,
"risk_score": "High",
"risk_score_probability": 0.84,
"insurance_bipd_on_file": "1000000",
"...": "300+ fields per record"
}]
}{
"content": [{
"basic": {
"basicsType": { "basicsCode": "Unsafe Driving" },
"basicsPercentile": "Not Public",
"measureValue": "1.65",
"basicsViolationThreshold": "65",
"onRoadPerformanceThresholdViolationIndicator": "Not Public",
"basicsRunDate": "2017-01-27T05:00:00.000+0000"
}
}],
"retrievalDate": "..."
}
// The percentile field is there. The number is not.
// Crash Indicator and Hazmat are withheld outright.
// No ISS. No risk signals. No insurance policy data.Which API should you use?
Use QCMobile or MOTUS when:
- ·You need occasional, low-volume carrier lookups
- ·Registration and authority status is all you need
- ·You're prototyping and cost is the only constraint
- ·You don't need monitoring or computed scores
Use CarrierOk when:
- You want the complete FMCSA record in one call (/v2/profile-fmcsa, priced per call)
- You need computed ISS scores and all 7 BASIC percentile ranks
- You need a monitored portfolio instead of a polling loop
- You're building insurance, factoring, brokerage, or TMS workflows
- You need chameleon carrier detection or fraud signals
Carrier Data API Comparison: Frequently Asked Questions
Start in the free sandbox.
Fixture data for 10 carriers, every endpoint, no card required. Live access is pay-as-you-go: the raw FMCSA endpoint per call, full profiles and monitoring per unique carrier per month.