FMCSA Carrier Scraper avatar

FMCSA Carrier Scraper

Pricing

from $12.00 / 1,000 results

Go to Apify Store
FMCSA Carrier Scraper

FMCSA Carrier Scraper

Search 2M+ US trucking carriers from FMCSA / DOT open data by state, cargo or fleet size: contact, officers, fleet, CSA safety scores, authority + insurance history (revocations, lapses, coverage), crashes and inspections. Lead lists, a change monitor, or full safety profiles. No API key.

Pricing

from $12.00 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Categories

Share

Norm Data

๐Ÿšš FMCSA Carrier Scraper

Search US trucking carriers and brokers from the official FMCSA / DOT open data with no API key. Filter 2M+ carriers by state, cargo, fleet size, operation class, safety rating and registration date, then enrich every row with CSA / SMS BASIC safety scores, the full authority and insurance history, crashes, roadside inspections and out-of-service orders.

Run a lifecycle-change monitor for daily alerts, or pull a complete safety profile for a list of carriers.

๐ŸŽฏ Who uses it?

๐Ÿš› Freight brokers

Find new interstate carriers in your lanes, with phone, email and officer names, the day their authority is granted.

๐Ÿ›ก๏ธ Insurance underwriters

Pull a carrier's CSA BASIC alerts, out-of-service rate, crash history and every past insurance cancellation before you quote.

๐Ÿ’ฐ Factoring and risk teams

Monitor for insurance lapses and authority revocations, a lapse is a carrier to call, a revocation is one to stop funding.

๐Ÿ“‡ Equipment, ELD and fuel-card sales

Filter by fleet size and cargo type, keep the officers and contact details.

๐Ÿ“Š Compliance analysts

Rank a set of carriers on out-of-service rate and BASIC scores.

โœจ What it does

  • Search: filter the census for a lead list, by state, cargo, fleet size, operation class, safety rating and registration date.
  • Look up: resolve exact USDOT numbers, MC/MX docket numbers, or company names. An identifier that doesn't resolve comes back as its own error row, so the output always matches your input list.
  • Monitor: carriers with a new registration, authority revocation, reinstatement, insurance lapse, or out-of-service order since a date, each tagged with the change type.
  • Safety: the full safety profile (CSA BASIC scores, authority and insurance history, 24-month inspection and crash detail) for the carriers you name.
  • Optional enrichment: CSA / SMS BASIC safety scores, full authority and insurance history, and per-inspection/crash detail, each added only when that data is actually found.

Missing source values are returned as null, never invented.

๐Ÿ† Why this scraper

  • CSA / SMS BASIC safety scores. The seven Behavior Analysis categories with their raw measures and above-threshold alert flags, plus driver and vehicle out-of-service rates.
  • Authority lifecycle, not just current status. Every grant, involuntary revocation and reinstatement with dates, so you can see a carrier that has been revoked three times, or one reinstated last week.
  • Insurance history with coverage and lapses. Current insurer and liability limit, plus every past filing with its cancellation date, the signal an underwriter or a factoring company actually acts on.
  • A real change monitor. Not just new carriers, an actual lifecycle feed: revocations, lapses and out-of-service orders are the events worth a phone call.
  • Fast. Every enrichment is one batched query per dataset, not one request per carrier.

โš–๏ธ How it compares

CapabilityThis actorOther FMCSA scrapers on Apify
Census: identity, contact, officers, fleet, cargoyesyes
Filter by state / cargo / fleet size / registration dateyessome
CSA / SMS BASIC safety scores + alert flagsyesno
Authority history (grants / revocations / reinstatements)yescurrent status only
Insurance history (insurer, coverage, lapses)yescurrent only, if any
24-month crash + inspection out-of-service detailyescounts only
Lifecycle-change monitor (revocations, lapses, OOS)yesnew-carrier delta only
One row per look-up input, error rows for bad idsyesrare

๐Ÿ“ฆ What data you get

EntityUseful fields
Carrier identityDOT number, MC numbers, legal and DBA name, entity type, operation class, hazmat flag, registration date.
ContactPhone, cell phone, email, officer names, physical and mailing addresses.
Fleet & cargoPower units, truck units, driver counts, and every commodity type carried.
SafetySafety rating, CSA BASIC measures and alerts, out-of-service rates, current out-of-service order.
Authority & insuranceGrant/revocation/reinstatement history, current insurer, liability coverage, and every past cancellation.
Crash & inspection24-month crash counts by severity and inspection out-of-service rate.
MonitorChange type (new registration, revocation, reinstatement, insurance lapse, out-of-service order).

