FMCSA Trucking Scraper - Motor Carriers, Authority & Leads
Pricing
$5.00 / 1,000 carrier records
FMCSA Trucking Scraper - Motor Carriers, Authority & Leads
Scrape US trucking companies from FMCSA open data: USDOT/MC carriers & brokers with officer names, phone, mobile, email, fleet, cargo, authority status, insurance & out-of-service flags. Filter by state and registration date for fresh new-carrier leads. Independent tool, not affiliated with FMCSA.
Pricing
$5.00 / 1,000 carrier records
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
129
Total users
14
Monthly active users
a day ago
Last modified
Categories
Share
FMCSA Trucking Scraper: US Motor Carriers, Operating Authority & Leads
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Federal Motor Carrier Safety Administration (FMCSA) or any government body. All trademarks mentioned are the property of their respective owners. "FMCSA" is referenced only to describe the public data source this Actor collects from.
Extract US trucking companies and motor carriers straight from the FMCSA open-data registry: every USDOT carrier and broker with company officer names, phone, mobile phone, e-mail, physical and mailing address, fleet size, cargo types, operating authority (MC number, status, latest status change), insurance on file, out-of-service orders and revocations. 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 number, MC number or 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 and fast (government infrastructure, no anti-bot). Every carrier row is a ready-to-use B2B lead.
Why this FMCSA / trucking scraper?
FMCSA moved carrier registration and operating authority to its new Motus system in 2025-26. This Actor reads both: the full Company Census (4.5M carriers), the Motus and legacy operating-authority files with their status history, insurance filings from both systems, out-of-service orders, and revocations and suspensions, merged into one dense record.
| Data | This Actor |
|---|---|
| Legal name, DBA, USDOT # | ✅ |
| Company officer names (owner / contact) | ✅ |
| Phone, mobile phone, fax, e-mail | ✅ |
| Physical and mailing address, undeliverable-address flags | ✅ |
| Fleet: power units, trucks, tractors, trailers (owned and leased), drivers, CDL / interstate drivers | ✅ |
| Cargo types (general freight, refrigerated, hazmat chemicals, livestock...) | ✅ |
| MC / docket number, including new Motus dockets | ✅ |
| Authority status with its latest change, reason and grant date | ✅ |
| Insurance requirements + policies on file (BIPD, cargo, surety bond, trust fund) | ✅ |
| Out-of-service orders + revocations / suspensions | ✅ |
| Safety rating, crash rate, entity type (carrier, broker, shipper...) | ✅ |
| Registration date for fresh new-authority leads | ✅ |
| Shared-contact flags (permit agents' phones and e-mails) | ✅ |
| Lead score (0-100) | ✅ |
| Monitoring: only carriers not delivered before | ✅ |
Use cases
- Freight and logistics lead generation: build targeted carrier and broker lists by state, fleet size, cargo and operation type, with the owner's name, phone and 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. Use
registeredWithinDays(or run Monitoring mode daily) to reach them first;authorityStatusshows whose MC authority is still pending. - Carrier vetting and compliance: look up a carrier's authority history, insurance on file, out-of-service orders and revocations or suspensions before you book a load or onboard.
- Insurance and factoring prospecting: find active for-hire carriers by fleet size and state; see who must carry BIPD, cargo or bond coverage and what is on file.
- Market research: analyze fleet sizes, cargo mix, operation radius, hazmat share and registration trends across any state.
How to use
- Sign up for Apify: the free plan is enough to try this Actor.
- Open the FMCSA Trucking Scraper, keep Mode = Carriers, choose one or more states (or leave empty for nationwide), and optionally set Registered within the last N days for fresh leads.
- Click Start and watch carriers stream into the dataset table.
- Export as JSON, CSV, Excel, XML or RSS, or pull results through the Apify API.
Input
{"mode": "carriers","states": ["TX", "CA"],"carrierOperation": "Interstate","registeredWithinDays": 30,"minPowerUnits": 1,"maxPowerUnits": 25,"includeEmail": true,"enrichAuthority": true,"maxResults": 1000}
- mode (default
carriers):carriersdiscovers and filters carriers from the census (lead generation);lookupreturns a full profile for the USDOT numbers, MC numbers or company name you pass. - states: physical-address state filter (2-letter codes or full names). Empty = nationwide, newest registrations first. A run whose states are all unrecognized stops before searching, with nothing billed.
- registeredWithinDays: only carriers registered in the last N days, counted from the day of the run. Ideal for schedules, because the window moves with the calendar.
- registeredAfter / registeredBefore: a fixed registration-date window. Accepts
2026-05-01,05/01/2026or a relative value such as30 days. A date the Actor cannot read stops the run before searching, with nothing billed. - carrierOperation:
Any,Interstate,Intrastate HazmatorIntrastate Non-Hazmat. - activeOnly / hazmatOnly: keep only Active-status carriers (on by default) / only hazmat carriers.
- minPowerUnits / maxPowerUnits / minDrivers: fleet-size targeting (e.g. max 5 for owner-operators, min 50 for large fleets).
- companyName: filter (carriers) or resolve (lookup) by legal name or DBA name.
- dotNumbers / mcNumbers: for Lookup mode (USDOT numbers also restrict a Carriers search). MC numbers resolve through the Motus and legacy authority files, so new Motus dockets work too.
- includeEmail (default true): include the e-mail address the carrier filed with FMCSA.
- enrichAuthority (default true): add operating authority (MC number, authority types and status, latest status change and reason, grant date, insurance requirements), insurance policies on file, out-of-service orders, and revocations or suspensions. Always on in Lookup mode.
- maxResults: cap on carriers in the run; you are billed only for carriers delivered. A run started with no input at all (for example an API or AI-agent call with
{}) returns a 25-carrier sample and says so on the run card; set any search field ormaxResultsfor a full run. - maxResultsPerState: per-state cap. With states selected,
0sharesmaxResultsevenly and states with fewer matches pass their share to the others; with no states selected, a value above 0 searches every state up to that cap each. - monitorMode + monitorStoreName: return only carriers this monitor has not delivered before. proxyConfiguration / socrataAppToken / maxConcurrency: run tuning.
Lookup mode
{"mode": "lookup","dotNumbers": ["244818", "2247402"],"mcNumbers": ["012892"],"companyName": "SWIFT TRANSPORTATION"}
Returns one full profile per carrier: census + contacts + operating authority + insurance + out-of-service orders + revocations and suspensions. Numbers or names that match no FMCSA carrier are named on the run card and are not billed.
Output
A carrier record (type: "carrier", shortened):
{"type": "carrier","dotNumber": "8214454","legalName": "Optimal Greatness Solutions LLC","operationType": "Interstate","status": "Active","classifications": ["Authorized for hire"],"isForHire": true,"entityTypes": ["Carrier"],"primaryContactName": "Jordan Example","officerNames": ["Jordan Example", "Casey Example"],"phone": "(404) 555-0127","phoneIsShared": false,"mobilePhone": "(404) 555-0188","email": "dispatch@example.com","emailIsShared": false,"physicalAddress": { "street": "123 Main St", "city": "Houston", "state": "TX", "zip": "77001", "county": "201", "country": "US" },"physicalAddressText": "123 Main St, Houston, TX 77001","physicalAddressUndeliverable": false,"powerUnits": 2,"totalDrivers": 2,"interstateDrivers": 2,"equipment": { "owned": { "tractors": 2, "trailers": 2 } },"cargoTypes": ["General Freight", "Building Materials"],"cargoTypesText": "General Freight, Building Materials","registrationDate": "2026-09-22","ageInDays": 25,"isNewEntrant": true,"mcNumber": "MC1234567","authorityStatus": "Active","authoritySummary": "Motor Carrier of Property MC1234567: Active","authorityGrantedDate": "2026-10-09","authorityStatusDate": "2026-10-09","authorityStatusReason": "Granted","operatingAuthority": {"mcNumber": "MC1234567","authority": {"common": { "status": "Active", "statusCode": "A", "applicationPending": false, "revocationPending": false },"contract": { "status": "None", "statusCode": "N", "applicationPending": false, "revocationPending": false },"broker": { "status": "None", "statusCode": "N", "applicationPending": false, "revocationPending": false },"freightForwarder": { "status": "None", "statusCode": "N", "applicationPending": false, "revocationPending": false }},"authorizedFor": { "property": true, "passenger": false, "householdGoods": false, "private": false, "enterprise": false },"insuranceRequirements": { "bipdRequiredThousands": 750, "cargoRequired": false, "bondRequired": false, "bipdOnFile": "01000", "cargoOnFile": false, "bondOnFile": false },"undeliverableMail": false,"source": "motus"},"insurance": [ { "insurer": "Example Mutual Insurance Company", "type": "BIPD/Primary", "classCode": "P", "policyNumber": "ABC123", "coverageThousands": 1000, "formCode": "91X", "effectiveDate": "10/01/2026", "docketNumber": "MC1234567" } ],"insuranceSummary": "BIPD/Primary $1,000,000 (Example Mutual Insurance Company)","currentlyOutOfService": false,"outOfService": null,"revocations": null,"safetyRating": null,"saferSnapshotUrl": "https://safer.fmcsa.dot.gov/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&query_string=8214454","leadScore": 92,"scrapedAt": "2026-10-17T12:00:00.000Z"}
Every census column FMCSA publishes beyond the core fields (USDOT, names, phone, addresses, fleet, dates) is also passed through exactly as filed under additionalData, so you always get the richest record. The Output tab offers three views: Carriers, Leads and Authority & insurance.
Dates inside insurance and revocations keep FMCSA's own MM/DD/YYYY form, and insurance type is one of BIPD/Primary, BIPD/Excess, Cargo, Bond or Trust Fund; every other date is YYYY-MM-DD. outOfService and revocations list the orders FMCSA has on file and are null when there are none; currentlyOutOfService answers the yes/no question directly.
What to expect (field coverage)
FMCSA fields are filed by the carriers themselves, so some are present only when a carrier filed them, and brand-new registrations have filed less than established carriers. A blank field means FMCSA has no value for that carrier, not that scraping failed.
| Field | Coverage |
|---|---|
| USDOT #, legal name, operation type, status, address, phone, fleet size, entity type, interstate drivers | ✅ about 100% |
Company officer name (primaryContactName, officerNames) | ✅ about 99%; a second officer for 1 in 10 to 1 in 4 |
| ✅ nearly all new registrations, about 3 in 4 established carriers | |
| Cargo types | ✅ about 9 in 10 |
| Mobile phone | about 3 in 10 new registrations (rare on older filings) |
| Fax | 1 in 7 to 1 in 4 established carriers (not filed by new registrations) |
| MC number + authority status | carriers with interstate for-hire authority: about half of new for-hire registrations (most still Pending) and of established for-hire carriers; private and intrastate-only carriers hold none |
| Authority grant date | once FMCSA grants the authority (pending applications have a status date instead) |
| Insurance on file | carriers whose authority requires a filing; brand-new registrants usually file it weeks later |
| Out-of-service orders, revocations | checked for every carrier when enrichAuthority is on; currentlyOutOfService: false with outOfService / revocations null means FMCSA lists none |
| Safety rating, last review | only carriers that went through an FMCSA compliance review (about 1 in 20) |
| Crash rate, MCS-150 mileage and date | established carriers; new registrations have not reported them yet |
| D&B number, business organization type, leased drivers, MCS-151 mileage | rarely filed |
phoneIsShared / emailIsShared mark a phone number or e-mail that 10 or more carriers in FMCSA's census list as their own (typically a permit or compliance agent who filed for them, or a placeholder); such contacts do not count toward the lead score.
When the e-mail a carrier filed is not one mailable address (two addresses in one field, a typo such as name@gmail .com or jim rich@aol.com, a name or "c/o" in front of it), email holds the usable address and the field exactly as filed is kept in additionalData.email_as_filed; an address no mail server could accept (name@aol..com) stays only there, and placeholder numbers such as 0000000000 are left out.
How much does it cost to scrape FMCSA?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Carrier record - One US motor-carrier record: USDOT/MC numbers, contact (phone, email, address), fleet size, operating authority, insurance, out-of-service status and lead score.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
- Apify API: start runs, fetch datasets, manage schedules over REST.
- apify-client for JavaScript and apify-client for Python: official SDKs.
- Schedules: run daily with Monitoring mode +
registeredWithinDaysto capture brand-new carriers as soon as FMCSA lists them. - Webhooks: trigger a CRM import, a Slack alert or an outreach sequence the moment a run finishes.
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'],registeredWithinDays: 7,monitorMode: true,maxResults: 500,});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 the owner's name, phone and e-mail" and let it run the scraper.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready: AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402: an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server, with no account and no API key.
- Skyfire: agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete B2B lead-gen & business-intelligence stack with sibling Actors:
- US Business Formation Scraper: newly registered US LLCs and companies (fresh business leads).
- SAM.gov Scraper: federal contract opportunities and contacts.
- USASpending Scraper: federal awards, contractors and recipients.
- Insurance Agent Scraper: multi-carrier insurance agent leads.
- SEC EDGAR Scraper: filings, financials and company contacts.
- Companies House Scraper: UK companies, directors and PSCs.
- FEC Campaign Finance Scraper: donors, committees and lobbying.
- Court Records Scraper: dockets, opinions and litigation intelligence.
Tips
- Fresh leads: set
registeredWithinDaysto 30 (or turn on Monitoring mode with a daily Schedule) to capture new-authority carriers before competitors do. - Owner-operators vs fleets: use
maxPowerUnits: 5for small operators, orminPowerUnits: 50for large fleets. - Interstate for-hire: set
carrierOperation: "Interstate"and keepenrichAuthorityon to get MC numbers, authority status and insurance: 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 and revocation profile.
- Agent contacts: filter out rows where
phoneIsSharedoremailIsSharedis true when you want the carrier's own phone or inbox. - 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: the Company Census File, the Motus and legacy operating-authority files and their status histories, insurance filings from both systems, out-of-service orders, and revocations and suspensions. It is the same data behind SAFER and FMCSA's licensing pages, 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, and their MC authority usually shows as Pending at first.
How do I get only NEW carriers each run? Turn on Monitoring mode, set registeredWithinDays, and create a Schedule. Each run emits only USDOT numbers this monitor has not delivered before.
Why is the e-mail or MC number sometimes empty? Not every carrier files an e-mail, and private or intrastate-only carriers do not hold an MC number or operating authority. Fields are blank only when FMCSA has no value, never because scraping failed.
What happens if I start it with no input? A call with no input at all returns a 25-carrier sample of the newest registrations, so a quick test never runs a large job. Set any search field or maxResults for a full run.
Can I export to Google Sheets, CSV or Excel? Yes: one click in the dataset view, or automatically every run with 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.
Data & lawful use
The source is an official public register, published so that anyone can consult it. Records can name individuals (owner-operators and company officers), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Federal Motor Carrier Safety Administration (FMCSA) or any government body. All trademarks mentioned are the property of their respective owners.
"FMCSA" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the U.S. Federal Motor Carrier Safety Administration (FMCSA) and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.
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.