POST /api/fmcsa/carriers/snapshots
Price: 5 credits
Get a motor carrier's SAFER Company Snapshot by USDOT or MC/MX number: USDOT and authority status, fleet size, operation classification, cargo carried, US and Canada inspection and crash counts with out-of-service rates, and the safety rating.
Use this to vet a carrier's safety record: inspections, out-of-service rates against the national average, crashes and the FMCSA safety rating. It accepts an MC docket number when the USDOT number is unknown.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)usdot string nullable — USDOT number of the carrier; pass this or mc_number (examples: "54283")mc_number string nullable — MC or MX docket number of the carrier; pass this or usdot (examples: "MC-136818")@type string (default: "FmcsaCarrierSnapshot")usdot string requiredurl string requiredname string nullabledba_name string nullableregistrant_type string nullableusdot_status string nullableout_of_service_at integer nullablestate_carrier_id string nullablemcs150_filed_at integer nullablemcs150_mileage integer nullablemcs150_mileage_year integer nullableoperating_authority_status string nullabledocket_numbers array (default: [])physical_address string nullablemailing_address string nullablephone string nullableduns string nullablepower_unit_count integer nullablenon_cmv_unit_count integer nullabledriver_count integer nullableoperation_classifications array (default: [])carrier_operations array (default: [])cargo_carried array (default: [])us_total_inspection_count integer nullableus_total_iep_inspection_count integer nullableus_inspections_period_end_at integer nullableus_inspections array (default: [])@type string (default: "FmcsaInspectionSummary")inspection_type string requiredinspection_count integer nullableout_of_service_count integer nullableout_of_service_percent number nullablenational_average_percent number nullableus_crashes_period_end_at integer nullableus_crashes object nullable@type string (default: "FmcsaCrashSummary")fatal_count integer nullableinjury_count integer nullabletow_count integer nullabletotal_count integer nullablecanada_total_inspection_count integer nullablecanada_inspections_period_end_at integer nullablecanada_inspections array (default: [])@type string (default: "FmcsaInspectionSummary")inspection_type string requiredinspection_count integer nullableout_of_service_count integer nullableout_of_service_percent number nullablenational_average_percent number nullablecanada_crashes_period_end_at integer nullablecanada_crashes object nullable@type string (default: "FmcsaCrashSummary")fatal_count integer nullableinjury_count integer nullabletow_count integer nullabletotal_count integer nullablesafety_rating object nullable@type string (default: "FmcsaSafetyRating")rating string nullablerating_type string nullablerated_at integer nullablereviewed_at integer nullabledata_updated_at integer nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No carrier matches this USDOT or MC/MX number, or SAFER marks its record inactive Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.