SAFER FMCSA DOT Crawler avatar
SAFER FMCSA DOT Crawler

Pricing

Pay per event

Go to Store
SAFER FMCSA DOT Crawler

SAFER FMCSA DOT Crawler

Developed by

BowTiedRacoon

BowTiedRacoon

Maintained by Community

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

5.0 (1)

Pricing

Pay per event

5

Total users

110

Monthly users

5

Runs succeeded

>99%

Issues response

7.8 hours

Last modified

3 days ago

FMCSA DOT Crawler

Overview

The FMCSA DOT Crawler collects structured information about U.S. motor carriers directly from the FMCSA SAFER "Company Snapshot" pages. It supports keyword‑style filtering (DOT range, state, fleet size, etc.) and an optional Premium mode that adds crash statistics, safety ratings and public email addresses.

Typical use–cases include:

  • Lead generation for logistics or insurance companies
  • Competitor or market‑size analysis
  • Compliance monitoring and risk assessment
  • Building datasets of motor carriers for analysis
  • Monitoring FMCSA updates for compliance or reporting
  • Integrating carrier data with logistics systems

Key Features

  • Comprehensive Data Extraction: Scrapes legal names, DBA names, phone numbers, addresses, operational stats, and cargo types.
  • Flexible filters – pull only the carriers you need by DOT number window or add‑date.
  • Straight‑forward output – each company snapshot is returned as a single JSON object that is easy to ingest downstream.
  • Resilient crawling – automatic retries, exponential back‑off and proxy rotation keep the run moving even when SAFER throttles.
  • Efficient Processing – optimized for crawling millions of records with fast and memory-efficient streaming

Input Schema

The scraper 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 process (0 → no limit)
dot_endintegerLast DOT number to process (inclusive). Defaults to 10,000,000
add_after_datestring (YYYY‑MM‑DD)Include only carriers registered on or after this date
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,
"max_results": 10000,
"dot_end": 2100000,
"add_after_date": "2020-01-01",
"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 successful company snapshot is returned as a flat JSON object:

FieldStandardPremium
DOT_num
entity_type, legal_name, dba_name
mc_mx_ff_numbers
phone, physical_address, mailing_address
power_units, drivers
cargo_carried, carrier_operation, operation_classification
DUNS_num
inspections_us (vehicle / driver / hazmat / iep)
inspections_ca (vehicle / driver)
email
crashes_us (fatal / injury / tow / total)
crashes_ca (fatal / injury / tow / total)
safety_rating (rating_date / review_date / rating / type)

Sample (Standard)

{
"DOT_num": "2802023",
"entity_type": "Carrier",
"legal_name": "Example Logistics LLC",
"dba_name": "Example Trucks",
"mc_mx_ff_numbers": "MC‑123456",
"phone": "555‑123‑4567",
"physical_address": "123 Main St, Springfield, IL",
"mailing_address": "PO Box 456, Springfield, IL",
"power_units": "50",
"drivers": "75",
"cargo_carried": ["General Freight", "Household Goods"],
"carrier_operation": ["Interstate"],
"operation_classification": ["For Hire"],
"DUNS_num": "012345678",
"inspections_us": { "vehicle": "10", "driver": "2", "hazmat": "0", "iep": "0" },
"inspections_ca": { "vehicle": "–", "driver": "–" }
}
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)
inspections_usobjectUS inspection counts (driver, vehicle, hazmat, iep)
inspections_caobjectCanadian inspection counts (currently null)

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",
"inspections_us": {
"driver": "12",
"vehicle": "8",
"hazmat": "2",
"iep": "0"
},
}

Notes & Best Practices

  • Stick to a single primary filter per run – combining filters is currently not supported.
  • 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

Need More Features?

If you'd like to add new data fields to this scraper or need a custom scraper for another purpose, feel free to file an issue or get in touch! We are open to customizing the scraper to suit your needs.

Why Choose This Scraper?

  • Efficient: Processes a high volume of requests with intelligent retries and session management.
  • Customizable: Tailor input options to suit your scraping needs.
  • Reliable: Leverages robust error-handling and proxy configurations for uninterrupted scraping.
  • Flexible: Process only the records you need

Proxies and Anti-blocking

This scraper uses the Apify Proxy or your custom proxy settings to reduce the risk of being blocked. It supports automatic session management for smooth operation.

Resources


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