# FMCSA Motor Carrier & USDOT Number Scraper (USA) (`scrapers_lat/fmcsa-carriers-scraper`) Actor

Extract US motor carrier records from the public FMCSA census across all 50 states. Get USDOT number, legal and DBA name, address, phone, email, power units, drivers, MCS-150 date, mileage and hazmat flag. Export to JSON, CSV or Excel.

- **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:** 21 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.15 / 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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

[![FMCSA Motor Carrier & USDOT Number Scraper (USA)](https://scrapers.lat/banners/fmcsa-carriers-scraper.png)](https://console.apify.com/actors/St8D4g5lSXbxPE0pT/input)

## FMCSA Motor Carrier & USDOT Number Scraper (USA)

> Extract US motor carrier records from the public FMCSA census, covering more than 4 million registered carriers across all 50 states, with company officer names, phone, fax, email, DUNS number, fleet size, operating authority and insurance on file.

**📥 [Input](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples)**

![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>30 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>
</tr></table>

<br>

### 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, the freight/passenger/household-goods categories it is authorized to haul, and the BIPD, cargo and bond insurance amounts on file and required. Every record also carries the company officer (owner) names, phone, fax, email and DUNS number for direct outreach.

**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 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 Arizona Active Motor Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-arizona-active-carriers): Extract active Arizona trucking carriers from the FMCSA database with USDOT and MC numbers, power units, carrier operation, authority and insurance data.
- [FMCSA Georgia Active Motor Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-georgia-active-carriers): Export active Georgia trucking carriers from the FMCSA registry with USDOT and MC numbers, fleet size, operating authority and insurance on file.
- [FMCSA Illinois Active Trucking Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-illinois-active-carriers): Scrape active Illinois motor carriers from the FMCSA database including USDOT and MC numbers, power units, operating authority status and insurance data.
- [FMCSA New Jersey Active Freight Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-new-jersey-freight-carriers): Scrape active New Jersey freight carriers from the FMCSA registry including USDOT and MC numbers, fleet size, operating authority status and insurance.
- [FMCSA North Carolina Large Fleet Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-north-carolina-large-fleets): Find active North Carolina carriers running 50 or more power units in the FMCSA registry with USDOT and MC numbers, operating authority and insurance.
- [FMCSA Ohio Active Motor Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-ohio-active-carriers): Extract active Ohio trucking carriers from the FMCSA registry with USDOT and MC numbers, fleet size, carrier operation, authority status and insurance.
- [FMCSA Pennsylvania Active Trucking Carriers Scraper](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-pennsylvania-active-carriers): Export active Pennsylvania motor carriers from the FMCSA database with USDOT and MC numbers, power units, operating authority and insurance coverage.
- [FMCSA California Active Carriers](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-california-active-carriers): FMCSA California Active Carriers
- [FMCSA Florida Active Carriers](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-florida-active-carriers): FMCSA Florida Active Carriers
- [FMCSA Texas Large Fleets](https://apify.com/scrapers_lat/fmcsa-carriers-scraper/examples/fmcsa-texas-large-fleets): FMCSA Texas Large Fleets

### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).

### 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...

### 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

## `maxCarriers` (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
{
  "maxCarriers": 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 = {
    "maxCarriers": 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 = { "maxCarriers": 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 '{
  "maxCarriers": 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

Download the OpenAPI definition: https://api.apify.com/v2/acts/St8D4g5lSXbxPE0pT/builds/LmGuExXUUy7MEBB11/openapi.json
