CarrierOk

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.

The short answer

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.
Bottom Line

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.

Feature Comparison

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 comparison: CarrierOk API against the official FMCSA sources
FeatureCarrierOk /v2/profile-fmcsaQCMobile 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 comparison: CarrierOk API against the official FMCSA sources
FeatureCarrierOk /v2/profileQCMobile 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.

The Raw Record/v2/profile-fmcsa

The 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.

The Computed Layer/v2/profile

The 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.

Monitoring/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.

Pricing

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.

Decision Guide

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

CarrierOk is a carrier intelligence API. It consolidates the FMCSA record on any motor carrier or broker and adds the scoring FMCSA does not publish: all 7 BASIC percentiles, a computed ISS score, 50+ named risk signals, and policy-level insurance history, with monitoring that reports changes the same day. The same record is delivered however you consume it: a REST API, the web app, a Chrome extension, or bulk files.
Both serve FMCSA carrier data over REST. QCMobile is FMCSA's free developer API and returns raw records split across six endpoints, about 80 fields in total. CarrierOk serves the complete raw FMCSA record in one call (236 fields on /v2/profile-fmcsa, aggregated and cross-checked across FMCSA's source systems) and computes the layer FMCSA does not publish: all 7 BASIC percentiles, the ISS score with its recommendation, 50+ named risk signals, chameleon detection, policy-level insurance, and portfolio monitoring.
Both. /v2/profile-fmcsa returns the raw FMCSA record: 236 fields in one call, no computed scores, aggregated from FMCSA's census, safety, licensing and insurance, and register systems, standardized and cross-checked, priced per call. The full profile endpoint adds the computed layer on the same API key, priced per unique carrier per month. Teams that only want raw FMCSA data start with the mirror; the upgrade is one endpoint away.
No, and its own responses say so: in our September 2026 tests the basics endpoint returned the literal string 'Not Public' for percentiles, and the issScore field returned null. The percentiles and the ISS are computed, not published; CarrierOk computes both and returns them with alert flags, thresholds, and the recommendation.
QCMobile syncs from FMCSA source systems roughly once a day, and some endpoints can lag much further: for the carriers we tested in September 2026, its safety-measures endpoint returned data with a January 2017 run date. Verify freshness for your own carriers before relying on an endpoint. CarrierOk re-ingests each FMCSA source the moment an update is published, throughout the day, and every record carries its snapshot_date.
QCMobile's raw records do not carry the scores underwriting workflows screen with, and its insurance data is limited to on-file and required amounts. For underwriting, CarrierOk returns iss_value with the PASS / OPTIONAL / INSPECT recommendation and its reason, all 7 BASIC percentiles with alert flags, and policy-level insurance records on the same response.
QCMobile is free with a registered WebKey, subject to rate limits FMCSA does not publish. CarrierOk's API is pay-as-you-go and priced by endpoint: the raw FMCSA endpoint per call, full profiles and monitoring per unique carrier per month, with a free sandbox and a $50 activation applied as $50 of API credit. Rates are published in the developer portal.
Not hard. Both look carriers up by DOT or MC number, so the integration change is small: swap the endpoint URL and move the credential from the webKey query parameter to a Bearer token in the Authorization header. Because /v2/profile-fmcsa consolidates what QCMobile spreads across six endpoints, most migrations also delete code: one call replaces the fan-out and the client-side stitching.
Every account starts with a free sandbox that returns fixture data for 10 evaluation carriers, no credit card required, with the full response shape. When you are ready for live data, a $50 activation is applied as $50 of API credit, and billing after that is usage-based and priced by endpoint: the raw FMCSA endpoint per call, full profiles and monitoring per unique carrier per month.

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.