SAFER FMCSA DOT Crawler avatar

SAFER FMCSA DOT Crawler

Pricing

Pay per event

Go to Apify Store
SAFER FMCSA DOT Crawler

SAFER FMCSA DOT Crawler

Crawl the SAFER DOT.GOV database for publicly registered vehicles. Supports Address, phone, email, DUNS and other registration details. Perfect for Lead Generation!

Pricing

Pay per event

Rating

5.0

(2)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

17

Bookmarked

163

Total users

3

Monthly active users

18 hours

Issues response

2 days ago

Last modified

Share

FMCSA DOT Crawler

Overview

The FMCSA DOT Crawler delivers structured information about U.S. motor carriers registered with the FMCSA (the data behind SAFER "Company Snapshot" pages). It covers the complete carrier registry — 4.4M+ carriers — with fast, consistent runs that don't suffer from SAFER's slowness, rate limits, or blocking.

Every record includes the full field set — contact emails, safety ratings, officers, and fleet details are included for all users at no extra charge.

Typical use-cases include:

  • Lead generation for logistics, insurance, or factoring companies
  • Competitor or market-size analysis
  • Compliance monitoring and risk assessment
  • Building carrier datasets for analytics and enrichment
  • Integrating carrier data with logistics systems

Key Features

  • Complete coverage – the full FMCSA carrier registry, 4.4M+ records, kept current with FMCSA's monthly data updates.
  • Fast and predictable – thousands of records per minute at a flat, low per-record price; runs behave the same every time.
  • Full field set for everyone – emails, safety ratings, officers, fleet size and inspection stats in every record (the former "premium" tier is retired — everything is included).
  • Flexible filters – pull only the carriers you need by DOT number window, registration add-date, or driver-count range.
  • Straightforward output – each carrier is one flat JSON object that is easy to ingest downstream.

Input Schema

The actor reads the parameters below at run-time. Required fields are marked bold.

FieldTypeDescription
dot_startintegerFirst DOT number to process (inclusive)
max_resultsintegerMaximum number of records to return
dot_endintegerLast DOT number to process (inclusive); empty = no upper bound
add_after_datestring (YYYY-MM-DD)Include only carriers registered on or after this date
driver_count_minintegerInclude only carriers with at least this many drivers
driver_count_maxintegerInclude only carriers with at most this many drivers
mc_numberstringLook up one carrier by MC/docket number, e.g. MC012892. Works with or without dot_start
sp_intended_usagestringShort sentence describing how you plan to use the data.
sp_improvement_suggestionsstringYour feedback for future upgrades.
sp_contactstringContact email where we can reach you for feedback/collaboration

Example Input

{
"dot_start": 2000000,
"dot_end": 2100000,
"max_results": 10000,
"add_after_date": "2020-01-01",
"driver_count_min": 5,
"driver_count_max": 100,
"sp_intended_usage": "Outbound prospecting list for carriers",
"sp_improvement_suggestions": "Option to filter by cargo type",
"sp_contact": "john@example.com"
}

Output Fields

Each carrier is returned as a flat JSON object:

FieldTypeDescription
DOT_numstringDOT registration number
entity_typestringBusiness type (CARRIER, BROKER, FREIGHT FORWARDER, etc.)
legal_namestringLegal business name
dba_namestring"Doing Business As" name
mcs150_datestringMCS-150 form update date (MM-DD-YY format)
mcs150_mileagestringAnnual mileage reported on MCS-150
mcs150_mileage_yearstringYear for reported mileage
mc_mx_ff_numbersstringMC/MX/FF docket numbers
phonestringPrimary phone number (digits only)
cell_phonestringCell phone number
physical_addressstringPhysical business address
mailing_addressstringMailing address
power_unitsintegerNumber of power units (trucks, tractors)
driversintegerTotal number of drivers
truck_unitsintegerNumber of truck units
bus_unitsintegerNumber of bus units
fleet_sizestringFleet size category (e.g., "1", "2-3", "4-6", "76-100", etc.)
cargo_carriedarrayTypes of cargo transported
carrier_operationarrayOperation type (Interstate, Intrastate Only, etc.)
operation_classificationarrayOperational classifications
company_officer_1stringPrimary company officer
company_officer_2stringSecondary company officer
DUNS_numstringDun & Bradstreet number
emailstringEmail address (when available in source data)
safety_ratingobjectSafety rating details (rating, rating_date, review_date, type)
inspections_usobjectUS inspection counts (driver, vehicle, hazmat, iep)
inspections_caobjectCanadian inspection counts (currently null)
docket_numberstringMC/FF/MX docket number on the broker-authority record
authority_status_commonstringCommon-carrier authority status
authority_status_contractstringContract-carrier authority status
authority_status_brokerstringBroker authority status
carrier_propertystringProperty authority flag
carrier_passengerstringPassenger authority flag
carrier_hhgstringHousehold-goods authority flag
carrier_privatestringPrivate authority flag
carrier_enterprisestringEnterprise authority flag
cargo_requiredstringCargo insurance required flag
bond_requiredstringBond/trust fund required flag
bipd_requiredstringMinimum BIPD coverage required
bipd_on_filestringBIPD insurance filing status
cargo_on_filestringCargo insurance filing status
bond_on_filestringBond/trust fund filing status
boc3_on_filebooleanProcess-agent (BOC-3) designation on file
insurance_on_filearrayActive/pending insurance policies (company, policy no, coverage, dates)
out_of_servicebooleanCarrier is currently under an FMCSA out-of-service order
out_of_service_datestringDate the current out-of-service order took effect
oos_reasonstringReason for the current out-of-service order
authority_revokedbooleanCarrier has had an operating authority revoked (on record)
revocation_datestringEffective date of the (most recent) authority revocation
revocation_typestringType of the (most recent) authority revocation
registration_rejectedbooleanCarrier has an on-file rejected insurance filing
rejection_reasonstringReason for the (most recent) rejected filing

