Docs / FMCSA new carrier leads
New Trucking Companies API (FMCSA new carriers + insurance status)
Newly registered US trucking companies (USDOT carriers) from the official FMCSA census, joined with FMCSA Licensing & Insurance records: DOT/MC number, legal name, fleet size, hazmat, cargo, authority status, and whether BI&PD liability insurance is on file, with insurer name.
Run it on Apify ↗ API tab ↗ Compare alternatives
Facts on this page were checked against the live Apify listing on 2026-10-22. The Apify Store page is the source of truth for price.
Who it is for
Truck insurance agents, freight factoring, ELD and fuel-card vendors, dispatch and compliance services, equipment dealers, and AI agents building trucking prospect lists.
Pricing (pay per event)
| Event | Charged | Price (USD) |
|---|---|---|
carrier | per carrier returned | $0.003 |
apify-actor-start | per run | $0.005 |
The prefilled input (TX, last 7 days, up to 100 carriers) costs at most $0.305. No subscription. Paid Apify plans get Store tier discounts automatically, and you can set a maximum total charge per run.
Data sources
- FMCSA Company Census on data.transportation.gov
- FMCSA Licensing & Insurance datasets (Carrier, Insur, Motus Carrier, Motus Insur – All With History)
Update cadence: FMCSA publishes new registrations continuously; the newest records are usually 1–3 days old (use daysBack 5+).
Coverage: All US states (filter by physical-address state).
Inputs
| Field | Type | Default | What it does |
|---|---|---|---|
daysBack | integer | 7 | Carriers added to the FMCSA census in the last N days (default 7). FMCSA data lags 2-3 days, so use 5+ for results. |
states | array | | Two-letter physical-address states, e.g. ["TX","FL"]. Empty = all states. |
authorizedForHireOnly | boolean | false | Only for-hire carriers (best for insurance, factoring, dispatch leads). |
hazmat | string | "any" | Filter by hazmat indicator. |
operationTypes | array | | Empty = all. |
minPowerUnits | integer | 0 | 0 = no minimum. |
maxPowerUnits | integer | 0 | 0 = no maximum. |
activeOnly | boolean | true | Only carriers with active USDOT status. |
includeInsurance | boolean | true | Join FMCSA Licensing & Insurance data: authority status (pending/active), BI&PD required vs on file, insurer name, policy, effective date, cargo/bond. Adds a few seconds per 1,000 carriers. No extra charge. |
insuranceFilter | string | "any" | 'No insurance on file yet' keeps carriers whose authority requires BI&PD liability but FMCSA has none on file - they are shopping for a policy right now. |
maxItems | integer | 100 | Maximum carriers to return; each is one charged result ($0.003). Use 10-50 for a quick sample. |
onlyNew | boolean | false | Remember results across runs (per account) and return only items not seen before. Ideal for scheduled runs: you pay only for new records. |
webhookUrl | string | | Optional. POSTs the new items as JSON with a 'text'/'content' summary (Slack, Discord, Zapier, Make, n8n compatible). |
Output fields
dotNumber, mcNumber, legalName, dbaName, addDate, powerUnits, totalDrivers, operationType, classification, hazmat, cargoTypes, authorityStatus, insuranceStatus, hasActiveInsurance, insuranceLead, insurerName, bipdRequiredUsd, bipdOnFileUsd, bipdEffectiveDate, authorities[], insurancePolicies[], snapshotUrl.
Example input
{
"daysBack": 7,
"states": ["TX"],
"insuranceFilter": "none_on_file",
"maxItems": 25
}
Call it from code or an AI agent
REST (one call, returns JSON rows):
curl -X POST "https://api.apify.com/v2/acts/johto.data~fmcsa-new-carrier-leads/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"daysBack":7,"states":["TX"],"insuranceFilter":"none_on_file","maxItems":25}'
Python: ApifyClient(token).actor("johto.data/fmcsa-new-carrier-leads").call(run_input={...})
MCP (Claude, Cursor, any MCP client): https://mcp.apify.com/?tools=johto.data/fmcsa-new-carrier-leads
Limits and notes
- Records are company-level. If you contact a carrier, you are responsible for TCPA, CAN-SPAM and Do Not Call compliance.
- A new USDOT number does not by itself mean active operating authority. Confirm insurance on the carrier's SAFER snapshot before quoting.
- MC numbers often appear weeks after the USDOT number.
FAQ
Where does the data come from?
FMCSA Company Census plus FMCSA Licensing & Insurance authority and insurance filings on data.transportation.gov. Public US government data; no logins or proxies.
How fresh is it?
FMCSA publishes new registrations continuously; the newest carriers are usually 1–3 days old.
Why does a new carrier show no insurance?
Most carriers file liability insurance (BMC-91/91X) days to weeks after applying for authority. Until then insuranceLead is true.
Apify Store listing: https://apify.com/johto.data/fmcsa-new-carrier-leads. Questions: [email protected].