Developer-friendly FMCSA carrier lookup API. Get carrier safety data in 200ms, not 20 clicks.
Make your first API call in seconds. No authentication required for basic lookups.
curl "https://verifycarrier.com/api/lookup/dot/123456"const response = await fetch('https://verifycarrier.com/api/lookup/dot/123456');
const data = await response.json();
console.log(data.data.legal_name); // "CARRIER NAME LLC"
console.log(data.data.risk.tier); // "Low" | "Moderate" | "High" | "Extreme"import requests
response = requests.get('https://verifycarrier.com/api/lookup/dot/123456')
data = response.json()
print(data['data']['legal_name']) # "CARRIER NAME LLC"
print(data['data']['risk']['tier']) # "Low" | "Moderate" | "High" | "Extreme"/api/lookup/dot/{dotNumber}Lookup carrier by DOT number/api/lookup/dot/MC{mcNumber}Lookup carrier by MC number/api/search?q={name}Search carriers by name{
"success": true,
"data": {
"dot_number": "123456",
"mc_number": "789012",
"legal_name": "ACME TRUCKING LLC",
"dba_name": "ACME FREIGHT",
"address": {
"street": "123 MAIN ST",
"city": "SPRINGFIELD",
"state": "IL",
"zip": "62701"
},
"phone": "555-123-4567",
"email": "dispatch@acme.com",
"fleet": {
"power_units": 15,
"drivers": 20
},
"safety": {
"rating": "SATISFACTORY",
"rating_date": "2023-06-15",
"out_of_service": false,
"out_of_service_date": null
},
"basics": {
"unsafe_driving": 45,
"hos_compliance": 32,
"driver_fitness": 28,
"controlled_substances": null,
"vehicle_maintenance": 55,
"hazmat_compliance": null,
"crash_indicator": 40
},
"basic_alerts": ["vehicle_maintenance"],
"authority": {
"common": "ACTIVE",
"contract": "ACTIVE",
"broker": "NONE",
"details": {
"common_authority_status": "ACTIVE",
"contract_authority_status": "ACTIVE",
"broker_authority_status": "NONE"
}
},
"docket_numbers": [
{ "type": "MC", "number": "789012" },
{ "type": "MX", "number": null }
],
"cargo_carried": ["General Freight", "Machinery"],
"risk": {
"score": 38.5,
"tier": "Moderate",
"description": "This carrier has some safety concerns that warrant monitoring.",
"confidence": "medium",
"factors": [
"Vehicle Maintenance exceeds intervention threshold (55%)"
],
"methodology": "1.0.0"
},
"metadata": {
"data_source": "FMCSA SAFER Web Services API",
"api_version": "v1.0",
"last_updated": "2025-12-30T12:00:00.000Z"
}
}
}BASICs (Behavior Analysis and Safety Improvement Categories) are percentile rankings from 0-100. Higher scores indicate worse safety performance relative to peers.
| BASIC Category | Alert Threshold | Description |
|---|---|---|
| unsafe_driving | >65% | Speeding, reckless driving, improper lane changes |
| hos_compliance | >65% | Hours of service violations, logbook issues |
| driver_fitness | >80% | CDL, medical certificate, and training requirements |
| controlled_substances | >80% | Drug and alcohol violations |
| vehicle_maintenance | >80% | Brake, lighting, and cargo securement issues |
| hazmat_compliance | >80% | Hazardous materials handling violations |
| crash_indicator | >65% | Crash history and severity |
Note: High-risk BASICs (unsafe_driving, hos_compliance, crash_indicator) have a lower alert threshold of 65% because they are stronger predictors of crashes.
Our open-source risk scoring algorithm provides a transparent, reproducible assessment of carrier safety. The algorithm is documented in full at /methodology.
Good safety performance and low risk indicators.
Some safety concerns that warrant monitoring.
Significant safety issues. Additional due diligence recommended.
Severe safety problems. Exercise extreme caution.
| Status | Error | Description |
|---|---|---|
| 400 | Invalid number format | DOT/MC number must be numeric |
| 404 | Carrier not found | No carrier exists with this DOT/MC number |
| 429 | Rate limited | Too many requests. Try again later. |
| 500 | Internal server error | Unexpected error. Contact support. |
Try our free DOT lookup tool or contact us for API access.