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, DUNS and other registration details. Perfect for Lead Generation!

5.0 (1)

Pricing

Pay per event

5

Total users

108

Monthly users

27

Runs succeeded

73%

Issue response

7.2 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, state, fleet size, driver count or add‑date.
  • Premium mode – enriches each record with crash history, FMCSA safety rating and public e‑mail (if listed).
  • Resilient crawling – automatic retries, exponential back‑off and proxy rotation keep the run moving even when SAFER throttles.
  • Straight‑forward output – each company snapshot is returned as a single JSON object that is easy to ingest downstream.

Input Schema (v2)

The scraper reads the parameters below at run‑time. Required fields are marked bold. Values not relevant to the chosen filter_mode can be omitted.

FieldTypeDescription
filter_modestring (enum)Primary filter. One of:
• DOT_RANGE (default)
• STATE
• POWER_UNITS
• DRIVERS
• ADDED_AFTER
dot_startintegerFirst DOT number (inclusive) when filter_mode = DOT_RANGE.
max_requests_per_crawlintegerHow many sequential DOT numbers to query (0 → no limit).
statestring (2 char US state)Two‑letter state code when filter_mode = STATE.
power_units_minintegerMinimum fleet size when filter_mode = POWER_UNITS.
power_units_maxintegerMaximum fleet size when filter_mode = POWER_UNITS.
drivers_minintegerMinimum driver count when filter_mode = DRIVERS.
drivers_maxintegerMaximum driver count when filter_mode = DRIVERS.
added_afterstring (YYYY‑MM‑DD)Include carriers whose ADD_DATE ≥ this date when filter_mode = ADDED_AFTER.
is_premium_modebooleanIf true, scrape crash data, safety rating & email (≈ +3 requests / record). Default false.
sp_intended_usagestringShort sentence describing how you plan to use the data.
sp_improvement_suggestionsstringYour feedback for future upgrades.

Example – state filter

{
"filter_mode": "STATE",
"state": "TX",
"is_premium_mode": false,
"sp_intended_usage": "Outbound prospecting list for TX carriers",
"sp_improvement_suggestions": "Option to filter by cargo type"
}

Output Fields

Each successful company snapshot is returned as a flat JSON object. The columns differ slightly between Standard and Premium runs:

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": "–" }
}

Notes & Best Practices

  • Stick to a single primary filter per run – combining filters is currently not supported.
  • Large DOT ranges (≥ 1 M numbers) are best run in chunks to avoid 24 h timeouts.
  • If you hit repeated 403 Forbidden responses, lower concurrency or enable an IP‑rotation proxy plan.

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.

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 data collection capabilities with the FMCSA DOT Crawler. Get started today!