FMCSA Trucking Carrier Lookup and Monitor
Pricing
from $4.00 / 1,000 carrier records
FMCSA Trucking Carrier Lookup and Monitor
Look up US trucking carriers by state, USDOT or MC number and monitor newly granted operating authority, from official FMCSA open data. No API key needed.
Pricing
from $4.00 / 1,000 carrier records
Rating
0.0
(0)
Developer
Chris O'Byrne
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Search US trucking carriers, look up a carrier by USDOT or MC number, and get a list of carriers that were newly granted operating authority since your last run. The data comes straight from the Federal Motor Carrier Safety Administration (FMCSA) open data files on the US DOT portal (data.transportation.gov). No API key, login or proxy is needed.
Each result is one carrier with business-level fields: USDOT number, MC number, legal name, DBA, city and state, power units, driver count, operation type, operating authority status, safety rating, and inspection and crash counts for the last 24 months.
Who is this for
- Freight brokers and shippers who want to check that a carrier has active authority before booking a load.
- Insurance agents, factoring companies, ELD and fuel-card sellers who build lists of carriers in a state or fleet size range.
- Compliance and risk teams who watch for newly authorized carriers or for carriers whose authority is no longer active.
- Analysts who need clean FMCSA data in JSON, CSV or Excel without downloading multi-million row files.
What it does
- Search the Company Census File by state, operation type, USDOT status, authority status and minimum power units. Sort by USDOT number, fleet size or newest registration.
- Look up specific carriers by USDOT number or MC, MX or FF docket number. Numbers that cannot be found are listed in the run summary and are not charged.
- New authority search: set a date and get carriers whose authority was granted on or after it, newest first.
- New authority monitor: run it on a schedule and receive only carriers you have not been given before. Seen carriers are remembered per monitor name in a key-value store in your own account.
- Safety counts: inspections, inspections with an out-of-service violation, crash records, fatalities and injuries recorded on those crash records, all for the last 24 months.
Input
| Field | What it does |
|---|---|
mode | search (default) or new-authority-monitor. |
states | Two-letter state codes of the carrier's principal place of business. Empty means all states. |
dotNumbers, mcNumbers | Look up specific carriers. When used, the other filters are ignored. |
authorityStatus | ACTIVE (default), PENDING, INACTIVE or ANY. |
authorityKinds | CARRIER (default), BROKER, FREIGHT_FORWARDER. Brokers are left out by default. |
usdotStatus | Census registration status: ACTIVE (default), INACTIVE, ANY. |
operationTypes | INTERSTATE, INTRASTATE_HAZMAT, INTRASTATE_NON_HAZMAT. |
minPowerUnits | Minimum number of power units. |
newAuthoritySince | YYYY-MM-DD. Only carriers granted authority on or after this date. |
maxResults | Stop after this many carriers (default 25). |
includeSafetyCounts | Add 24-month inspection and crash counts (default on). |
excludeLikelyIndividuals | Leave out carriers that look like sole proprietors. Without it they are returned with legalName and dbaName set to null. |
monitorName, lookbackDays, resetMonitorState | Monitor mode settings. |
socrataAppToken | Optional. A free portal token gives your runs their own rate-limit pool. |
Example input (this is also the default prefill):
{"mode": "search","states": ["MN"],"authorityStatus": "ACTIVE","maxResults": 25}
Output
One dataset item per carrier. Dates are ISO dates. Example (shortened):
{"dotNumber": "54488","mcNumber": "MC146636","legalName": "SMITH TRUCKING INC","dbaName": null,"city": "WORTHINGTON","state": "MN","powerUnits": 137,"driverCount": 128,"operationType": "INTERSTATE","authorityStatus": "ACTIVE","safetyRating": "SATISFACTORY","inspectionCount24m": 310,"oosInspectionCount24m": 21,"crashCount24m": 8,"crashFatalities24m": 0,"crashInjuries24m": 1,"mcNumbers": ["MC146636"],"authorities": [{ "docketNumber": "MC146636", "type": "Motor Carrier of Property (Except Household Goods)","kind": "CARRIER", "status": "ACTIVE", "source": "motus" }],"latestAuthorityGrantDate": "1991-10-10","usdotStatus": "ACTIVE","likelySoleProprietor": false,"recordType": "carrier-record"}
A run summary (counts, ids not found, data sources and the portal's last-modified time for each file) is saved to the key-value store under the key OUTPUT.
Data sources and licence
All data is published by FMCSA on the US DOT open data portal, data.transportation.gov:
- Company Census File (
az4n-8mr2): identity, fleet, operation type, safety rating. - Motus Carrier and Motus AuthHist, "All With History" (
inys-ebih,yu5v-wbh6): current operating authority and authority grants. - Carrier, "All With History" (
6eyk-hxee): the legacy authority file, frozen on 2026-05-14 and used for carriers not yet present in the Motus file. - Vehicle Inspection File (
fx4q-ay7w) and Crash File (aayw-vxb3): inspection and crash counts.
FMCSA states that it shares this data at no charge to the public. The datasets carry the portal's public access level and no separate licence text. The files are snapshots published for informational purposes and are not legal advice. Check the FMCSA SAFER system or the carrier before relying on a record for a legal or contractual decision. This Actor is not affiliated with or endorsed by FMCSA or the US Department of Transportation.
The Actor identifies itself with a descriptive User-Agent, sends requests one at a time, and backs off when the portal returns a rate-limit or server error. It does not use the FMCSA QCMobile API.
Privacy rule
Only business-level fields are returned. Phone, fax, email, street address, ZIP code and company officer names are never requested from the source files, for any carrier. Carriers that look like sole proprietors (the census says Individual, or the legal name looks like a personal name) are flagged with likelySoleProprietor. For those carriers legalName and dbaName are returned as null because a personal name can identify a private individual. The USDOT number, MC number, city, state and business counts are still returned, so the record can be matched by number. The flag is a heuristic, so a few personal names may be missed and a few business names may be blanked. Use excludeLikelyIndividuals to leave these carriers out entirely.
Pricing
Pay per event. You pay only for carriers saved to the dataset.
| Event | Price | When it is charged |
|---|---|---|
carrier-record | $0.004 | One carrier returned in search, lookup or new authority search. |
new-authority-record | $0.006 | One carrier returned in monitor mode that was not returned by an earlier run of the same monitor. |
Not-found ids, empty runs and failed runs are not charged. Apify also charges $0.00005 to start each run (the platform's apify-actor-start event). A default run of 25 carriers costs about $0.10, and 1,000 carriers cost about $4.00. There is no extra charge for compute or storage. Use maxResults and the run's maximum cost setting to cap spending.
FAQ
How long does a run take? In test runs on Apify, 25 carriers with safety counts took about 7 seconds and 500 carriers took about 90 seconds.
How current is the data? The portal refreshes the files daily. The run summary shows the last-modified time the portal reported for each file.
Why can an old carrier show latestAuthorityGrantDate as null? That date comes from the Motus authority history file, which does not hold every historic grant. Null means no grant is recorded there.
Where does authorityStatus come from? For each docket the Actor uses the Motus file first, then the frozen legacy file, then the docket flag in the census file. The source field of each entry in authorities says which one was used. Status is summarised over the authority kinds you select.
What does a crash count mean? The Crash File has one record per carrier vehicle in a reported crash, so two vehicles of one carrier in one crash count twice. Fatalities and injuries are the numbers recorded on those records.
How does the monitor remember carriers? It stores seen USDOT numbers in a named key-value store called fmcsa-monitor-<monitorName> in your account. Use one monitor name per filter set. Turn on resetMonitorState to start over.
Limitations
- Fleet sizes and driver counts are self-reported by carriers on the MCS-150 form and some entries are wrong.
- Name search is not supported. Use state, number or date filters.
- New authority detection relies on the grant records in the Motus authority history file. Grants recorded before that file started may be missing from it.
- A search with a very selective filter can scan many census rows. A run stops with a note in the summary after 400,000 rows or shortly before its timeout.
- The portal throttles heavy use from shared IP addresses. The Actor retries politely. Add a free
socrataAppTokenfor heavier use.
Support
Open an issue in the Issues tab of this Actor. Include the run link and the input you used.