The USDOT count is the live table estimate; the insured count is computed daily. Insurer and inspection totals are rounded and updated with each publish.
Why the public data is not a database yet.
Everything here is public. FMCSA’s open-data program publishes the census, the insurance and authority files, the safety measures, the crash and inspection files, and anyone can download them. What they do not publish is a database. The files are keyed differently (USDOT, MC docket, an internal carrier id), they publish on different days, the insurance archive froze in 2026 and continued under a new system with a new vocabulary, and the insurer names on the filings are free text with hundreds of spellings for the same company.
Making that usable is the work: mirroring each file as it publishes, resolving every row to one carrier, normalising the insurer names into one index, computing the derived fields the trade actually asks for (renewal X-date, days of cancellation notice, loss-risk tier, ISS estimate, observed operating footprint), and watching the whole thing for change so a lead is dated.
The result is a motor carrier database you can search by USDOT, MC number or name, filter on the fields that matter to an insurance desk, roll up into a market view, export, and query from Claude or ChatGPT through the MCP connector. The same record powers the free public carrier directory, so you can inspect the data quality on any carrier before you pay for the filters.
Mirror. Resolve. Derive. Watch.
Four steps run on every publish. The first two make the data a database; the second two make it a product.
What is in it, and how often it moves.
Every field in the product traces to one of these. Nothing is bought from a data broker, and nothing is scraped from SAFER one carrier at a time.
Any USDOT. The public record, joined.
The free carrier report is the same record the database serves, one carrier at a time and without an account. Put in a carrier you know and check the data before you pay for the filters.
Download it, scrape it, or use the index.
The raw files are free. The question is how much of the joining, normalising and watching you want to do yourself.
Questions, answered.
What producers ask before they switch on the feed. Anything else, email hello@nativebase.ai.
Which FMCSA datasets are in the database?
The census (MCS-150), the Licensing & Insurance filings (the legacy archive plus its live MOTUS successors), the operating-authority register and BOC-3 process agents, the MOTUS registration contacts, the SMS safety measures, the MCMIS crash file, roadside inspections and violations, and NHTSA vehicle data for decoded VINs.
How many carriers are in it?
Every registered USDOT, about 4.5M. Roughly half are active, and around 337,991 of those carry an active BI/PD filing today. The default view in the product is that insured working set; clear the filter and the rest of the register is there, which is what makes lapsed coverage and new authorities visible.
How often is it refreshed?
On each source’s own publish cadence: the insurance, authority and crash files daily, the census and inspections weekly, the safety measures monthly. Individual carrier files pull the latest records when you open them.
Is there an API?
The database is exposed through the MCP connector, so Claude, ChatGPT and any MCP-capable client can search carriers and read profiles, filings, risk and ISS directly. Bulk access is by CSV and Excel export from any filtered list, up to 250,000 rows. If you need a direct feed into your own system, that is a services conversation.
Do you sell the data?
No. Seats include unlimited search, export and carrier files for the people on your team. We do not resell the record as a dataset, and nothing in it comes from a data broker.
Is this the same as SAFER?
SAFER shows one carrier’s snapshot at a time. This is every carrier, every source, joined, with history and change detection. The free public carrier directory shows the joined record for any USDOT so you can compare it with SAFER yourself.
Stop stitching the files.
Query the record.
Start the trial, search a carrier you know, and check the joined record against what you have. Then filter the whole index.