FMCSA Trucking API - DOT Lookup, Carriers & Enrichment avatar

FMCSA Trucking API - DOT Lookup, Carriers & Enrichment

Under maintenance

Pricing

from $2.00 / 1,000 carrier records

Go to Apify Store
FMCSA Trucking API - DOT Lookup, Carriers & Enrichment

FMCSA Trucking API - DOT Lookup, Carriers & Enrichment

Under maintenance

Search US trucking companies by DOT, MC/MX or name. Get phone, address, safety rating, power units, drivers + Google-enriched website & emails.

Pricing

from $2.00 / 1,000 carrier records

Rating

0.0

(0)

Developer

deusex machine

deusex machine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

FMCSA Trucking API — DOT Lookup, Carriers & Enrichment

Search every U.S. trucking carrier registered with the Federal Motor Carrier Safety Administration (FMCSA / SAFER) and turn it into a clean B2B lead list. Look up by US DOT number, MC/MX number, or company name, then optionally enrich each carrier with a website, LinkedIn, Facebook page and secondary emails. Built on top of the public FMCSA SAFER Company Snapshot — the same dataset insurance underwriters, freight brokers and load boards use, exposed as an API you can run on a schedule and export to CSV.

If you have searched for DOT number lookup, MC number lookup, trucking company database, FMCSA carrier search by name free, trucking leads, freight broker leads, or us dot scraper, this is the actor. It works for all 50 states, returns ~30 structured fields per carrier, and supports bulk lookups of thousands of DOTs in a single run.

💡 The FMCSA SAFER dataset is the only legally authoritative US trucking carrier database. Every active carrier, broker, shipper, freight forwarder or HAZMAT permittee with interstate authority is in it.


🚀 Why this FMCSA Trucking API

  • All ~2M US trucking carriers + brokers + shippers + freight forwarders registered with FMCSA SAFER
  • Three lookup modes — by US DOT (bulk), by MC/MX (bulk), or by company name keyword
  • 30+ structured fields per carrier — DOT, MC/MX, legal name, DBA, operating status, entity type, cargo type, power units, drivers, mileage, address, mailing address, phone, DUNS, MCS-150 date
  • Operating status filter — Authorized For Hire, Not Authorized, Out of Service
  • Cargo carried — Household Goods, Refrigerated Food, General Freight, Hazmat, Liquid / Gas, Auto Carrier, etc.
  • Web enrichment — per carrier, find website, LinkedIn, Facebook and secondary emails via SERP (no API key)
  • No login, no DOT account, no scraping CAPTCHAs — runs against the public SAFER endpoints
  • Outputs — Apify Dataset → CSV, JSON, Excel, XML, RSS, HTML

Built for freight broker sales teams running carrier outreach, insurance underwriting and pre-qualification, trucking SaaS founders ($/DOT pricing), compliance teams onboarding new carriers, and analysts building fleet / M&A intelligence.


📊 What this FMCSA Trucking API extracts

FieldDescription
usDotUS DOT number
mcMxMC / MX authority number(s)
legalNameLegal company name
dbaNameDoing-business-as name
entityTypeCarrier, Broker, Shipper, Freight Forwarder, IEP, Cargo Tank Facility
operatingStatusAuthorized For Hire / Not Authorized / Out of Service
outOfServiceDateDate placed out of service (when applicable)
operationClassificationAuthorized For Hire, Private (Property), Private (Passengers), …
carrierOperationInterstate / Intrastate Hazmat / Intrastate Non-Hazmat
cargoCarriedArray of cargo types (General Freight, Refrigerated, Hazmat, …)
hmFlagWhether HAZMAT-certified
pcFlagWhether passenger-certified
powerUnitsNumber of trucks / tractors
driversNumber of drivers (interstate + intrastate)
mcs150DateLast MCS-150 update date
mcs150MileageReported annual mileage
mcs150MileageYearYear of the mileage report
addressStreetPhysical street address
addressCityPhysical city
addressStatePhysical state (2-letter)
addressZipPhysical ZIP
addressCountryCountry code
mailingStreetMailing street (when different)
mailingCityMailing city
mailingStateMailing state
mailingZipMailing ZIP
phonePhone number on file
dunsNumberDUNS number
inspectionsSummaryCounts of vehicle / driver / hazmat inspections (when published)
crashesSummaryCounts of crashes by category (when published)
safetyRatingSatisfactory / Conditional / Unsatisfactory / None
safetyRatingDateDate of the safety rating
enrichment.websiteCarrier website (optional)
enrichment.linkedinCarrier LinkedIn (optional)
enrichment.facebookCarrier Facebook (optional)
enrichment.emailsSecondary emails from SERP (optional)
enrichment.phonesPhone numbers from the carrier's website (optional)
saferUrlDirect link to the SAFER Company Snapshot

🎯 Search modes

1. byDot — DOT number lookup (bulk)

