The FMCSA publishes its Company Census File for free. It has about 4.5 million rows. Most of them are not what you would call a trucking company, so I filtered it before counting anything.
Filter: active status, authorized for hire, 3 or more power units, US address. I also dropped rows where the legal name is an email address, and fleets of 50+ trucks that report zero mileage. Without that last rule, Houston's "largest carrier" claimed 4,872 trucks and drove none of them.
That leaves 42,510 carriers in TX, OH and GA. A few things stood out.
Houston is big, Laredo is bigger per truck than you'd guess
| City | Carriers (3+ trucks) | Trucks |
|---|---|---|
| Houston, TX | 2,550 | 42,583 |
| Laredo, TX | 1,139 | 21,208 |
| Columbus, OH | 1,066 | 13,410 |
| Dallas, TX | 969 | 18,462 |
| San Antonio, TX | 858 | 12,058 |
Laredo has fewer carriers than Houston but averages about 19 trucks each, against about 17 in Houston. That fits a border crossing where a lot of the work is short cross-border runs for mid-size fleets.
Not every "largest carrier" is a trucking company
The biggest fleet in Houston is an armored-car operator. In San Antonio it is a grocery chain's own fleet. The census counts anyone who holds for-hire authority, so private fleets show up too. If you build a lead list from this file, check the name before you call.
The method, in short
- Pull the census from the FMCSA open data portal by state.
- Filter on status, classification and power units.
- Drop rows with an email as the name, and large fleets with zero reported mileage.
- Group by city. Keep cities with at least 5 carriers.
I put the per-city tables online, one page per city, sorted by fleet size with phone and DOT number: https://trucking-directory.agentbets.workers.dev/tx/laredo/?utm_source=devto
The data is public record and I only show business phone numbers that carriers filed themselves. If a row looks wrong, tell me the DOT number in the comments.
Top comments (1)
Dropping rows with a zero-mileage fleet is a sensible way to remove the ghost carriers, and it is good that the filter is written out. A few caveats might be worth noting next to the city rankings. As far as I know, power-unit counts and mileage in the census file are self-reported and refreshed on the carrier's own update cycle, so the figures can lag the real fleet, and the mileage year is not the same for every row. Checking the year field before comparing cities could keep older records from skewing a result.
A second thing to test is how entities are counted. Related companies that run under separate USDOT numbers, or a carrier whose registered address is an office or agent address rather than a terminal, can move a fleet into a different city than where the trucks actually operate. A quick check could be to group by the street address or by the parent name and see whether the Houston and Laredo totals change much.