# FMCSA Carrier Leads – Trucking Companies & Freight Brokers List (`dedicated_crest/fmcsa-trucking-carrier-leads`) Actor

FMCSA carrier leads from official DOT open data: trucking companies & freight brokers by state, city, fleet size, cargo, authority status. DOT/MC number, name, address, phone, email, power units, drivers, safety rating, authority dates.

- **URL**: https://apify.com/dedicated_crest/fmcsa-trucking-carrier-leads.md
- **Developed by:** [Ben Barazandeh](https://apify.com/dedicated_crest) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 carrier or broker leads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## FMCSA Carrier Leads – Trucking Companies & Freight Brokers List

Build a **trucking companies list** or **freight broker leads** list straight from official FMCSA data. Filter US motor carriers and brokers by state, city, ZIP, fleet size (power units), drivers, cargo type, operation type, safety rating, USDOT add date and MC authority status. Every row has the **USDOT number, MC number, legal & DBA name, address, phone, email (when public in the census), power units, drivers, cargo, safety rating, authority status, insurance on file and authority grant dates**. Also works as a bulk **DOT number lookup** / MC number lookup to enrich an existing list.

**Data sources (official, free, no login):** FMCSA Company Census File (`az4n-8mr2`), FMCSA Licensing & Insurance "Carrier – All With History" (`6eyk-hxee`) and "AuthHist – All With History" (`9mw4-x3tu`), published by US DOT on data.transportation.gov (Socrata open data API, updated daily). No scraping of SAFER or any site that needs a login or key.

### Who uses it

- Freight insurance agents, factoring companies, ELD / fuel-card / dispatch sales: new and small fleets by state with phone and email
- Freight brokers and shippers sourcing capacity: carriers by cargo type (reefer, flatbed materials, hazmat) and fleet size
- Compliance and vetting: DOT/MC lookup with authority status, safety rating and revocations

### Try it now

Example input (the real test run below):

```json
{"states":["TX"],"cities":["Dallas, TX"],"entityType":"carrier","minPowerUnits":5,"maxPowerUnits":50,"authorityStatus":"active","requireEmail":true,"maxItems":10}
```

### Real output (live run on Apify, Oct 22 2026, 10 results)

| USDOT | MC | Legal name | Phone | Email | Power units | Drivers | Safety rating | First authority granted |
|---|---|---|---|---|---|---|---|---|
| 58702 | MC1250042 | ECOBAT LOGISTICS US INC | (214) 583-0296 | glenn.kreuzer@ecobat.com | 46 | 20 | Satisfactory | 2021-06-10 |
| 109485 | MC172683 | TEXAS INSTRUMENTS INCORPORATED | (214) 567-4884 | b-howard@ti.com | 11 | 4 | — | 1984-06-12 |
| 164404 | MC142549 | WALNUT HILL WRECKER SERVICEINC | (972) 620-2160 | adaugherty@vmsolutions.com | 17 | 14 | Satisfactory | 1978-01-25 |
| 188929 | MC153456 | RITE WAY TRUCK RENTAL INC | (800) 777-5086 | davidkosar@yahoo.com | 16 | 16 | Satisfactory | 1982-04-29 |
| 217046 | MC129981 | BRIDGFORD MARKETING COMPANY | (214) 426-2466 | rcoss@bridgford.com | 7 | 1 | — | 1978-01-06 |
| 275346 | MC193564 | JACK KEY AUTO TRANSPORT INC | (972) 557-8210 | tonya@jkat.com | 15 | 10 | Satisfactory | 1990-12-21 |

Full record (authority history trimmed to 2 entries):

```json
{
  "dotNumber": 58702,
  "mcNumber": "MC1250042",
  "dockets": [
    "MC1250042",
    "MC153769"
  ],
  "legalName": "ECOBAT LOGISTICS US INC",
  "dbaName": null,
  "entityType": "Carrier, Shipper",
  "usdotStatus": "Active",
  "operationType": "Interstate",
  "operationClassification": "PRIVATE PROPERTY;AUTHORIZED FOR HIRE",
  "businessType": "CORPORATION",
  "companyOfficer1": "TREVOR PLOTE",
  "companyOfficer2": null,
  "phone": "(214) 583-0296",
  "cellPhone": "(214) 686-0482",
  "fax": null,
  "email": "glenn.kreuzer@ecobat.com",
  "street": "2911 TURTLE CREEK STE#850",
  "city": "DALLAS",
  "state": "TX",
  "zip": "75219",
  "country": "US",
  "mailingAddress": "2911 TURTLE CREEK STE#850, DALLAS, TX, 75219",
  "powerUnits": 46,
  "trucks": 23,
  "buses": 0,
  "totalDrivers": 20,
  "cdlDrivers": 20,
  "interstateDrivers": 20,
  "intrastateDrivers": 0,
  "mcs150Mileage": 655062,
  "mcs150MileageYear": 2025,
  "hazmat": false,
  "cargoTypes": [
    "General Freight",
    "Metal: sheets, coils, rolls",
    "Intermodal Containers",
    "Chemicals",
    "Commodities Dry Bulk",
    "Other",
    "Other: SPENT LEAD ACID BATTERIES"
  ],
  "safetyRating": "Satisfactory",
  "safetyRatingDate": "2009-05-04",
  "lastReviewDate": "2009-05-01",
  "lastReviewType": "C",
  "commonAuthority": "Active",
  "contractAuthority": "None",
  "brokerAuthority": "None",
  "authorityPending": false,
  "revocationPending": false,
  "insuranceBipdOnFileUsd": 2000000,
  "insuranceBipdRequiredUsd": 1000000,
  "firstAuthorityGrantedDate": "2021-06-10",
  "latestAuthorityGrantedDate": "2021-06-10",
  "latestRevocationDate": "2022-12-19",
  "authorityHistory": [
    {
      "docket": "MC1250042",
      "authorityType": "MOTOR PROPERTY COMMON CARRIER",
      "action": "GRANTED",
      "servedDate": "2021-06-10",
      "disposition": "REVOKED",
      "dispositionServedDate": "2022-12-19"
    },
    {
      "docket": "MC1250042",
      "authorityType": "MOTOR PROPERTY COMMON CARRIER",
      "action": "REINSTATED",
      "servedDate": "2022-12-23",
      "disposition": null,
      "dispositionServedDate": null
    }
  ],
  "usdotAddedDate": "1974-06-01",
  "mcs150Date": "2026-09-29",
  "saferUrl": "https://safer.fmcsa.dot.gov/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&query_string=58702",
  "source": "FMCSA Company Census File + Licensing & Insurance (data.transportation.gov)",
  "scrapedAt": "2026-10-22T11:33:17.882Z"
}
```

### Filters

States, cities ("Dallas, TX"), ZIP prefixes, USDOT numbers, MC numbers, name contains, entity type (carrier / broker / both / freight forwarder / shipper), operation type (interstate, intrastate hazmat/non-hazmat), classification (for-hire, private…), USDOT status, authority status (any active, active broker, pending application = new entrants, none), min/max power units, min/max drivers, 30 cargo types, hazmat only, safety rating, USDOT added date range, only with phone/email.

### Output views

- **Leads**: contact fields, fleet size, safety rating, authority
- **Fleet & cargo**: power units, trucks, drivers, CDL drivers, mileage, hazmat, cargo
- **Authority & safety**: common/contract/broker authority, pending/revocation flags, BIPD insurance on file, rating dates, authority grant/revocation dates

A `SUMMARY` record in the key-value store lists records scanned, API queries and the exact SoQL filter used.

### Pricing

Pay per result: you pay once per company saved. The run stops cleanly when your **max charge per run** is reached, keeping everything already saved. Start with `maxItems` 25 to try it.

### FAQ

**Is email always included?** Only when the carrier listed one on its MCS-150 filing (in the public census). Use "Only with email" to keep those.
**How fresh is it?** FMCSA refreshes these datasets daily on data.transportation.gov.
**Authority status filter seems slow?** It is applied after the census query; add a state/city or fleet filter for big searches.
**Is this legal?** Yes. It uses US government open data published for public reuse. Follow TCPA/CAN-SPAM rules when you contact anyone.

# Actor input Schema

## `states` (type: `array`):

2-letter state codes of the company's physical address, e.g. TX, CA.

## `cities` (type: `array`):

City names, optionally with state: "Dallas, TX".

## `zipCodes` (type: `array`):

5-digit ZIPs or prefixes (e.g. 752 matches 75201–75299).

## `dotNumbers` (type: `array`):

Look up specific USDOT numbers (DOT number lookup / list enrichment).

## `mcNumbers` (type: `array`):

Look up companies by MC number, e.g. MC150578 or 150578.

## `nameContains` (type: `string`):

Text in the legal or DBA name, e.g. LOGISTICS.

## `entityType` (type: `string`):

Registered entity type from the census.

## `operationTypes` (type: `array`):

Carrier operation. Empty = all.

## `classification` (type: `string`):

MCS-150 operation classification.

## `usdotStatus` (type: `string`):

USDOT registration status.

## `authorityStatus` (type: `string`):

Filter by FMCSA Licensing & Insurance authority status. Applied after the census query, so narrow searches run faster.

## `minPowerUnits` (type: `integer`):

Minimum trucks/tractors (power units).

## `maxPowerUnits` (type: `integer`):

Maximum power units, e.g. 10 for small fleets / owner-operators.

## `minDrivers` (type: `integer`):

Minimum total drivers.

## `maxDrivers` (type: `integer`):

Maximum total drivers.

## `cargoTypes` (type: `array`):

Cargo carried (MCS-150). Matches companies hauling any selected cargo.

## `hazmatOnly` (type: `boolean`):

Only carriers flagged as hazardous-materials carriers.

## `safetyRatings` (type: `array`):

FMCSA safety rating. Empty = all.

## `addedAfter` (type: `string`):

Only companies whose USDOT number was added on/after this date (new carriers). YYYY-MM-DD.

## `addedBefore` (type: `string`):

Only companies added on/before this date.

## `requirePhone` (type: `boolean`):

Skip records without a phone number.

## `requireEmail` (type: `boolean`):

Skip records without a public email in the census.

## `includeAuthorityData` (type: `boolean`):

Join FMCSA L\&I authority status, insurance on file and authority grant/revocation dates.

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

Maximum companies to return (0 = no limit). The run also stops cleanly at your max charge per run.

## Actor input object example

```json
{
  "states": [
    "TX"
  ],
  "cities": [
    "Dallas, TX"
  ],
  "entityType": "any",
  "classification": "any",
  "usdotStatus": "active",
  "authorityStatus": "any",
  "hazmatOnly": false,
  "requirePhone": false,
  "requireEmail": false,
  "includeAuthorityData": true,
  "maxItems": 25
}
```

# Actor output Schema

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

Carriers/brokers with DOT/MC, names, address, phone, email, fleet, drivers, cargo, safety rating and authority dates.

## `summary` (type: `string`):

Saved count, records scanned, queries and filter used.

# 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 = {
    "states": [
        "TX"
    ],
    "cities": [
        "Dallas, TX"
    ],
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("dedicated_crest/fmcsa-trucking-carrier-leads").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 = {
    "states": ["TX"],
    "cities": ["Dallas, TX"],
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("dedicated_crest/fmcsa-trucking-carrier-leads").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "states": [
    "TX"
  ],
  "cities": [
    "Dallas, TX"
  ],
  "maxItems": 25
}' |
apify call dedicated_crest/fmcsa-trucking-carrier-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dedicated_crest/fmcsa-trucking-carrier-leads"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/OYGIEL4x0GmbUh4rc/builds/pGPD15YRgH2dOOab9/openapi.json