Hand the actor a list of US DOT numbers and get the full SAFER snapshot for each. Perfect for compliance workflows, insurance underwriting, or batch CRM enrichment.

{
"searchMode": "byDot",
"usDotNumbers": ["3475632", "1234567", "987654"],
"enrichWithGoogle": true,
"enrichLimit": 3
}

2. byMc — MC / MX number lookup (bulk)

Same idea but using motor-carrier (MC) or transport-of-migrant (MX) authority numbers. Provide digits only — no MC- prefix.

{
"searchMode": "byMc",
"mcMxNumbers": ["654321", "123456"],
"enrichWithGoogle": false
}

3. byName — FMCSA carrier search by name

Search by company name keyword and return all matching carriers, paginating across SAFER's full keyword index. This is the same endpoint that powers the SAFER carrier search box.

{
"searchMode": "byName",
"companyName": "PREMIER VALLEY",
"maxResults": 100,
"enrichWithGoogle": true,
"enrichLimit": 50
}

Tip: a generic keyword like "LOGISTICS", "FREIGHT", "TRANSPORT", "EXPRESS", "HOTSHOT" returns thousands of carriers — pair with maxResults and post-filter by state in the Dataset view.


💡 Use cases

This FMCSA Trucking API is built for B2B lead generation, insurance underwriting, compliance and SaaS sales targeting the U.S. trucking and freight industry.

  • Freight broker prospecting — pull every Authorized For Hire carrier in a state with at least 5 power units, then run enrichment to get the dispatcher's email. Better signal than load-board scraping and 100% legal
  • Trucking leads & freight broker leads — combine cargoCarried + state + power-units filter to build targeted lead lists for insurance, factoring, ELD vendors, dispatch SaaS, fuel cards
  • Trucking insurance leads — Authorized For Hire carriers, sorted by power units. Add MCS-150 freshness as a quality signal
  • Carrier qualification & onboarding — freight brokers can pre-vet a new carrier in seconds: operating status, safety rating, insurance authority, MCS-150 freshness
  • Fleet acquisition & M&A research — find small carriers (under 50 power units) by state and cargo type for roll-up plays
  • Hazmat shipper compliance discovery — find every HM-flagged carrier carrying specific hazmat classes
  • Hotshot trucking leads — filter on small power-unit counts (1–3) + Authorized For Hire to find owner-operators
  • DOT compliance audits — bulk lookup an entire customer base by DOT to verify operating status weekly
  • Insurance renewals — feed a list of insured DOTs into the actor every quarter to flag any carrier whose authority has changed
  • Trucking company directory by state — by state + entityType: Carrier + operatingStatus: Authorized For Hire
  • Buy trucking leads — instead of paying a list broker, run this actor on a schedule and own the list

🧾 Example output

{
"usDot": "3475632",
"mcMx": ["MC-1167489"],
"legalName": "PREMIER VALLEY TRANSPORT LLC",
"dbaName": null,
"entityType": "Carrier",
"operatingStatus": "AUTHORIZED FOR HIRE",
"operationClassification": ["Auth. For Hire"],
"carrierOperation": "Interstate",
"cargoCarried": ["General Freight", "Refrigerated Food"],
"hmFlag": false,
"pcFlag": false,
"powerUnits": 12,
"drivers": 14,
"mcs150Date": "2025-11-04",
"mcs150Mileage": 1820000,
"mcs150MileageYear": 2024,
"addressStreet": "1500 INDUSTRIAL BLVD",
"addressCity": "FRESNO",
"addressState": "CA",
"addressZip": "93725",
"addressCountry": "US",
"phone": "+1-559-555-0142",
"dunsNumber": "123456789",
"safetyRating": "Satisfactory",
"safetyRatingDate": "2024-08-12",
"enrichment": {
"website": "https://premiervalleytransport.com",
"linkedin": "https://www.linkedin.com/company/premier-valley-transport",
"facebook": null,
"emails": ["dispatch@premiervalleytransport.com", "rates@premiervalleytransport.com"],
"phones": ["+1-559-555-0142", "+1-559-555-0277"]
},
"saferUrl": "https://safer.fmcsa.dot.gov/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&query_string=3475632"
}

🆚 Compared to alternatives

ToolDOT lookupName searchEnrichmentBulkExportCost
FMCSA Trucking API (this actor)✅ Up to 1,000CSV / JSON / ExcelPay-per-event
SAFER web portal⚠️ 1 at a timeFree, painful
FMCSA SAFER API⚠️⚠️ Slow⚠️Free, undocumented
DAT carrier reports⚠️$$$ subscription
Truckstop.com⚠️⚠️$$$ subscription
Carrier411⚠️⚠️⚠️Subscription
HighWay / FreightWaves SONAR⚠️⚠️⚠️$$$$ enterprise

If you only need to verify one DOT, the SAFER web portal is free and fine. For bulk extraction, enrichment, scheduled refresh and CSV export, this actor is the cheapest path.


⚙️ Input parameters reference

