# 🚛 FMCSA Commercial Trucking Carrier & Fleet Lead Generator (`automation_studio/fmcsa-carrier-fleet-lead-generator`) Actor

Extract verified commercial trucking carriers, fleet owners, and owner-operators directly from official US Department of Transportation & FMCSA census records. Includes verified business emails, phone numbers, USDOT numbers, fleet power units, driver totals, and physical addresses.

- **URL**: https://apify.com/automation\_studio/fmcsa-carrier-fleet-lead-generator.md
- **Developed by:** [Automation Studio](https://apify.com/automation_studio) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 analyzed fleet vehicle leads

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/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 Commercial Trucking Carrier & Fleet Lead Generator

Generate high-converting, verified B2B sales leads from the **official US Department of Transportation (DOT) and Federal Motor Carrier Safety Administration (FMCSA)** public motor carrier census.

Extract active commercial trucking fleets, owner-operators, and freight carriers with **direct official business emails, direct phone numbers, USDOT numbers, fleet power units (trucks), registered driver totals, and physical operating addresses**.

***

### 🌟 Why Use This Fleet Lead Generator?

Freight brokerages, truck factoring companies, dispatch services, commercial truck repair networks, fuel card issuers, and commercial truck insurance agencies pay **thousands of dollars per month** for fresh, contactable carrier data.

| Traditional Trucking Data Services | 🚛 FMCSA Carrier & Fleet Lead Generator |
| :--- | :--- |
| ❌ $500 – $2,000/month expensive locked subscriptions | ✅ **Pay only for leads extracted** ($0.001 per enriched carrier lead) |
| ❌ Stale databases updated once per quarter | ✅ **Direct access to live US Department of Transportation census** |
| ❌ Scrapes basic HTML snapshots missing contact emails | ✅ **Direct verified official business emails (`EMAIL_ADDRESS`)** |
| ❌ Hit by government cloud WAF blocks & 403 errors | ✅ **Dual-engine architecture querying open DOT datasets** |
| ❌ Unstructured CSVs with messy columns | ✅ **100% clean tabular dataset** ready for Salesforce, HubSpot, or Excel |

***

### 🚀 Key Capabilities

- **📞 Direct Contact Intelligence (Email + Phone)**:
  Extracts official business emails and direct business phone numbers on file with the US Department of Transportation for maximum cold outreach deliverability.
- **🚛 Fleet Size Tier Segmentation**:
  Filter carriers by registered commercial power units (trucks):
  - **Owner-Operators**: 1–2 power units (prime targets for independent dispatchers & factoring).
  - **Small Fleets**: 3–10 power units (ideal for commercial insurance & fuel card programs).
  - **Mid-Size Fleets**: 11–50 power units (prime targets for freight brokerages & TMS software).
  - **Large & Enterprise Fleets**: 51+ power units (prime targets for enterprise logistics & telematics).
- **📍 Precise US State Targeting**:
  Filter carriers by physical state headquarters (e.g. `["TX", "CA", "FL", "OH", "IL"]`) or scan nationwide across all 50 states.
- **📋 For-Hire Operating Authority**:
  Focus on commercial for-hire motor carriers actively transporting freight for compensation, filtering out internal private passenger operations.
- **📊 Executive Fleet Intelligence Scorecard**:
  Access high-level organizational intelligence in Key-Value Store (`OUTPUT` and `SUMMARY`), including cumulative power units, driver totals, email contactability rate, and top fleets.
- **🔔 Real-Time Webhook Notifications**:
  Instantly deliver fresh carrier leads directly to Discord channels or Slack workspaces via webhooks.

***

### 📥 Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `states` | Array | `["TX", "CA"]` | Target US state postal codes (e.g., `["TX", "FL", "GA"]`). Leave empty for nationwide. |
| `fleetTier` | String | `"ALL"` | Fleet size filter (`ALL`, `OWNER_OPERATOR`, `SMALL_FLEET`, `MID_FLEET`, `LARGE_FLEET`). |
| `authorizedForHireOnly` | Boolean | `true` | Filter for commercial carriers authorized for-hire. |
| `requireContactEmail` | Boolean | `true` | When `true`, only exports carriers with a verified direct business email. |
| `requireContactPhone` | Boolean | `true` | When `true`, only exports carriers with a valid direct phone number. |
| `maxRecords` | Integer | `50` | Maximum number of carrier lead records to extract (1–1,000). |
| `includeSummaryInDataset` | Boolean | `false` | When `false` (Recommended), dataset contains 100% clean carrier rows, with scorecard in Key-Value Store. |
| `webhookUrl` | String | `null` | Optional Discord or Slack webhook URL for real-time alerts. |

#### Example Input

```json
{
  "states": ["TX", "CA"],
  "fleetTier": "SMALL_FLEET",
  "authorizedForHireOnly": true,
  "requireContactEmail": true,
  "requireContactPhone": true,
  "maxRecords": 50
}
```

***

### 📤 Output Structure

#### 1. Tabular Dataset (`items`)

Every row represents a verified commercial carrier lead with standardized columns:

```json
{
  "isSummaryCard": false,
  "dotNumber": "3214567",
  "legalName": "LONE STAR FREIGHT LOGISTICS LLC",
  "dbaName": "LONE STAR HAULING",
  "carrierOperation": "Interstate",
  "telephone": "(214) 555-0199",
  "emailAddress": "dispatch@lonestarfreight.com",
  "phyStreet": "1420 COMMERCE ST",
  "phyCity": "DALLAS",
  "phyState": "TX",
  "phyZip": "75201",
  "phyCountry": "US",
  "mailingStreet": "PO BOX 8820",
  "mailingCity": "DALLAS",
  "mailingState": "TX",
  "mailingZip": "75201",
  "powerUnits": 8,
  "driverTotal": 10,
  "fleetTier": "Small Fleet (3-10 Trucks)",
  "isAuthorizedForHire": true,
  "isHazmat": false,
  "recentMileage": 480000,
  "filingDate": "14-MAR-26",
  "fmcsaSnapshotUrl": "https://safer.fmcsa.dot.gov/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&query_string=3214567",
  "discoveredAt": "2026-09-23T16:00:00.000Z"
}
```

#### 2. Executive Scorecard (`OUTPUT` in Key-Value Store)

```json
{
  "isSummaryCard": true,
  "discoveredAt": "2026-09-23T16:00:00.000Z",
  "totalCarriersScanned": 50,
  "totalPowerUnits": 284,
  "totalDrivers": 312,
  "emailContactabilityRate": "100.0%",
  "phoneContactabilityRate": "100.0%",
  "fleetTierBreakdown": {
    "ownerOperators": 12,
    "smallFleets": 28,
    "midFleets": 8,
    "largeFleets": 2
  },
  "stateDistribution": {
    "TX": 32,
    "CA": 18
  }
}
```

***

### ⚖️ Compliance & Public Domain Data Notice

All motor carrier data is sourced exclusively from **public government records** maintained by the **Federal Motor Carrier Safety Administration (FMCSA)** and the **United States Department of Transportation (DOT)** under the Freedom of Information Act (FOIA). All extracted records are in the public domain.

# Actor input Schema

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

Select or enter two-letter US state postal abbreviations (e.g., 'TX', 'CA', 'FL', 'OH', 'IL', 'GA'). Leave empty to search nationwide across all 50 states.

## `fleetTier` (type: `string`):

Filter carriers by number of registered power units (trucks). Ideal for targeting owner-operators vs mid-market fleets.

## `authorizedForHireOnly` (type: `boolean`):

When TRUE (Recommended), filters for commercial carriers authorized for-hire (transporting goods for compensation). Excludes internal private passenger or non-commercial operations.

## `requireContactEmail` (type: `boolean`):

When TRUE (Recommended), only exports carriers with a verified direct business email on official filing.

## `requireContactPhone` (type: `boolean`):

When TRUE (Recommended), only exports carriers with a valid direct telephone number on official filing.

## `maxRecords` (type: `integer`):

Maximum number of enriched carrier leads to extract per run.

## `includeSummaryInDataset` (type: `boolean`):

If TRUE, includes the top-level Fleet Intelligence Scorecard as record #1 in the dataset. If FALSE (Recommended), the dataset contains 100% clean carrier finding rows for pristine CSV/Excel exports, while the executive scorecard is saved to Key-Value Store (OUTPUT / SUMMARY).

## `webhookUrl` (type: `string`):

Optional Discord or Slack webhook URL to receive instant notification alerts when new high-value fleet leads are discovered.

## Actor input object example

```json
{
  "states": [
    "TX",
    "CA"
  ],
  "fleetTier": "ALL",
  "authorizedForHireOnly": true,
  "requireContactEmail": true,
  "requireContactPhone": true,
  "maxRecords": 50,
  "includeSummaryInDataset": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing verified commercial motor carriers, USDOT numbers, legal names, DBA names, phone numbers, email addresses, fleet sizes, and physical addresses

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

Aggregated fleet intelligence scorecard, total power units, driver totals, fleet size tier distributions, contactability metrics, and state breakdown

# 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",
        "CA"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation_studio/fmcsa-carrier-fleet-lead-generator").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",
        "CA",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("automation_studio/fmcsa-carrier-fleet-lead-generator").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",
    "CA"
  ]
}' |
apify call automation_studio/fmcsa-carrier-fleet-lead-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automation_studio/fmcsa-carrier-fleet-lead-generator"
        }
    }
}
```

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/Rql86Imlxix5S9mNZ/builds/czbwlCE0j847nqCoq/openapi.json