Coverage note: docket_number and every field down to insurance_on_file are only populated for carriers that hold an MC/FF/MX docket (~42% of the registry) — they are genuinely null, not omitted, for carriers with no docket on file. Insurance detail is narrower still (~10% of the registry).

Risk signals: out_of_service/out_of_service_date/oos_reason are null when the carrier has no out-of-service order on record, false (with a null date/reason) when it has OOS history but every order has since been rescinded, and true with the order's date/reason when currently in force. authority_revoked and registration_rejected are null when the carrier has no such record and true (with the most recent event's date/reason) when it does — these two source tables carry no "reinstated" concept, so the flag is a historical fact rather than a current-state check.

Sample Output

{
"DOT_num": "2802023",
"entity_type": "CARRIER",
"legal_name": "Example Logistics LLC",
"dba_name": "Example Trucks",
"mcs150_date": "09-06-24",
"mcs150_mileage": "120000",
"mcs150_mileage_year": "2024",
"mc_mx_ff_numbers": "MC123456",
"phone": "5551234567",
"cell_phone": "5559876543",
"physical_address": "123 Main St, Springfield, IL, 62701, US",
"mailing_address": "PO Box 456, Springfield, IL, 62701, US",
"power_units": 50,
"drivers": 75,
"truck_units": 45,
"bus_units": 0,
"fleet_size": "45-55",
"cargo_carried": ["General Freight", "Building Materials"],
"carrier_operation": ["Interstate"],
"operation_classification": ["For Hire"],
"company_officer_1": "John Smith",
"company_officer_2": "Jane Doe",
"DUNS_num": "012345678",
"email": "contact@examplelogistics.com",
"safety_rating": {
"rating": "Satisfactory",
"rating_date": "20200101",
"review_date": "20200202",
"type": "Compliance Review"
},
"inspections_us": {
"driver": "12",
"vehicle": "8",
"hazmat": "2",
"iep": "0"
},
"docket_number": "MC123456",
"authority_status_broker": "A",
"boc3_on_file": true,
"insurance_on_file": [
{ "type": "BIPD/Primary", "company": "Example Insurance Co", "policy_no": "CA1234567", "max_coverage": "1000", "effective_date": "01/01/2024", "cancel_date": null }
],
"out_of_service": false,
"out_of_service_date": null,
"oos_reason": null,
"authority_revoked": null,
"revocation_date": null,
"revocation_type": null,
"registration_rejected": null,
"rejection_reason": null
}

Notes & Best Practices

  • Records reflect FMCSA's monthly data cycle — carrier details update as FMCSA publishes changes
  • Records are filtered to include only active carriers (STATUS_CODE = 'A')
  • Phone numbers are cleaned to contain only digits
  • MCS-150 dates are formatted from YYYYMMDD to MM-DD-YY for consistency
  • For very large pulls, page through the DOT space with dot_start/dot_end + max_results across multiple runs

Need More Features?

If you'd like additional data fields or filters (state, cargo type and more are on our roadmap), feel free to file an issue or get in touch! We are open to customizing the actor to suit your needs.

Why Choose This Actor?

  • Fast: Thousands of records per minute, with no waiting on a slow government website.
  • Complete: The full FMCSA carrier registry — 4.4M+ carriers, every field included.
  • Reliable: No blocking, throttling, or partial results — runs behave the same every time.
  • Affordable: A flat, low per-record price that makes full-registry pulls practical.

Resources


Enhance your transportation data collection capabilities with the FMCSA DOT Crawler. Get started today!