ParameterTypeDefaultDescription
searchModestring enumbyNamebyDot / byMc / byName
usDotNumbersstring[]Used with byDot. One DOT per line
mcMxNumbersstring[]Used with byMc. Digits only, no MC- prefix
companyNamestringUsed with byName. Partial match on legal / DBA name
maxResultsinteger50Hard cap (1–1,000)
enrichWithGooglebooleanfalseFind website + LinkedIn + secondary emails per carrier
enrichLimitinteger50Max carriers to enrich (1–1,000)
proxyConfigproxyresidentialUsed for SAFER and enrichment requests

💰 Pricing & cost

Pay-per-event:

  • Per carrier returned — small fee, scales linearly
  • Per enriched carrier — only when enrichWithGoogle: true, capped by enrichLimit

A 100-carrier name-search run with no enrichment is essentially free. Adding enrichment to all 100 carriers stays under a couple of dollars. Bulk DOT lookups of a 1,000-carrier customer base for renewal season runs at roughly the cost of a single SaaS seat.

Failed lookups, retries and rate-limit backoffs are not charged.


🧭 Quick reference — common cargo classifications

cargoCarried valueDescription
General FreightDry van, flatbed, standard freight
Refrigerated FoodReefer carriers
Liquids/GasesTankers (chemicals, fuel, milk)
HazmatHazardous materials (multiple classes)
Auto CarrierCar haulers
Household GoodsMoving / relocation carriers
Building MaterialsConstruction freight
Mobile HomesManufactured housing
Logs, Poles, Beams, LumberForestry haulers
Grain, Feed, HayAgricultural haulers
BeveragesBeer / soda / water distribution
Garbage / Refuse / TrashWaste haulers
LivestockAnimal transport
Intermodal ContainersDrayage
PassengersBus / motorcoach / limo

Use the cargoCarried field to segment your TAM by vertical (insurance, factoring, dispatch SaaS).


❓ Frequently asked questions

Is this an official FMCSA product? No. The actor wraps the public FMCSA SAFER Company Snapshot endpoints (and the Carrier Search API). It returns the same data as the SAFER web portal, just in structured JSON.

Is the data real and verified? Yes. SAFER is the legal source of truth for US trucking authority. Insurance companies, brokers and government auditors use it.

Can I do an FMCSA carrier search by name free? Yes — use searchMode: "byName" with a keyword. The base lookup uses the same endpoint as the public SAFER carrier search box.

Can I do a DOT number lookup by name free? Yes — search by name, then read the usDot field on the returned records. This is the standard way to map "company name" → DOT number.

What's the difference between DOT and MC numbers? US DOT is the identifier every commercial vehicle operator needs. MC (Motor Carrier) is the authority number that lets you haul regulated freight or passengers for hire across state lines. Many carriers have both; brokers only have an MC.

Can I scrape the entire FMCSA database in one run? ~2M carriers across all entity types. Doable but rarely useful. Most users filter by state + entity type + operating status and pull a manageable slice.

How fresh is the data? Live. Every request hits SAFER in real time. Operating-status changes typically reflect within 24 hours of FMCSA action.

Can I get trucking leads with emails? Yes. The SAFER record gives you the carrier name + phone + address. The optional enrichment step pulls the website, LinkedIn, and any emails published on those pages. Same approach Apollo / Hunter use, applied to trucking.

Does this include CSA / BASIC scores? The SAFER snapshot returns inspection and crash counts. Detailed CSA / BASIC scores require a separate FMCSA SMS portal which is not currently included in this actor.

Can I filter by safety rating? The record returns safetyRating (Satisfactory / Conditional / Unsatisfactory / None). Use the Dataset filter or download to CSV and filter downstream.

Does it work for Canadian or Mexican carriers? FMCSA covers US-based carriers + cross-border US-Mexico (MX-authority). It is not the right source for purely domestic Canadian carriers.

Is this legal to use for outbound sales? The dataset is public. Outbound sales must still follow CAN-SPAM, TCPA, DNC and state law. The actor does not generate or send any messages.

How does this compare to DAT or Truckstop? DAT and Truckstop are subscription products with proprietary load-board data. The SAFER dataset is the authority source for carrier identity — it does not have loads. Most freight broker teams use both.

Can I run this on a schedule? Yes — Apify Schedules supports cron expressions. Common pattern: weekly refresh of your active-carrier list to detect any authority changes (Out of Service flips).

Can I integrate this with Claude, Cursor, or other AI agents? Yes — call the actor via the Apify API from your agent, or wrap it with Apify's MCP server.


🔗 Other actors by makework36

Useful companions for B2B lead-gen and logistics workflows:


📝 Changelog

  • v0.1 — Initial release. Three search modes (byDot / byMc / byName), 30+ fields per carrier, optional Google enrichment.

🛠️ Support

Missing a field, need CSA scores, want a CDL-driver scraper? Open an issue or message me directly from the Apify Console. Fast turnaround for paying users.