# FMCSA Motor Carrier Scraper (`scrapers_lat/fmcsa-carriers-scraper`) Actor

Extract US motor carrier records from the public FMCSA census. Scrape USDOT number, legal and DBA name, address, phone, email, power units, drivers, MCS-150 date and mileage, and hazmat flag by state, name or fleet size.

- **URL**: https://apify.com/scrapers\_lat/fmcsa-carriers-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
[![FMCSA Motor Carrier Scraper](https://scrapers.lat/banners/fmcsa-carriers-scraper.png)](https://console.apify.com/actors/St8D4g5lSXbxPE0pT/input)
<!-- /actor-banner -->

## FMCSA Motor Carrier Scraper

> Extract US motor carrier records from the public FMCSA census, covering more than 4 million registered carriers across all 50 states

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-United%20States-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>25 fields</strong><br>per record</td>
<td align="center"><strong>United States</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-23</td>
</tr></table>

<br>

### What you get

Each record is one motor carrier from the Federal Motor Carrier Safety Administration census, with its registration identity, contact details and reported fleet size. Use it to build lead lists, enrich a CRM with USDOT data, verify carriers by name or DOT number, or analyze fleet sizes by state.

- **dotNumber**: the carrier's unique USDOT number
- **legalName**: the carrier's registered legal name
- **dbaName**: the doing-business-as name, when the carrier reports one
- **status**: registration status (Active, Inactive or Pending)
- **carrierOperation**: operation type (Interstate, Intrastate Hazmat or Intrastate Non-Hazmat)
- **entityType**: the carrier's business organization type, such as Corporation or Sole Proprietorship
- **operationClassification**: the authorized operation classes the carrier filed, such as authorized for hire or private property
- **county**: the county code of the carrier's physical location
- **address**: physical address as street, city, state, zip and country
- **mailingAddress**: separate mailing address as street, city, state, zip, county and country
- **phone**: the carrier's reported business phone number
- **email**: the carrier's reported email address, when present
- **powerUnits**: number of power units (trucks, tractors and buses) operated
- **drivers**: total number of drivers reported
- **fleet**: fleet composition counts for owned trucks, owned tractors, term-leased tractors, trip-leased tractors and buses
- **totalCdlDrivers**: number of drivers holding a commercial driver license
- **interstateDrivers**: number of drivers operating across state lines
- **intrastateDrivers**: number of drivers operating within a single state
- **driversByRadius**: driver counts split by interstate and intrastate operation within and beyond a 100 mile radius
- **mcs150Date**: date of the carrier's most recent MCS-150 update
- **mcs150Mileage**: annual mileage reported on the MCS-150 form
- **hazmatFlag**: whether the carrier is flagged to carry hazardous materials
- **docketNumber***: the carrier's primary MC or docket number from the operating authority feed
- **authorities***: list of operating authority records, each with docket number, common, contract and broker authority status, and BIPD, cargo and bond insurance amounts on file and required
- **observedAt**: when this record was last seen by the scraper
- **error**: error message for a failed request, null on success

Fields marked with an asterisk are added when operating authority enrichment is enabled.

### How to use it

Search the FMCSA census in three ways and combine them as needed:

- **Exact lookup**: paste one or more USDOT numbers to pull those carriers directly. This ignores every other filter.
- **By name**: enter text that the legal name or DBA name should contain, with a case-insensitive partial match.
- **By location and fleet**: pick a state, set a minimum number of power units, and choose whether to return active carriers only.

A free text search field is also available to match across the whole carrier record. Set Max Items to control how many carriers you collect.

### Frequently asked questions

**How do I look up a carrier by its USDOT number?**
Add the number to the USDOT Numbers field. You can pass several at once and the scraper returns one clean record per carrier that exists.

**Can I get every trucking company in a single state?**
Yes. Select the state, leave the name filters empty, and raise Max Items. You can also set a minimum number of power units to focus on larger fleets.

**Does this include power units, drivers and mileage?**
Yes. Each record reports power units, total drivers, the MCS-150 update date and the annual mileage the carrier filed, when the carrier reported them.

**How do I find only hazmat carriers in my area?**
Filter by state and read the hazmat flag on each record to keep only carriers flagged to carry hazardous materials.

**Can I see a carrier's MC number and insurance on file?**
Yes. Keep operating authority enrichment enabled and each carrier is joined to its MC or docket number, its common, contract and broker authority status, and the BIPD, cargo and bond insurance amounts on file and required.

**Is the data current?**
The scraper reads the live FMCSA census every run, so each record reflects the latest values published in the federal dataset.

---

This is an independent tool that collects publicly available data from the U.S. Department of Transportation FMCSA motor carrier census. It is not affiliated with or endorsed by the FMCSA or the U.S. Department of Transportation. Use the data in accordance with applicable laws and the source's terms.



<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [FMCSA California Active Carriers](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-california-active-carriers): Scrape active California trucking carriers from FMCSA with DOT number, fleet size, address and contact.
- [FMCSA Florida Active Carriers](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-florida-active-carriers): Pull active Florida trucking carriers from FMCSA with DOT number, fleet size, address, phone and safety data.
- [FMCSA Texas Large Fleets](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-texas-large-fleets): Find Texas trucking carriers with 50+ power units from FMCSA with DOT number, fleet size and contact details.

<!-- /example-tasks -->

<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [USAspending Federal Award Scraper](https://apify.com/scrapers_lat/usaspending-awards-scraper): Scrape US federal prime awards from USAspending.gov. Get recipient, UEI, award amount, awarding...
- [Grants.gov Opportunity Scraper](https://apify.com/scrapers_lat/grants-gov-scraper): Extract U.S. federal grant opportunities from the official Grants.gov API. Scrape title, agency...
- [NPPES NPI Provider Scraper](https://apify.com/scrapers_lat/nppes-npi-scraper): Scrape US healthcare provider records from the official NPPES NPI Registry. Search by name...
- [BizQuest Businesses-for-Sale Listings Scraper](https://apify.com/scrapers_lat/bizquest-scraper): Extract US businesses-for-sale listings from BizQuest with the broker or seller contact (name...
- [California CSLB Contractor License Scraper](https://apify.com/scrapers_lat/california-cslb-scraper): Extract licensed California contractor records from the CSLB public data portal by classification...
- [Florida Professional License Scraper](https://apify.com/scrapers_lat/florida-dbpr-scraper): Scrape Florida DBPR professional license records by name, business, or license number. Get licensee...

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of carrier records to collect. Optional.
## `withDetails` (type: `boolean`):

When enabled, each carrier is enriched with its MC/docket number, operating-authority status and insurance coverage on file from the public FMCSA licensing and insurance feed.
## `dotNumbers` (type: `array`):

Look up exact carriers by USDOT number. When set, all other filters are ignored.
## `legalName` (type: `string`):

Match carriers whose legal name contains this text (case-insensitive).
## `dbaName` (type: `string`):

Match carriers whose doing-business-as name contains this text (case-insensitive).
## `freeText` (type: `string`):

Full-text search across all fields of the carrier record.
## `state` (type: `string`):

Two-letter physical state of the carrier.
## `minPowerUnits` (type: `integer`):

Only return carriers operating at least this many power units (trucks, tractors, buses).
## `activeOnly` (type: `boolean`):

When enabled, only carriers with an active status are returned.

## Actor input object example

```json
{
  "maxItems": 10,
  "withDetails": true,
  "activeOnly": true
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/fmcsa-carriers-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/fmcsa-carriers-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call scrapers_lat/fmcsa-carriers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/fmcsa-carriers-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FMCSA Motor Carrier Scraper",
        "description": "Extract US motor carrier records from the public FMCSA census. Scrape USDOT number, legal and DBA name, address, phone, email, power units, drivers, MCS-150 date and mileage, and hazmat flag by state, name or fleet size.",
        "version": "0.1",
        "x-build-id": "mBHOcW2RuVGrxveLa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~fmcsa-carriers-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-fmcsa-carriers-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~fmcsa-carriers-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-fmcsa-carriers-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~fmcsa-carriers-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-fmcsa-carriers-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of carrier records to collect. Optional."
                    },
                    "withDetails": {
                        "title": "Include operating authority and insurance",
                        "type": "boolean",
                        "description": "When enabled, each carrier is enriched with its MC/docket number, operating-authority status and insurance coverage on file from the public FMCSA licensing and insurance feed.",
                        "default": true
                    },
                    "dotNumbers": {
                        "title": "USDOT Numbers",
                        "type": "array",
                        "description": "Look up exact carriers by USDOT number. When set, all other filters are ignored.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "legalName": {
                        "title": "Legal Name contains",
                        "type": "string",
                        "description": "Match carriers whose legal name contains this text (case-insensitive)."
                    },
                    "dbaName": {
                        "title": "DBA Name contains",
                        "type": "string",
                        "description": "Match carriers whose doing-business-as name contains this text (case-insensitive)."
                    },
                    "freeText": {
                        "title": "Free Text Search",
                        "type": "string",
                        "description": "Full-text search across all fields of the carrier record."
                    },
                    "state": {
                        "title": "State",
                        "enum": [
                            "AL",
                            "AK",
                            "AZ",
                            "AR",
                            "CA",
                            "CO",
                            "CT",
                            "DE",
                            "DC",
                            "FL",
                            "GA",
                            "HI",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MD",
                            "MA",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NE",
                            "NV",
                            "NH",
                            "NJ",
                            "NM",
                            "NY",
                            "NC",
                            "ND",
                            "OH",
                            "OK",
                            "OR",
                            "PA",
                            "RI",
                            "SC",
                            "SD",
                            "TN",
                            "TX",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI",
                            "WY",
                            "PR"
                        ],
                        "type": "string",
                        "description": "Two-letter physical state of the carrier."
                    },
                    "minPowerUnits": {
                        "title": "Minimum Power Units",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Only return carriers operating at least this many power units (trucks, tractors, buses)."
                    },
                    "activeOnly": {
                        "title": "Active carriers only",
                        "type": "boolean",
                        "description": "When enabled, only carriers with an active status are returned.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
