CarrierOk vs. QCMobile: which FMCSA API should you build on?
QCMobile is FMCSA’s free API for raw carrier records, split across six endpoints. CarrierOk serves the same raw layer as one aggregated 236-field record per call, reconciled across every FMCSA source system, and computes the scores FMCSA does not publish: the ISS, all 7 BASIC percentiles, and a risk tier with named signals. Here's exactly what each one returns.
QCMobile is FMCSA's own API: free, authoritative, and raw. CarrierOk is a carrier intelligence API: the same federal record consolidated, plus the scoring FMCSA does not publish. The honest split is that QCMobile is enough for registration and authority lookups, and stops where scoring, history and change tracking begin.
- Price
- QCMobile is free with a WebKey. CarrierOk is $50 to activate, applied as credit, then pay-as-you-go at published per-endpoint rates.
- Shape of a call
- QCMobile splits a carrier across endpoints. CarrierOk returns the whole record in one call, on a fixed schema.
- Scoring
- QCMobile returns no BASIC percentiles and no ISS score. CarrierOk computes all 7 percentiles and the ISS score with its recommendation band.
- History and change
- QCMobile answers about now. CarrierOk keeps history and monitoring reports what changed, the same day it is published.
- Which to pick
- Use QCMobile when raw registration and authority are the job. Use a commercial API when a decision depends on scoring, insurance or knowing something moved.
Teams choose QCMobile for free raw FMCSA lookups at low volume. Teams choose CarrierOk as the QCMobile alternative when they need the complete FMCSA record in one call, the computed scores FMCSA does not publish (the ISS, all 7 BASIC percentiles, and named risk signals), or a monitored portfolio, priced pay-as-you-go with a free sandbox.
Last updated September 2026, verified against live responses from both APIs.
What each API actually returns.
QCMobile cells from live responses and its public developer site, as of September 2026
The raw FMCSA record
CarrierOk’s raw endpoint is /v2/profile-fmcsa: the FMCSA record with no computed scores, for teams that want exactly that.
Scroll the table sideways to compare all three →
| Feature | CarrierOk /v2/profile-fmcsa | QCMobile API |
|---|---|---|
| Complete record in one call | One call, 236 FMCSA fields | Six endpoints, ~80 fields |
| FMCSA sources aggregated | Census, safety, licensing, insurance, register | Not published |
| Physical, mailing, and filing addresses | Yes | Physical only |
| MCS-150 date, year, and mileage | Yes | Outdated flag only |
| Fleet breakdown (owned vs. leased, by type) | Yes | Totals only |
| Violations by BASIC with severe and OOS splits | Yes | Totals per BASIC |
| Authority pending, review, and revocation detail | Yes | Current status letters |
| BOC-3 process agent on file | Yes | No |
| Insurance required vs. on file + cancellation flag | Yes | Amounts, no cancellation flag |
| Update cadence | Throughout the day, on publish | About once daily |
| Pricing | Pay-as-you-go | Free (rate-limited) |
The computed layer
On the full profile endpoint, the same API key adds what FMCSA does not publish. The QCMobile cells below are what its own responses returned in our tests.
Scroll the table sideways to compare all three →
| Feature | CarrierOk /v2/profile | QCMobile API |
|---|---|---|
| All 7 BASIC percentiles | Yes | “Not Public” |
| Computed ISS score (1–100) | Yes | issScore returns null |
| ISS recommendation (PASS / OPTIONAL / INSPECT) | Yes | No |
| 50+ named risk signals | Yes | No |
| Chameleon carrier detection | Yes | No |
| Policy-level insurance data | Yes | No |
| VIN-decoded fleet data | Yes | No |
| Carrier monitoring + change feed | Yes | No |
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.
/v2/profile-fmcsaThe whole FMCSA record, in one call.
QCMobile splits a carrier across six endpoints and returns about 80 fields in total. The snapshot carries the physical address but not the mailing address, fleet totals but not the owned-versus-leased breakdown, and an “MCS-150 outdated” flag but not the filed year or mileage.
FMCSA’s data lives in separate source systems. CarrierOk ingests them all, standardizes names, addresses, and phone numbers, and cross-checks the sources against each other when they disagree, so /v2/profile-fmcsa returns one reconciled answer instead of whichever system a single API happens to read.
Freshness is part of completeness: in our September 2026 tests, QCMobile’s safety-measures endpoint answered with data carrying a January 2017 run date. CarrierOk re-ingests each source the moment an update is published, throughout the day, and every record carries its snapshot_date. The raw endpoint is priced per call.
/v2/profileThe scores FMCSA does not publish.
Ask QCMobile for BASIC percentiles and the response is literal: “Not Public”. Its issScore field returns null. The percentiles and the ISS are computed, not published.
CarrierOk computes them: all 7 BASIC percentiles with alert flags and per-segment thresholds, the ISS score with FMCSA’s published ISS-CSA algorithm, and a risk tier backed by 50+ named signals, including the cross-entity checks behind chameleon carrier detection.
If the raw record is all you need, start there. When you want the scores too, nothing changes: same API, same key, call /v2/profile instead. Full profiles are priced per unique carrier per month.
/v2/monitoring/*Know the day a carrier in your book changes.
A common reason teams reach for QCMobile is to poll it for changes: watch a book of carriers for a lapse, a revocation, a new alert. QCMobile has no watchlist, webhook, or change feed, so that plan means re-polling every carrier across six endpoints and diffing the responses yourself, inside unpublished rate limits.
CarrierOk ships the finished version. Register your carriers once with POST /v2/monitoring/add, then poll GET /v2/monitoring/list for only what changed in your date window, across authority, insurance, safety, fleet, contact, and risk. The platform logs every change to your Monitoring feed the same day. Priced per unique carrier per month.
Free raw data vs. pay-as-you-go complete data.
QCMobile is free with a registered WebKey, subject to rate limits FMCSA does not publish. For occasional raw lookups that is a fine deal, and our guide to using it well is linked below.
CarrierOk's API is pay-as-you-go and priced by endpoint: the raw FMCSA endpoint is priced per call, while full profiles and monitoring are priced per unique carrier per month. A free sandbox lets you evaluate with no credit card, and a $50 activation is applied as $50 of API credit. Rates are published in the developer portal.
The comparison to price is not free versus paid. It is the engineering you spend assembling, reconciling, and re-polling six endpoints per carrier, versus one aggregated record per call, with the computed layer and monitoring there when you need them.
When to use each.
QCMobile
For free raw lookups at low volume.
- ·Occasional, manual carrier lookups
- ·A handful of fields, latency and freshness not critical
- ·Prototyping before committing to an API plan
- ·Budget-zero projects that can live with rate limits
CarrierOk
For complete raw data, computed scores, or both.
- The complete raw FMCSA record in one call (/v2/profile-fmcsa)
- Insurance underwriting (ISS, BASICs, risk signals)
- Freight broker carrier qualification
- Factoring company carrier screening
- Portfolio monitoring at scale
- Fraud detection (chameleon carriers)
CarrierOk vs. QCMobile: Frequently Asked Questions
Start with the complete FMCSA record.
The raw record in one call, and the computed layer when you need it. Free sandbox to evaluate; the raw FMCSA endpoint is priced per call, full profiles and monitoring per unique carrier per month.