Beginner10 min

CarrierOk API vs FMCSA Data Sources

FMCSA publishes carrier data across four separate public systems — SAFER, the QCMobile API, SMS, and L&I — plus the Socrata bulk datasets for history. This guide maps what each one gives you, what it withholds, and what it takes to build an underwriting, brokerage, or compliance workflow on free sources versus one CarrierOk call.

The five options, side by side

SystemWhat it gives youAPIUpdatesGaps
SAFERWeb lookup of registration, authority, fleet size, inspection/crash summariesNo — web only (scraping violates FMCSA ToS)Irregular5 of 7 BASICs, no ISS, no insurance detail, no history
QCMobile APIRegistration, authority, and basic safety data by DOT/docket (free WebKey)Yes — REST, JSON/XMLFollows SAFER refreshNo BASIC percentiles, no insurance filings, no history, DOT/docket keys only
SMSBASIC percentiles and measures; downloadable snapshot filesNo — website + monthly file downloadsMonthlyCrash Indicator & Hazmat percentiles withheld from public view
L&IInsurance filings (BIPD/cargo/bond), pending cancellationsNo — web query systemAs insurers fileNo safety data; separate ID reconciliation with the other systems
CarrierOk APIAll of the above in one flat profile: registration, authority, insurance, all 7 BASICs, ISS, history arrays, computed risk signalsYes — REST, typed OpenAPI spec4x dailyCommercial (free sandbox; $50 activation credit, pay-as-you-go)

When the free sources are enough

Occasional one-off registration checks? SAFER's website or a QCMobile WebKey costs nothing and answers "is this DOT active." The build-vs-buy line is crossed when you need the combined picture programmatically — authority + insurance + all seven BASICs + history — or search keys beyond DOT/docket. Stitching that from public sources means four integrations, four update schedules, and an ID-reconciliation layer you maintain forever.

Capability matrix

CapabilityPublic FMCSA systemsCarrierOk /v2/profile
Registration & authority statusSAFER / QCMobileIncluded
Programmatic (API) accessQCMobile onlyIncluded
BASIC percentiles — 5 public categoriesSMS (monthly)Included
BASIC percentiles — Crash Indicator & HazmatNot displayedIncluded
ISS inspection scoreNot publicIncluded
Insurance filings & pending cancellationsL&I (web only)Included
Authority / insurance / inspection history arraysSocrata bulk datasetsIncluded
Search by name, EIN, phone, email, VIN, plateIncluded
Computed risk score & chameleon signalsIncluded
Change monitoring & alertsIncluded

The same workflow as one call

Each commented block below is a lookup you'd otherwise make against a different FMCSA system (and then reconcile by DOT number yourself):

# One call replaces: SAFER lookup + QCMobile + SMS download + L&I check
curl "https://api.carrierok.com/v2/profile?dot_number=1234567" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "items": [
    {
      "dot_number": "1234567",
      "legal_name": "EXAMPLE TRANSPORT LLC",
      "usdot_status": "Active",
      "authority_common": "Active",
      "insurance_bipd_on_file": "1000000",
      "basic_percentile_crash_indicator": 0.19,
      "iss_value": "34",
      "risk_score": "Low",
      "...": "320+ fields total — see the data dictionary"
    }
  ],
  "total_count": 1
}

Field-level detail for everything in the response is in the data dictionary and the machine-readable OpenAPI spec.

FAQ

What FMCSA databases are available to the public?

FMCSA provides several public systems: SAFER for basic carrier lookups (web only), the QCMobile API for programmatic registration and basic safety data, SMS for BASIC percentile scores (5 of 7 categories public), and the L&I query system for insurance filing verification. They are fragmented, updated on different schedules, and none includes computed fields like ISS scores or all seven BASICs.

Does FMCSA have a free API for carrier data?

Yes — QCMobile (mobile.fmcsa.dot.gov/qc) is FMCSA's official free API. It returns carrier registration, authority, and basic safety data by DOT or docket number with a registered WebKey. It does not return BASIC percentiles, insurance filing detail, ISS scores, inspection/crash history, or any computed risk signals — those require SMS downloads, L&I lookups, and the Socrata datasets.

Why can't I see all seven BASIC scores on SAFER or SMS?

FMCSA withholds two of the seven BASIC percentiles from public display: Crash Indicator and Hazardous Materials Compliance. The underlying inspection and crash data is public, though — CarrierOk computes both percentiles from it, so the API returns all seven.

When should I just use the free FMCSA sources?

If you need occasional one-off lookups of registration status, SAFER's website or the QCMobile API is enough. Reach for CarrierOk when you need programmatic access to the combined picture — authority + insurance + all 7 BASICs + history + risk signals — at 4x-daily freshness, or search keys beyond DOT/docket (name, EIN, phone, email, VIN, plate).