FMCSA Motor Carrier Leads Scraper avatar

FMCSA Motor Carrier Leads Scraper

Pricing

Pay per event

Go to Apify Store
FMCSA Motor Carrier Leads Scraper

FMCSA Motor Carrier Leads Scraper

🚚 Find public USDOT/FMCSA motor carrier leads by DOT number, company name, state, city, fleet size, and new-carrier add date.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract public USDOT/FMCSA motor carrier records for trucking lead generation, compliance checks, factoring outreach, insurance prospecting, and freight broker research.

The actor queries the public U.S. Department of Transportation Socrata dataset directly. It does not scrape blocked SAFER pages, does not require a login, and does not use a browser.

What does FMCSA Motor Carrier Leads Scraper do?

FMCSA Motor Carrier Leads Scraper turns public motor-carrier registry data into a clean Apify dataset.

It can look up known USDOT numbers, search legal or DBA company names, discover carriers by physical-address state or city, and build new-carrier feeds by FMCSA add date.

Each output row is one carrier record with DOT number, name, status, phone, address, fleet size, drivers, add date, docket fields, and source URL.

Who is it for?

  • 🚚 Freight brokers building regional carrier lists.
  • πŸ’³ Factoring companies looking for small fleets and new authorities.
  • πŸ›‘οΈ Insurance teams prospecting commercial trucking accounts.
  • πŸ“‹ Compliance teams checking public carrier status and contact data.
  • πŸ“ˆ B2B sales teams enriching transportation company CRMs.
  • πŸ§‘β€πŸ’» Data teams that need repeatable FMCSA API extraction on Apify.

Why use this actor?

The public FMCSA dataset contains millions of rows, but it is not packaged for lead workflows. This actor adds user-friendly filters, pagination, typed output, Apify datasets, API access, and pay-per-result charging.

You can run it on a schedule, export CSV or JSON, connect it to webhooks, or call it from your own code.

Data source

The actor uses the public Socrata endpoint hosted at data.transportation.gov.

SAFER/FMCSA HTML pages are not used as the extraction source because they can return 403 responses from automated environments. Dataset rows include a SAFER snapshot URL for user reference.

What data can I extract?

FieldDescription
dotNumberUSDOT number
legalNameCarrier legal name
dbaNameDBA name when available
statusCodeFMCSA status code, for example active/inactive
carrierOperationCarrier operation code
businessOrgBusiness organization description
phonePublic phone number
physicalAddressPhysical street/city/state/ZIP
mailingAddressMailing street/city/state/ZIP
powerUnitsPower unit count
driversTotal driver count
mcs150MileageMCS-150 mileage
addDateFMCSA add date
docketPrefixDocket prefix
docketNumberDocket number
sourceUrlSAFER carrier snapshot URL
scrapedAtExtraction timestamp

How much does it cost to scrape FMCSA motor carrier leads?

This actor uses pay-per-event pricing.

  • A small start fee is charged once per run.
  • A per-item fee is charged for each carrier record saved.
  • Larger Apify subscription tiers receive lower per-item prices.

Use maxItems to control cost before running a broad state or city search.

Input options

Lookup filters

  • dotNumbers β€” exact DOT/USDOT number lookup.
  • companyNames β€” partial legal name or DBA search.
  • states β€” physical-address state codes such as TX, CA, or FL.
  • cities β€” physical-address city names.

Carrier filters

  • onlyActive β€” default true, keeps active carriers only.
  • addedSince β€” build a new-carrier feed from YYYY-MM-DD or YYYYMMDD.
  • minPowerUnits β€” exclude carriers below a fleet-size threshold.
  • minDrivers β€” exclude carriers below a driver-count threshold.

Run limits

  • maxItems β€” maximum records to save.
  • pageSize β€” Socrata page size for each request.

Example input: active Texas leads

{
"states": ["TX"],
"onlyActive": true,
"minPowerUnits": 1,
"maxItems": 100
}

Example input: DOT lookup

{
"dotNumbers": ["284470", "1000006"],
"onlyActive": false,
"maxItems": 25
}

Example input: new carrier feed

{
"states": ["FL", "GA"],
"addedSince": "2024-01-01",
"onlyActive": true,
"minPowerUnits": 1,
"maxItems": 250
}

