What is the FMCSA?
The Federal Motor Carrier Safety Administration (FMCSA) is the U.S. government agency responsible for regulating and overseeing the commercial motor vehicle industry. Part of the Department of Transportation, FMCSA maintains data on over 2.3 million registered motor carriers, including trucking companies, bus operators, and hazardous materials haulers.
FMCSA's databases contain a wealth of information: carrier registration details, operating authority status, safety ratings, inspection records, crash data, insurance filings, and compliance history. This data is used by freight brokers, insurance companies, law enforcement, and technology platforms to verify carriers, assess risk, and ensure compliance.
The agency makes a subset of this data available through its public-facing tools — primarily the SAFER (Safety and Fitness Electronic Records) website and the QCMobile API. However, as we'll explore below, these official channels have significant limitations for developers and businesses that need comprehensive, real-time carrier intelligence.
The Official FMCSA QCMobile API
FMCSA offers a free REST API called QCMobile through its developer portal at mobile.fmcsa.dot.gov. To get access, you need a Login.gov account and must request an API "webkey."
The API base URL is:
https://mobile.fmcsa.dot.gov/qc/services/Key endpoints include:
| Endpoint | Purpose |
|---|---|
| /carriers/name/{name} | Search by carrier name |
| /carriers/{dotNumber} | Lookup by DOT number |
| /carriers/docket-number/{docketNumber} | Lookup by MC/MX docket |
| /carriers/{dotNumber}/basics | BASIC safety scores |
| /carriers/{dotNumber}/cargo-carried | Cargo type information |
| /carriers/{dotNumber}/operation-classification | Operational classification |
| /carriers/{dotNumber}/oos | Out-of-service status |
| /carriers/{dotNumber}/authority | Operating authority details |
Responses are returned in JSON format. Authentication is handled via a webKey query parameter appended to each request.
Available Data Fields
The official FMCSA API returns the following categories of data:
Identity
- DOT Number
- MC/MX Number
- Legal Name
- DBA Name
- Physical Address
- Mailing Address
- Phone Number
Authority
- Operating Status
- Authority Types (Common, Contract, Broker)
- Effective Dates
- Allow to Operate flag
Safety
- Safety Rating
- 5 BASIC Score Categories
- Out-of-Service Status
- OOS Date
- Complaint Counts
Operations
- Power Units by Type
- Driver Count
- Cargo Types Carried
- Operation Classification
- Vehicle Miles Traveled
While these fields cover the basics, the official API is missing critical data points that businesses need: insurance filing details, technology stack (ELD, TMS, fuel card providers), decision-maker contacts, fleet growth trends, and historical authority changes.
Common Use Cases
FMCSA API data powers a wide range of applications across the transportation industry:
Carrier Vetting & Compliance
Freight brokers use FMCSA data to verify that carriers have active authority, adequate insurance, and satisfactory safety ratings before tendering loads. This is a regulatory requirement under MAP-21 and a business necessity for managing liability.
Insurance Underwriting
Commercial auto insurers pull BASIC scores, crash history, and inspection data to assess carrier risk profiles. Fleet size, driver counts, and out-of-service rates directly influence premium calculations and policy decisions.
TMS & Platform Enrichment
Transportation management systems embed FMCSA lookups to display carrier credentials inline. This allows dispatchers and logistics coordinators to verify authority without leaving their workflow.
Sales Intelligence
Companies selling to motor carriers (SaaS, fuel, insurance, equipment) use FMCSA data to build prospect lists filtered by fleet size, geography, and growth patterns. Combined with technology and contact data, this enables highly targeted outreach.
Monitoring & Alerts
Compliance teams set up automated monitoring for authority changes, safety rating downgrades, and out-of-service events. Early detection of issues in a carrier network prevents costly disruptions.
Code Examples
Here's how to look up a carrier using the official FMCSA API with Python:
import requests
FMCSA_API_KEY = "your-webkey-here"
DOT_NUMBER = "2247505"
# Look up carrier by DOT number
url = f"https://mobile.fmcsa.dot.gov/qc/services/carriers/{DOT_NUMBER}"
params = {"webKey": FMCSA_API_KEY}
response = requests.get(url, params=params)
data = response.json()
carrier = data["content"]["carrier"]
print(f"Name: {carrier['legalName']}")
print(f"DOT: {carrier['dotNumber']}")
print(f"Status: {'Active' if carrier['allowedToOperate'] == 'Y' else 'Inactive'}")
print(f"Power Units: {carrier['totalPowerUnits']}")And here's the same lookup using AlphaLoops's enhanced API, which returns 200+ fields in a cleaner format:
import requests
API_KEY = "your-alphaloop-key"
DOT_NUMBER = "2247505"
response = requests.get(
f"https://api.runalphaloops.com/v1/carriers/{DOT_NUMBER}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
carrier = response.json()
print(f"Name: {carrier['legal_name']}")
print(f"Authority: {carrier['authority_status']}")
print(f"Fleet: {carrier['power_units']} trucks, {carrier['drivers']} drivers")
print(f"Safety: {carrier['safety_rating']}, OOS Rate: {carrier['oos_rate']}%")
# Proprietary data not available from FMCSA:
print(f"ELD: {carrier['technology']['eld_provider']}")
print(f"TMS: {carrier['technology']['tms']}")
print(f"Contact: {carrier['contacts'][0]['name']} — {carrier['contacts'][0]['title']}")Limitations of the Official API
While the FMCSA QCMobile API is free and useful for basic lookups, it has significant limitations for production applications:
- Rate Limits: Results are capped at 50 carriers per query. There is no pagination token — you must use a start parameter to page through results manually.
- No Bulk Download: The API is designed for individual lookups, not batch processing. There is no endpoint for downloading the full FMCSA census.
- Limited Data Fields: Only basic FMCSA census data is available. No insurance filing details, no technology stack data, no contact information, no growth signals.
- No Webhooks or Monitoring: You cannot subscribe to changes. To detect authority revocations or safety rating changes, you must poll the API repeatedly.
- No SDKs: FMCSA does not provide official client libraries for any language. You must write raw HTTP calls and parse responses manually.
- Slow Response Times: Response times are typically 500ms+ with occasional timeouts. Not suitable for real-time applications with latency requirements.
- Dated Documentation: The developer portal documentation is sparse and has not been significantly updated in years.
How AlphaLoops Enhances FMCSA Data
AlphaLoops was built to solve the limitations above. We ingest the complete FMCSA census daily and layer proprietary intelligence on top — creating the most comprehensive carrier data API available.
Here's what AlphaLoops adds beyond the official FMCSA data:
Technology Stack Detection
We track which ELD, telematics, TMS, and fuel card platforms each carrier uses — data sourced from direct carrier surveys and web intelligence across 300+ technology providers.
Decision-Maker Contacts
Verified names, titles, emails, and phone numbers for carrier owners, safety directors, fleet managers, and operations leads.
Fleet Growth Signals
Track power unit changes, new authority grants, and operational expansion patterns to identify carriers that are actively growing.
Insurance Filing Details
Coverage levels, filing dates, and insurance provider information — critical for underwriting and compliance workflows.
Bulk Data Delivery
Nightly CSV/JSON/Parquet files with the full 2.3M+ carrier dataset. Delta files contain only the ~50K records that changed each day.
Real-Time Monitoring
Webhook notifications for authority changes, safety rating updates, and out-of-service events. No more polling the FMCSA API.
Ready to Build with FMCSA Data?
Access 200+ data fields per carrier with sub-100ms response times.