FMCSA carrier changes: suspensions, revocations, insurance
Pricing
from $5.00 / 1,000 carrier changes
FMCSA carrier changes: suspensions, revocations, insurance
Changes to US trucking carriers' operating authority and insurance from FMCSA's open data: new authorities, suspensions and suspension notices, revocations, reinstatements, insurance filings and cancellations. Companies only.
Pricing
from $5.00 / 1,000 carrier changes
Rating
0.0
(0)
Developer
Datablume
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What is US Trucking Changes?
US Trucking Changes gives you the changes to US trucking carriers' operating authority and insurance, read from the open-data files of FMCSA, the US regulator of trucking companies: new applications for authority, grants, suspensions, revocations and reinstatements, suspension notices that FMCSA has served (many take effect weeks later), and insurance policies filed, cancelled or replaced.
Each row gives the carrier's USDOT and docket numbers, its legal name, the city and state (or province) of its business address, the dates, FMCSA's own words for the change and, for insurance, the form, the amount and the insurer (FMCSA's daily files often leave the insurer empty: on 21 Oct 2026 its daily insurance file named none). Every row links to FMCSA's own record of the change and of the carrier, and gives the date of the file it came from and when the change and the carrier were each fetched.
Use it two ways: search the changes (by kind, carrier, state, name and dates), or keep a watch list of the carriers you work with and get only what changed since your last run. A watch list is carrier risk monitoring: run it every day or every week, and each run gives you the suspensions, revocations, insurance cancellations and other changes for your carriers that were added to the data since the run before, each change once as a rule (the exceptions are under How to use it).
Companies only: carriers that FMCSA's census marks as individuals or partnerships, and carriers whose legal name may be a person's name, are left out. No row holds a phone number, email address, street address or company officer, and our requests for data never ask for them.
Not affiliated with or endorsed by FMCSA or the US Department of Transportation.
Who it is for
- Insurance agents looking for carriers that have just applied for authority or whose cover has just been cancelled
- Freight brokers and shippers watching the carriers they book for suspensions, revocations and insurance changes
- Factoring, fuel-card, ELD and compliance firms looking for newly authorised carriers
- Developers and AI assistants that need FMCSA's daily authority and insurance changes in one call
What data does it return?
One row per change:
| Field | What it is |
|---|---|
event_id | Our stable name for the change: the first 16 characters of a SHA-256 fingerprint of FMCSA's file and the record's columns read. On the daily feed the insurer is left out of an insurance record's fingerprint, because FMCSA's daily files often leave it empty, so a policy read from a daily file and from the All With History file is one change. Two records identical in all those columns get the same event_id and make one row (2 of the 241 records fetched on 9 Oct 2026) |
event_type | The kind of change, from FMCSA's own words by the table in the docs: authority_application, authority_granted, authority_reinstated, authority_suspended, authority_revoked, suspension_notice, insurance_filed, insurance_cancelled or insurance_replaced |
event_date | The day the change takes effect: the status change date (authority changes), the effective date (suspension notices; empty where FMCSA gives none), the policy's effective date (insurance filings) or its cancellation date (cancellations and replacements) |
notice_date | The day FMCSA served the suspension notice, or received the insurance policy; empty for the other kinds |
future_dated | true when event_date is after file_date: a suspension or a policy that has not taken effect yet |
usdot_number | FMCSA's USDOT number for the carrier |
docket_number | The carrier's MC, MX or FF docket number, written as FMCSA's Motus Carrier file writes it (for example MC1659934, where FMCSA's suspension file writes MC-1659934) |
legal_name | The carrier's legal name as FMCSA publishes it (Motus Carrier, or the census where Motus Carrier has no row), read separately from the change, at carrier_fetched_at |
city | City of the carrier's business address as FMCSA publishes it (the physical address, where the name comes from the census) |
state | State or province of the carrier's business address as FMCSA publishes it (FMCSA registers Canadian and Mexican carriers too, for example ON for Ontario) |
business_type | FMCSA's census business type where the census has one (CORPORATION in this product); FMCSA records it only after a review, so it is usually empty |
company_basis | Why the row counts as a company: the census business type, or a legal form (for example LLC) or a public body in the legal name where the census is silent |
authority_type | The operating authority the change is about, as FMCSA publishes it, for example Motor Carrier of Property (Except Household Goods) |
detail | FMCSA's own words for the change: the reason (authority changes), the notice type (suspension notices) or the status reason CANCEL or TERM/REPL (insurance cancellations and replacements) |
insurance_type | BI&PD, Cargo, Bond or Trust Fund, from FMCSA's insurance type code |
insurance_form | FMCSA's form code, for example BMC-91X |
insurer | The insurance company as FMCSA publishes it |
coverage_amount | FMCSA's maximum coverage amount as published (MAX_COV_AMOUNT). FMCSA's data dictionary says it is in thousands, but the published values read as dollars (750000 for most BI&PD policies, 75000 for a broker's bond), so it is given unchanged; check the unit against FMCSA's record before relying on it |
source_dataset | The FMCSA file that holds the change, with its id: the All With History file, where FMCSA keeps every record (the daily feed reads each change from that file's daily difference file, the address in source_url, or, for a period the daily update missed, from the All With History file itself; source_url shows which) |
source_record_url | FMCSA's own record of the change in its open-data file, asked for the same columns as the row (where the file holds identical copies of the record, the link matches each copy) |
carrier_record_url | FMCSA's own record the legal name, city and state come from (Motus Carrier, or the census), read at carrier_fetched_at |
file_date | Date FMCSA last updated the file the change came from |
source_url | The address the change was read from |
fetched_at | When the change was fetched (the answer at source_url) |
carrier_fetched_at | When the legal name, city and state were fetched: they come from a separate answer (Motus Carrier or the census), read after the change itself |
read_method | code, text_recognition, claude or manual |
Kinds of change
event_type is set by FMCSA's own words, by this table. Rows are made only from FMCSA's fixed phrases; free text, such as a withdrawal reason that carries an email address, never reaches a row.
| Kind | FMCSA file | What it means |
|---|---|---|
authority_application | Motus AuthHist | A new application for operating authority: FMCSA's status Pending, reason Initial Status |
authority_granted | Motus AuthHist | Operating authority granted: FMCSA's status Active, reason Granted |
authority_reinstated | Motus AuthHist | Operating authority made active again: FMCSA's status Active with a reason starting Reinstated (one of them is FMCSA correcting its own move to Motus, Issue #220) |
authority_suspended | Motus AuthHist | Operating authority suspended or made inactive: FMCSA's status Inactive with one of its suspension reasons |
authority_revoked | Motus AuthHist | Operating authority revoked: FMCSA's status Inactive, reason Revoked |
suspension_notice | Motus RevokeSuspend | A suspension notice FMCSA has served; it takes effect on event_date, which can be after the file date |
insurance_filed | Motus Insur | An insurance policy, bond or trust fund FMCSA received for the carrier (active or pending) |
insurance_cancelled | Motus InsHist | A policy cancelled: FMCSA's status reason CANCEL, ending on event_date, which can be after the file date |
insurance_replaced | Motus InsHist | A policy ended because a new policy replaced it: FMCSA's status reason TERM/REPL |
How to use it
Search
- To follow new authorities, set
event_typetoauthority_granted(orauthority_application), andstateif you want one state or province. - To watch a carrier, put its USDOT number in
usdotor its docket number indocket, and leave the rest empty. Part of the legal name innameworks too. - To see suspensions that have not taken effect yet, set
event_typetosuspension_noticeandfromto today's date. - Choose
max_rows, the most rows you want (default 20), and run it.tosets the latest event date. - Run it. The rows are the run's results. You can download them as JSON, CSV, XML, Excel, an HTML table, RSS or JSONL, or read them with Apify's API.
Watch list (carrier risk monitoring)
- Put the USDOT numbers of your carriers in
watch_usdots(up to 50,000) and leave the search fields empty. - Give the list a name in
watch_listif you keep more than one (for examplemy-fleet); otherwise it is calleddefault. - Choose
history_days: on the first run, and for carriers you add later, you also get the changes added to the data in the last 0 to 31 days (default 7). 0 means the changes added from the start of today (UTC). Now and then FMCSA's daily file repeats an older record of a carrier "for completeness"; if we had not seen it before, it is added to the data then and your watch list gets it once, with its own (older) event date. - Set
max_rowshigh enough for a day's changes (for example 1000) and run it on a schedule, daily or weekly. Each run gives only the changes added since the previous run of that watch list, every kind of change, oldest added first. If a run stops atmax_rows, or at your maximum cost per run, the rest come with the next run. Each change is sent once, with two exceptions: if a run is aborted or times out while it is saving a page, that page comes again in the next run; and two runs of the same watch list can overlap if they start at the same moment or one runs for more than 2 hours (a run started while another is going normally stops at once), so run each list on one schedule only.
The watch list remembers its previous run in a key-value store called us-trucking-changes-watch-lists in your own Apify account, one record per watch list. Deleting that record starts the list again. Changes are kept for watch lists for 35 days: run each list at least once a month.
How much does it cost?
USD 0.005 for each row a run returns (one row is one change), in a search or a watch list, plus Apify's start charge of USD 0.00005 a run. Apify charges both to your Apify account. A watch list run with no new changes costs only the start charge.
Input example
A search:
{"event_type": "authority_granted","state": "IL","from": "2026-10-01","max_rows": 20}
A watch list:
{"watch_usdots": ["4844789", "2216853", "3466711"],"watch_list": "my-fleet","history_days": 7,"max_rows": 1000}
Output example
{"event_id": "0a100c63f91ab790","event_type": "authority_granted","event_date": "2026-10-02","notice_date": null,"future_dated": false,"usdot_number": "4844789","docket_number": "MC57500082","legal_name": "NB GROUP INC","city": "Mount Prospect","state": "IL","business_type": null,"company_basis": "legal form INC in the legal name","authority_type": "Motor Carrier of Property (Except Household Goods)","detail": "Granted","insurance_type": null,"insurance_form": null,"insurer": null,"coverage_amount": null,"source_dataset": "Motus AuthHist - All With History (yu5v-wbh6)","source_record_url": "https://data.transportation.gov/resource/yu5v-wbh6.json?$select=docket_number,usdot_number,op_auth_type,op_auth_status,reason,status_change_date&docket_number=MC57500082&usdot_number=4844789&op_auth_type=Motor%20Carrier%20of%20Property%20%28Except%20Household%20Goods%29&op_auth_status=Active&reason=Granted&status_change_date=20261002","carrier_record_url": "https://data.transportation.gov/resource/inys-ebih.json?$select=docket_number,usdot_number,legal_name,bus_city,bus_state_code&docket_number=MC57500082","file_date": "2026-10-08","source_url": "https://data.transportation.gov/resource/yu5v-wbh6.json?$select=docket_number,usdot_number,op_auth_type,op_auth_status,reason,status_change_date&$where=status_change_date%20between%20'20260928'%20and%20'20261004'%20AND%20op_auth_status%20in%20('Active')%20AND%20reason%20in%20('Granted')&$order=:id&$limit=5&$offset=230","fetched_at": "2026-10-09T00:18:49+00:00","carrier_fetched_at": "2026-10-09T00:25:05+00:00","read_method": "code"}
What is covered
New changes are picked up every day at 16:00 UTC, after FMCSA's own daily update. The data starts on 21 October 2026, when our update first read FMCSA's daily files, so changes FMCSA published before then are left out, apart from a few in the rebuilt period below. Our update did not read FMCSA's daily files of 22 October 2026, so that period was rebuilt from FMCSA's All With History files; it can hold FMCSA records that none of our daily files carried, a few of them dated up to two days before the data starts. For FMCSA's two insurance files (Motus Insur and Motus InsHist) the rebuild found about 9 in 10 of the changes, so changes may still be missing from them between 21 and 23 October 2026, and every run's status message names that period.
Changes that took effect more than about 13 months ago leave the data; the few changes FMCSA gives no date for stay.
Good to know
- The event date is the day a change takes effect. A suspension notice is served first and takes effect later, so
future_datedis true until then. Some voluntary suspension notices have no effective date or docket number in FMCSA's record, and those fields are empty. - FMCSA moved its registrations to a new system, Motus, on 14 May 2026. Carriers registered before then appear here only when something happens to them in Motus; this feed is not a list of every carrier's current status.
coverage_amountis FMCSA's number as published. FMCSA's data dictionary says amounts are in thousands, but the published values read as dollars (750000 for most BI&PD policies), so we give the number unchanged.- FMCSA records a carrier's business type only after a review, so
business_typeis usually empty;company_basissays why each row counts as a company. - If our daily update ever misses one of FMCSA's daily files, every run's status message names the period whose changes may be missing, unless we rebuilt the period from FMCSA's All With History files and the rebuild found at least 98 in 100 of the changes of the next daily file we read. Rows rebuilt that way have the All With History file's address as
source_urland the day FMCSA loaded that file asfile_date, and a rebuilt period can hold some FMCSA records that none of our daily files carried, a few of them dated up to two days before our data starts. - If our update has not finished for more than 48 hours, or FMCSA has not published new daily files for more than 72 hours, the status message says that too.
- Can AI assistants use it? Apify's MCP server lets AI agents find and run Store Actors: it "enables AI agents to discover and run Actors from Apify Store" (Apify's documentation).
FMCSA's disclaimer
FMCSA publishes this with its files, and it applies to every row:
"Each of the datasets identified in this document is provided as a public service by the Federal Motor Carrier Safety Administration (FMCSA) to enhance public access to information. This information is constantly changing. The datasets are only a snapshot of the data at the time the datasets were generated. All information provided by FMCSA is for informational purposes only and does not constitute a legal contract between FMCSA and any person or entity unless otherwise specified. The information provided by FMCSA is not intended as, nor offered as, legal advice. In no event shall FMCSA, nor any of its employees, be responsible or liable, directly or indirectly, for any damage or loss caused, or alleged to be caused, by or in connection with the use of or reliance on any such content, goods, or services available in the datasets identified in this document."
Support
Email hello@datablume.com. Sold by Datablume, a sole trader business based in Scotland.