Output example

{
"dotNumber": "284470",
"legalName": "INDEPENDENT TRANSPORTATION SERVICES INC",
"dbaName": null,
"statusCode": "I",
"phone": "6022339778",
"city": "PHOENIX",
"state": "AZ",
"powerUnits": 2,
"drivers": 5,
"addDate": "1986-12-30",
"sourceUrl": "https://safer.fmcsa.dot.gov/query.asp?...",
"scrapedAt": "2026-06-26T00:00:00.000Z"
}

How to run it

  1. Open the actor on Apify.
  2. Choose DOT lookup, company search, or state/city lead discovery.
  3. Keep the default maxItems for a cheap first run.
  4. Run the actor.
  5. Export the dataset as CSV, JSON, Excel, XML, or RSS.

Tips for better lead lists

  • Use onlyActive: true for sales prospecting.
  • Use addedSince for new-authority or new-carrier monitoring.
  • Combine states with minPowerUnits to focus on operating fleets.
  • Disable onlyActive for historical or compliance research.
  • Use smaller maxItems when testing a new geography.

Integrations

This actor works well in these workflows:

  • CRM enrichment: export FMCSA carrier leads to HubSpot, Salesforce, or Airtable.
  • Outreach: send new carrier rows to email or calling workflows.
  • Compliance monitoring: schedule repeat runs and compare DOT status changes.
  • Market research: build state-level snapshots of active trucking companies.
  • Freight sales: segment carriers by power units, drivers, state, and city.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/fmcsa-motor-carrier-leads-scraper').call({
states: ['TX'],
onlyActive: true,
maxItems: 100
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/fmcsa-motor-carrier-leads-scraper').call(run_input={
'states': ['TX'],
'onlyActive': True,
'maxItems': 100,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~fmcsa-motor-carrier-leads-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"states":["TX"],"onlyActive":true,"maxItems":100}'

MCP usage

Use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.

MCP server URL:

https://mcp.apify.com/?tools=automation-lab/fmcsa-motor-carrier-leads-scraper

Claude Code setup:

$claude mcp add apify-fmcsa --transport http "https://mcp.apify.com/?tools=automation-lab/fmcsa-motor-carrier-leads-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-fmcsa": {
"url": "https://mcp.apify.com/?tools=automation-lab/fmcsa-motor-carrier-leads-scraper"
}
}
}

Example prompts:

  • β€œFind 100 active FMCSA motor carriers in Texas with at least one power unit.”
  • β€œLook up these DOT numbers and return company names, phone numbers, and fleet size.”
  • β€œBuild a new FMCSA carrier lead feed for Florida and Georgia since 2024-01-01.”

Scheduling and monitoring

You can schedule the actor daily, weekly, or monthly. For new-carrier monitoring, set addedSince to a recent date and export new rows to your CRM or warehouse.

Limits and reliability

The actor uses public Socrata API pagination and bounded retries. Very large runs may be throttled by the public endpoint, so increase volume gradually and keep pageSize reasonable.

Legality

The actor extracts public U.S. government transportation records. You are responsible for using the data lawfully, respecting outreach rules, honoring do-not-call requirements where applicable, and complying with your local privacy and marketing regulations.

FAQ

Is this an official FMCSA product?

No. This is an independent Apify actor that reads public data from a U.S. Department of Transportation open-data endpoint.

Do I need a Socrata app token?

No app token is required for normal runs. The actor uses gentle pagination and retries for the public endpoint.

Troubleshooting

Why did I get fewer rows than maxItems?

Your filters may be narrow, or Socrata may not contain matching rows for the combination of state, city, add date, active status, fleet size, and driver count.

Why are some fields null?

FMCSA source records are not complete for every carrier. DBA name, mailing address, docket fields, and mileage can be missing.

Why does the source URL show a page that blocks bots?

The actor does not depend on that page. It is included as a human-readable SAFER reference. The extraction source is the public Socrata dataset.

Explore other Automation Lab actors:

Changelog

0.1

Initial private build with DOT lookup, company-name search, state/city discovery, new-carrier add-date feed, fleet filters, typed output, and pay-per-result charging.

Support

If you need a field that exists in the FMCSA public dataset but is not included yet, open an issue on the actor page and include your target workflow.