FMCSA Carrier Intelligence

Carrier vetting API quickstart for TMS and broker tools

Last updated: November 9, 2026. General information, not legal advice.

One HTTP route per check, JSON in and out, prepaid credit or x402. Here is a five-call vetting flow with real request shapes and what it costs.

The flow

StepCallCost
1. MC number to USDOTfind_carrier_by_mcFree
2. Identity screenscreen_carrier_identityFree
3. Profile: status, authority, insurance flags, safety rating and datelookup_carrier$0.01
4. Inspections, violations, out-of-service rates, crashesget_inspection_crash_summary$0.02
5. A dated, hashed record of the factors for your fileget_carrier_selection_record$0.10

All five calls cost $0.13 in total. A call is charged only when it returns records: an unknown carrier, an empty search or a service error is free. See pricing for every tool.

1. Free calls first

curl "https://fmcsa-mcp-843680657471.us-central1.run.app/x402/find_carrier_by_mc?mc_number=MC12892"
curl "https://fmcsa-mcp-843680657471.us-central1.run.app/x402/screen_carrier_identity?usdot_number=2122247"

The first returns authority_holder_usdot_number, docket_status and the records' as-of date. The second returns flagged, cluster_size and counts, never another carrier's identity.

2. Paid calls with an API key

Request a free evaluation key: $5 of credit, reviewed by hand. Send it on each call.

curl -X POST "https://fmcsa-mcp-843680657471.us-central1.run.app/x402/lookup_carrier" \
  -H "Authorization: Bearer fmk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"usdot_number": 2122247}'

Each response carries x-credit-remaining-atomic, your balance in millionths of a dollar. No wallet is needed with a key. To pay with USDC through x402 instead, an unpaid call returns HTTP 402 stating the price; see For agents.

3. The record for your file

curl -X POST "https://fmcsa-mcp-843680657471.us-central1.run.app/x402/get_carrier_selection_record" \
  -H "Authorization: Bearer fmk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"usdot_number": 2122247}'

The record is dated and carries a SHA-256 hash of its own contents. GET /verify/<hash> is free and confirms we issued exactly that record, when, and for which carrier. We store only the hash and four small facts. It is a record of what the public data showed, not a score and not a recommendation; see what a carrier-selection file should show.

4. Re-checking a roster

curl -X POST "https://fmcsa-mcp-843680657471.us-central1.run.app/x402/check_roster_changes" \
  -H "Authorization: Bearer fmk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"roster_usdot_numbers": [2122247, 1234567], "since": "2026-10-01"}'

Returns which carriers on your roster changed since a date, and what changed. A roster takes 1 to 100 USDOT numbers: $0.05 plus $0.005 per entry.

What to build around

Common questions

How much does a carrier vetting check cost?

From $0.01 per call. A five-call flow with MC lookup, identity screen, carrier profile, inspection and crash summary and a hashed selection record costs $0.13 in total. You are charged only when a call returns records.

Do I need a crypto wallet?

No. Request a free evaluation API key with $5 of prepaid credit and send it as a Bearer token. Wallet payment with USDC through x402 is also supported.

What data does the API use?

FMCSA public records. Every response states the date its records are current as of. Authority and insurance fields for many carriers come from an FMCSA archive that stopped updating on May 14, 2026, and those records are flagged.

Is there an OpenAPI description?

Yes, at the service host under /openapi.json, with one route per tool.