OrbTop

SAFER FMCSA DOT Crawler

LEAD GENERATIONAIOTHER

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.

Field Type Description
dot_start integer First DOT number to process (inclusive)
max_results integer Maximum number of records to return
dot_end integer Last DOT number to process (inclusive); empty = no upper bound
add_after_date string (YYYY-MM-DD) Include only carriers registered on or after this date
driver_count_min integer Include only carriers with at least this many drivers
driver_count_max integer Include only carriers with at most this many drivers
mc_number string Look up one carrier by MC/docket number, e.g. MC012892. Works with or without dot_start
sp_intended_usage string Short sentence describing how you plan to use the data.
sp_improvement_suggestions string Your feedback for future upgrades.
sp_contact string Contact 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:

Field Type Description
DOT_num string DOT registration number
entity_type string Business type (CARRIER, BROKER, FREIGHT FORWARDER, etc.)
legal_name string Legal business name
dba_name string "Doing Business As" name
mcs150_date string MCS-150 form update date (MM-DD-YY format)
mcs150_mileage string Annual mileage reported on MCS-150
mcs150_mileage_year string Year for reported mileage
mc_mx_ff_numbers string MC/MX/FF docket numbers
phone string Primary phone number (digits only)
cell_phone string Cell phone number
physical_address string Physical business address
mailing_address string Mailing address
power_units integer Number of power units (trucks, tractors)
drivers integer Total number of drivers
truck_units integer Number of truck units
bus_units integer Number of bus units
fleet_size string Fleet size category (e.g., "1", "2-3", "4-6", "76-100", etc.)
cargo_carried array Types of cargo transported
carrier_operation array Operation type (Interstate, Intrastate Only, etc.)
operation_classification array Operational classifications
company_officer_1 string Primary company officer
company_officer_2 string Secondary company officer
DUNS_num string Dun & Bradstreet number
email string Email address (when available in source data)
safety_rating object Safety rating details (rating, rating_date, review_date, type)
inspections_us object US inspection counts (driver, vehicle, hazmat, iep)
inspections_ca object Canadian inspection counts (currently null)
docket_number string MC/FF/MX docket number on the broker-authority record
authority_status_common string Common-carrier authority status
authority_status_contract string Contract-carrier authority status
authority_status_broker string Broker authority status
carrier_property string Property authority flag
carrier_passenger string Passenger authority flag
carrier_hhg string Household-goods authority flag
carrier_private string Private authority flag
carrier_enterprise string Enterprise authority flag
cargo_required string Cargo insurance required flag
bond_required string Bond/trust fund required flag
bipd_required string Minimum BIPD coverage required
bipd_on_file string BIPD insurance filing status
cargo_on_file string Cargo insurance filing status
bond_on_file string Bond/trust fund filing status
boc3_on_file boolean Process-agent (BOC-3) designation on file
insurance_on_file array Active/pending insurance policies (company, policy no, coverage, dates)
out_of_service boolean Carrier is currently under an FMCSA out-of-service order
out_of_service_date string Date the current out-of-service order took effect
oos_reason string Reason for the current out-of-service order
authority_revoked boolean Carrier has had an operating authority revoked (on record)
revocation_date string Effective date of the (most recent) authority revocation
revocation_type string Type of the (most recent) authority revocation
registration_rejected boolean Carrier has an on-file rejected insurance filing
rejection_reason string Reason 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!