Every record includes scraped_at (UTC) and a link to the carrier's public SAFER snapshot page. Download your dataset from Apify as CSV, JSON, or Excel.

๐Ÿ’ก Use cases

๐Ÿš› New reefer carriers in Texas

{ "mode": "search", "state": ["TX"], "operationClass": "interstate", "cargo": ["coldfood"], "minPowerUnits": 5, "maxPowerUnits": 50, "registeredAfter": "2026-06-01", "includeSafety": true, "maxItems": 500 }

๐Ÿ”Ž Look up a batch of carriers

{ "mode": "lookup", "identifiers": ["76830", "MC386188", "SWIFT TRANSPORTATION"], "includeHistory": true }

๐Ÿ“ก Watch for revocations and insurance lapses

{ "mode": "monitor", "since": "7 days", "events": ["revocation", "insurance_lapse", "oos_order"], "maxItems": 1000 }

๐Ÿ›ก๏ธ Full safety profile

{ "mode": "safety", "identifiers": ["370617", "593107"] }

โš™๏ธ How the input is organised

SectionWhat it's for
ModeSearch, Look up, Monitor, or Safety.
FiltersState, operation class, cargo, hazmat, safety rating, fleet size, registration date range, name, active-only.
Look up / SafetyDOT/MC numbers or company names to resolve.
MonitorThe date to watch changes since, and which change types to include.
Enrichment (Search, Look up)CSA/SMS safety scores, authority and insurance history, and inspection/crash detail. Each only added when that data is found.
AdvancedAn optional free DOT app token for very large runs.

Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.

๐Ÿ’ฐ Pricing

Pay-per-event: a one-time 0.003 when the run starts, plus a price for each kind of record the run produces. You only pay for the kinds you turn on:

Charged forFreeBronzeSilverGold+
result0.02150.01830.01540.012
Safety record0.0030.00260.00220.0017
History record0.0030.00260.00220.0017
Inspections record0.0030.00260.00220.0017

New Apify accounts start with $5 in free credit.

๐Ÿš€ Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the FMCSA Carrier Scraper.
  3. Fill in the input (or keep the prefilled example), set the maximum number of results, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

๐Ÿค– Use with AI agents (MCP)

Give an AI agent live access to the FMCSA Carrier Scraper through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/fmcsa-carrier-scraper"

Then prompt it in plain language to run the scraper and read back the results.

๐Ÿ”ง Troubleshooting

Safety rating is empty for most carriers. Normal: most carriers have never had a compliance review, so FMCSA has no rating for them.

A DOT or MC number returned an error: "not found" row. Check the number, or try the company name. The output always has one row per identifier you passed.

Monitor mode returned nothing. No carrier matched a change of the selected types since that date. Widen Changed since or add more change types.

Runs are slow or rate-limited. FMCSA open data limits anonymous traffic. Add a free Socrata app token in the input to raise that limit.

โ“ FAQ

QuestionAnswer
Where does the data come from?FMCSA / DOT public open data, updated daily.
What do the extra charges cover?Safety, history and inspection records are separate rows added only when you turn those options on and data actually exists.
Can I build a lead list of new carriers?Yes, Search mode with Registered on/after, plus state, cargo and fleet size.
Does it include contact details?Yes, phone, email when published, address, and officers.
Do I need an API key?No. A Socrata app token is optional and only raises the rate limit.

๐Ÿ›ก๏ธ Limits & responsible use

This Actor reads only the FMCSA / DOT's own public open data. It never signs in and never accesses anything gated behind an account.

Most carriers have never had a compliance review, so a blank safety rating is normal, not missing data. An unresolved look-up identifier still writes one error: "not found" row rather than failing the run. The underlying data updates daily and runs roughly 24 hours behind live, it is not real-time.

๐Ÿ“ง Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

๐Ÿงช Local development

bun install
bun test # offline: normalisation + input logic
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json
bun scripts/verify-live.mjs # hits data.transportation.gov directly, checks every mode