FMCSA Trucking Scraper - Motor Carriers, Authority & Leads avatar

FMCSA Trucking Scraper - Motor Carriers, Authority & Leads

Pricing

$5.00 / 1,000 carrier records

Go to Apify Store
FMCSA Trucking Scraper - Motor Carriers, Authority & Leads

FMCSA Trucking Scraper - Motor Carriers, Authority & Leads

Scrape US trucking companies from FMCSA open data: USDOT/MC carriers & brokers with phone, email, fleet size, operating authority, insurance & out-of-service status. Filter by state, operation & registration date for fresh new-carrier leads, plus monitoring. Keyless, no browser.

Pricing

$5.00 / 1,000 carrier records

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

FMCSA Trucking Scraper — US Motor Carriers, Operating Authority & Leads

Extract US trucking companies and motor carriers straight from the FMCSA open-data registry — every USDOT carrier and MC-number broker with phone, e-mail, physical & mailing address, fleet size, operating authority, insurance, and out-of-service status. Filter by state, operation type, fleet size, and registration date to pull fresh new-authority leads, or look up a full safety-and-authority profile by USDOT / MC number / company name.

No login, no cookies, no browser, no API key — this actor reads the official U.S. DOT Socrata open-data API, which is keyless, fast, and 100% reliable (government infrastructure, zero anti-bot). Every carrier row is a ready-to-use B2B lead.

Why this FMCSA / trucking scraper?

Most trucking scrapers return a single SAFER snapshot or a thin census row. This actor merges the full Company Census (4.45M carriers), the SMS e-mail census, the operating-authority dataset (MC numbers, broker/common/contract status), insurance on file, out-of-service orders, and authority revocations into one dense record — the richest motor-carrier dataset in the category.

DataThin scrapersThis actor
Legal name, DBA, USDOT #
MC / docket numberpartial✅ (operating-authority join)
Phone
E-mail address✅ (FMCSA e-mail census)
Physical and mailing addresspartial✅ both
Fleet: power units, trucks, buses, drivers, CDLspartial✅ full
Operation type, hazmat, classificationpartial
Operating authority (common/contract/broker, authorized-for-hire)
Insurance requirements + policies on file
Out-of-service orders + revocations✅ (lookup mode)
Registration date → fresh new-authority leads
Lead score (0–100)
Monitoring — only new carriers

Use cases

  • Freight & logistics lead generation — build targeted carrier and broker lists by state, fleet size, and operation type, with phone + e-mail ready for your CRM or dialer.
  • New-authority / new-entrant marketing — the highest-value slice: carriers registered in the last N days need insurance, factoring, ELDs, fuel cards, dispatch, and compliance services right now. Filter by registeredAfter (or run Monitoring mode daily) to reach them first.
  • Carrier vetting & compliance — look up a carrier's operating authority, insurance on file, and out-of-service / revocation history before you book a load or onboard.
  • Insurance & factoring prospecting — find active for-hire carriers by fleet size and state; see who is required to carry BIPD/cargo coverage and what's on file.
  • Market & competitive research — analyze fleet sizes, operation radius, hazmat share, and registration trends across any state.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the FMCSA Trucking Scraper, keep Mode = Carriers, choose one or more states (or leave empty for nationwide), and optionally set Registered after for fresh leads.
  3. Click Start and watch carriers stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results via the Apify API.

Input

