CarrierOk

QCMobile API guide: WebKey setup, endpoints, and limits.

QCMobile is FMCSA’s official developer API: free with a registered WebKey, raw FMCSA data as JSON. Register on the QCMobile developer site, pass ?webKey= on every request, and expect raw records: no ISS, no BASIC percentiles, daily refresh. Here's the practical walkthrough.

The short answer

QCMobile is FMCSA's official developer API for motor carrier data. A free WebKey from an FMCSA developer account gets you raw records: registration, authority, safety measures and out-of-service status, split across several endpoints. It computes nothing, keeps no history, and tells you nothing about what changed.

Getting a key
Register at mobile.fmcsa.dot.gov/QCDevsite through Login.gov, open My WebKeys, and request one. Registration is free and self-service.
Calling it
The WebKey goes on every request as a query parameter, not a header. A carrier is assembled from several endpoints rather than returned whole.
Rate limits
FMCSA describes the free tier as rate-limited without publishing a quota, so design for backoff and verify your own ceiling under load.
What it will not do
No BASIC percentiles, no ISS score, no insurance history, no change tracking. Each call answers about now.
When to go commercial
When you need scoring, history or monitoring. CarrierOk returns all three in one call, with a free sandbox key to evaluate it.
Getting Started

Three steps to your first response.

1

Register on QCDevsite

Create a free account on FMCSA's QCMobile developer site and request a WebKey. Registration is self-service.

2

Call a carrier endpoint

All endpoints hang off mobile.fmcsa.dot.gov/qc/services and take your WebKey as a query parameter.

3

Handle the envelope

Responses are JSON with a content payload, a retrievalDate, and HATEOAS-style _links. An invalid key returns HTTP 404 with a “Webkey not found” body, the same status as an unknown carrier, so check the body to tell auth failures from no-match lookups.

Request
curl "https://mobile.fmcsa.dot.gov/qc/services/carriers/1234567?webKey=YOUR_WEBKEY"
Response without a valid WebKey (verbatim)
{
  "content": "Webkey not found",
  "retrievalDate": "2026-07-09T20:57:27.017+0000",
  "_links": {
    "self": { "href": "https://mobile.fmcsa.dot.gov/qc" }
  }
}
Endpoints

The carrier endpoints.

Base URL https://mobile.fmcsa.dot.gov/qc/services, WebKey required on every call. Verify the current list on the official developer site; FMCSA occasionally revises it.

EndpointReturns
/carriers/{dotNumber}Carrier snapshot by USDOT number: identity, status, operation data
/carriers/docket-number/{docketNumber}Look up a carrier by MC/FF/MX docket number
/carriers/{dotNumber}/basicsBASIC safety measures FMCSA exposes publicly
/carriers/{dotNumber}/authorityOperating authority records
/carriers/{dotNumber}/oosOut-of-service information
/carriers/{dotNumber}/cargo-carriedReported cargo classifications
/carriers/{dotNumber}/operation-classificationOperation classification records
/carriers/{dotNumber}/docket-numbersDocket numbers associated with a DOT number

One observation from our own testing (September 2026): the /basics endpoint answered with percentiles reading “Not Public” and a January 2017 run date for the carriers we checked. Verify freshness for your carriers before relying on a given endpoint.

Limits

What QCMobile won’t do.

Plan around these before you build.

No computed risk scores

QCMobile returns raw FMCSA data. There is no ISS score, no BASIC percentile ranking against peer groups, and no risk-signal layer. The public data also covers five of the seven BASICs; Crash Indicator and Hazmat Compliance are withheld.

Several calls per carrier

A carrier is split across endpoints: snapshot, safety measures, authority, out-of-service. Assembling a decision view takes several calls per carrier, multiplied across every carrier you screen and bounded by the rate limits.

No intraday updates

QCMobile syncs from FMCSA source systems roughly once a day. An authority revocation that happened this morning typically appears after the next sync.

Rate-limited, limits not published

The free WebKey tier is rate-limited, but FMCSA does not publish specific request quotas. Design for backoff, and verify current terms on the QCMobile developer site before building volume workflows on it.

No monitoring or eventing

There is no watchlist, webhook, or change-feed capability. Tracking a portfolio means re-polling every carrier yourself and diffing the responses.

If you hit these walls

CarrierOk has an endpoint for each one.

The complete raw FMCSA record in one call, the computed scores QCMobile can’t serve, and a monitoring watchlist so you never build a polling loop.

QCMobile API: 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.
QCMobile is FMCSA's official developer API for motor carrier data. With a free registered WebKey, it returns raw FMCSA records (carrier identity, operating authority, publicly exposed BASIC measures, out-of-service data, and cargo classifications) as JSON over HTTPS. Two things it is not: it does not compute risk scores, and it is a summary rather than the complete record. FMCSA does not publish the full filing picture through any single API; QCMobile carries about 80 fields across its endpoints, while the complete FMCSA record runs well past 200.
Register on FMCSA's QCMobile developer site at mobile.fmcsa.dot.gov/QCDevsite. Registration is free and self-service: create an account, request a WebKey, and pass it as the webKey query parameter on every request.
FMCSA does not publish specific rate limits for QCMobile WebKeys; the free tier is described as rate-limited without stated quotas. If your workflow depends on sustained volume, test against your real traffic pattern and check the current terms on the QCMobile developer site.
No. QCMobile returns raw FMCSA data without computed scores: no ISS and no BASIC percentile ranks. If your workflow needs the ISS score or all 7 BASIC percentiles, you need an API that computes them, such as CarrierOk.
Yes, a registered WebKey is free, subject to rate limits. The trade-off is raw data only, several calls to assemble a full carrier view, and daily refresh.
QCMobile is a good fit for occasional raw lookups, prototypes, and display-only use cases that live within its roughly 80 fields. You need more the moment your workflow depends on data it doesn't carry (mailing addresses, MCS-150 mileage, the fleet breakdown, authority and revocation detail, BOC-3 agents), makes risk decisions on computed scores, or monitors a portfolio for changes. See the full CarrierOk vs. QCMobile comparison for a feature-by-feature breakdown.

Raw FMCSA data worth paying for.

QCMobile is free because it's a summary: about 80 fields, six calls per carrier, synced daily. CarrierOk's raw endpoint is the complete record: 236 fields in one call, reconciled across every FMCSA source, updated throughout the day. Free sandbox to evaluate; priced per call.