{
"mode": "carriers",
"states": ["TX", "CA"],
"carrierOperation": "Interstate",
"registeredAfter": "2026-05-01",
"minPowerUnits": 1,
"maxPowerUnits": 25,
"includeEmail": true,
"enrichAuthority": true,
"maxResults": 1000
}
  • mode (default carriers)carriers discovers/filters carriers from the census (lead generation); lookup returns a full profile for the USDOT / MC / company name you pass.
  • states — physical-address state filter (2-letter codes or full names). Empty = nationwide, newest registrations first.
  • carrierOperationAny, Interstate, Intrastate Hazmat, or Intrastate Non-Hazmat.
  • registeredAfter / registeredBefore (YYYY-MM-DD) — registration-date window. registeredAfter is the key to fresh new-authority leads.
  • hazmatOnly / activeOnly — keep only hazmat carriers / only Active-status carriers (Active-only is on by default).
  • minPowerUnits / maxPowerUnits / minDrivers — fleet-size targeting (e.g. set max 5 for owner-operators, min 50 for large fleets).
  • companyName — filter (carriers) or resolve (lookup) by legal name.
  • dotNumbers / mcNumbers — for Lookup mode (or to restrict Carriers mode to specific USDOT numbers).
  • includeEmail (default true) — add the FMCSA e-mail address.
  • enrichAuthority (default true) — add operating authority (MC#, common/contract/broker status, authorized-for-hire flags, insurance requirements) and insurance policies on file. Always on in Lookup mode.
  • maxResults / maxResultsPerState — caps. monitorMode + monitorStoreName — only-new-carriers tracking. proxyConfiguration / socrataAppToken / maxConcurrency — run tuning.

Lookup mode

{
"mode": "lookup",
"dotNumbers": ["76830", "244818"],
"mcNumbers": ["012892"],
"companyName": "SWIFT TRANSPORTATION"
}

Returns one full profile per carrier: census + contact + operating authority + insurance + out-of-service orders + revocations.

Output

A carrier record (type: "carrier"):

{
"type": "carrier",
"dotNumber": "8214454",
"legalName": "Optimal Greatness Solutions LLC",
"dbaName": null,
"operationType": "Interstate",
"operationCode": "A",
"status": "Active",
"isActive": true,
"hazmat": false,
"carrierClassification": "AUTHORIZED FOR HIRE",
"phone": "(404) 520-0327",
"email": "dispatch@example.com",
"physicalAddress": { "street": "123 Main St", "city": "Houston", "state": "TX", "zip": "77001", "county": "201", "country": "US" },
"mailingAddress": { "street": "PO Box 123", "city": "Houston", "state": "TX", "zip": "77001", "country": "US" },
"powerUnits": 2,
"truckUnits": 2,
"totalDrivers": 4,
"cdlDrivers": 2,
"operationRadius": { "interstateBeyond100Miles": 2, "interstateWithin100Miles": 0, "intrastateBeyond100Miles": 0, "intrastateWithin100Miles": 0 },
"registrationDate": "2026-06-13",
"ageInDays": 2,
"isNewEntrant": true,
"mcs150Date": "2026-06-13",
"mcNumber": "MC1234567",
"operatingAuthority": {
"authority": { "common": { "status": "Active", "applicationPending": false, "revocationPending": false }, "contract": null, "broker": null },
"authorizedFor": { "property": true, "passenger": false, "householdGoods": false, "private": false, "enterprise": false },
"insuranceRequirements": { "bipdRequiredThousands": 750, "cargoRequired": false, "bondRequired": false, "bipdOnFile": "750", "cargoOnFile": false, "bondOnFile": false }
},
"insurance": [ { "insurer": "Progressive", "type": "BIPD/Primary", "coverageThousands": 1000, "policyNumber": "ABC123", "effectiveDate": "06/01/2026" } ],
"saferSnapshotUrl": "https://safer.fmcsa.dot.gov/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&query_string=8214454",
"leadScore": 84,
"scrapedAt": "2026-06-15T12:00:00.000Z"
}

In Lookup mode the record also carries outOfService (orders + current OOS flag) and revocations. Every other census column FMCSA publishes is passed through under additionalData, so you always get the richest possible record.

What to expect (field coverage)

FMCSA fields are operator-reported, so some are populated only when the carrier filed them. Verified against the live registry:

FieldCoverage
USDOT #, legal name, operation type, status, address✅ ~100%
Phone✅ very high (FMCSA requires a contact phone)
Fleet size (power units, drivers)✅ high
E-mailpresent for carriers that filed one (FMCSA e-mail census subset)
MC number / operating authoritypresent for carriers/brokers with interstate for-hire authority (intrastate-only carriers have none)
Insurance on filepresent for carriers required to carry it
Out-of-service / revocationspresent only when such an event exists (most carriers: none)

A blank field means FMCSA doesn't publish that value for that carrier — not that scraping failed. Nothing is dropped.

Automate & schedule

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/fmcsa-trucking-scraper').call({
mode: 'carriers',
states: ['TX'],
registeredAfter: '2026-05-01',
monitorMode: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} carrier leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new carrier leads straight into your CRM or dialer.
  • Slack — get pinged when new carriers register in your states.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find Texas interstate carriers with 1–10 trucks registered this month, with phone and email" and let it run the scraper.

More scrapers from scrapesage

Build a complete B2B lead-gen & business-intelligence stack with sibling actors:

Tips

  • Fresh leads: set registeredAfter to ~30 days ago (or turn on Monitoring mode + a daily Schedule) to capture new-authority carriers before competitors do.
  • Owner-operators vs fleets: use maxPowerUnits: 5 for small operators, or minPowerUnits: 50 for large fleets.
  • Interstate for-hire: set carrierOperation: "Interstate" and keep enrichAuthority on to get MC numbers and authority status — the carriers most likely to need brokers, insurance, and factoring.
  • Vetting a specific carrier: switch to Lookup mode and pass the USDOT or MC number for a full authority + insurance + out-of-service profile.
  • No proxy needed: FMCSA open data is a clean government API; the default Apify proxy is plenty.

FAQ

Where does the data come from? The official FMCSA / U.S. DOT open-data datasets on data.transportation.gov (Company Census, SMS e-mail census, operating authority, insurance, out-of-service orders, revocations) — the same data behind SAFER and L&I, served as a clean Socrata API.

Do I need an API key or login? No. The API is keyless. You can optionally add a free Socrata app token to raise the rate limit on very large runs.

How fresh is the data? FMCSA refreshes these datasets continuously — the census updates daily. New carriers typically appear within a day or two of getting their USDOT number.

How do I get only NEW carriers each run? Turn on Monitoring mode and create a Schedule. Each run emits only USDOT numbers not seen before. Pair it with registeredAfter for a pure new-authority feed.

Why is email/MC number sometimes empty? Not every carrier files an e-mail, and intrastate-only carriers don't hold an MC number / operating authority. Fields are blank only when FMCSA has no value — never because scraping failed.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically every run via the Google Drive integration.

Is this legal? This actor collects publicly available US government data. You are responsible for using it in compliance with applicable laws (e.g. TCPA/CAN-SPAM for outreach) and FMCSA's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.