# TruckPaper Trucks & Trailers Scraper with Dealer Phones (`scrapers_lat/truckpaper-trucks-scraper`) Actor

Scrape TruckPaper.com commercial trucks and trailers: make, model, year, price, mileage, type, condition, VIN, specs, location and the selling dealer name and phone. Export JSON, CSV, Excel.

- **URL**: https://apify.com/scrapers\_lat/truckpaper-trucks-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** E-commerce, Lead generation
- **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 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

## TruckPaper Trucks & Trailers Scraper

Extract commercial truck and trailer listings from **TruckPaper.com** — one of the largest marketplaces for over-the-road trucks, vocational trucks and trailers. Get clean, structured records with the **selling dealer's name and phone number** on every listing, ready for lead generation, market research, pricing analysis and inventory monitoring.

### What you get

Each listing is returned as one flat record with:

- **Vehicle** — title, make, model, year, truck/trailer type (sleeper, day cab, dump, tractor, flatbed, reefer, and more), condition
- **Price & usage** — asking price, currency, odometer mileage, engine hours where reported
- **Location** — city, state, country of the truck
- **Seller lead** — dealer / seller name, **direct phone number**, dealer profile / website link
- **Media** — main photo and photo count, plus the full image gallery on detail enrichment
- **Reference** — listing URL, unique listing id, last-updated date

#### Optional detail enrichment (richer data)

Turn on **Scrape detail pages** to add, per listing:

- **VIN / serial number** and dealer **stock number**
- **Full drivetrain specs** — engine manufacturer & model, horsepower, transmission, number of speeds, drive, front/rear axles, GVW / weight class, suspension, wheelbase, fuel type, sleeper size, color
- **Complete specification table**, full **description**, and the **entire photo gallery**
- **Dealer contact** — contact person name, phone and website

### Powerful filters

Narrow to exactly the inventory you want:

- **Search queries** — free text (e.g. `peterbilt 579`, `reefer trailer`, `day cab`) or leave empty to browse the whole marketplace
- **Make**, **model**, **truck type / category**
- **Year** range, **price** range, **mileage** range
- **US state**, **condition** (new / used)

### Output

Export to **JSON, CSV or Excel**, or pull from the dataset API. Great for CRM imports, dealer prospecting, competitive pricing and fleet sourcing.

### Pricing

Pay-per-result. You are charged per listing returned, with a small add-on for listings that include a dealer phone lead and an optional add-on when you enable detail enrichment. **Empty and failed runs are never charged.** Free Apify plans are capped at 10 listings per run.

### Notes

- Read-only access to public listing pages. No account, login or API key required.
- Data reflects what is publicly shown on the marketplace at the time of the run.

# Actor input Schema

## `searchQueries` (type: `array`):

One or more searches to run in a single run, for example "sleeper truck", "peterbilt 579", "dump truck", "reefer trailer". Leave empty to browse the entire trucks & trailers marketplace. Each query is searched separately and every listing is tagged with the query that produced it.

## `make` (type: `string`):

Only keep listings from this manufacturer, e.g. Peterbilt, Kenworth, Freightliner, Volvo, International, Mack. Leave empty for all makes.

## `model` (type: `string`):

Only keep listings of this model, e.g. 579, W900, Cascadia. Works best combined with a make.

## `category` (type: `string`):

Only keep listings whose type matches this text, e.g. "Sleeper", "Day Cab", "Dump", "Tractor", "Flatbed", "Reefer". Leave empty for all types.

## `state` (type: `string`):

Only keep listings located in this US state, e.g. Texas, California, Florida.

## `condition` (type: `string`):

Filter by condition.

## `yearMin` (type: `integer`):

Only keep listings built in this year or later.

## `yearMax` (type: `integer`):

Only keep listings built in this year or earlier.

## `priceMin` (type: `integer`):

Only keep listings priced at or above this amount. Listings without a price are excluded when a price filter is set.

## `priceMax` (type: `integer`):

Only keep listings priced at or below this amount.

## `mileageMin` (type: `integer`):

Only keep listings with at least this many miles on the odometer.

## `mileageMax` (type: `integer`):

Only keep listings with at most this many miles. Useful for finding low-mileage trucks.

## `scrapeDetails` (type: `boolean`):

When enabled, each listing's page is fetched to add the VIN, stock number, engine, transmission, axle and GVW specifications, full specification table, description, the complete image gallery, and the dealer's contact name, phone and website. Slower but far richer per listing.

## `maxListings` (type: `integer`):

Maximum number of listings to collect across all searches. Empty and failed runs are never charged.

## Actor input object example

```json
{
  "searchQueries": [
    "sleeper truck"
  ],
  "condition": "",
  "scrapeDetails": false,
  "maxListings": 10
}
```

# 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 = {
    "searchQueries": [
        "sleeper truck"
    ],
    "maxListings": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/truckpaper-trucks-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 = {
    "searchQueries": ["sleeper truck"],
    "maxListings": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/truckpaper-trucks-scraper").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 '{
  "searchQueries": [
    "sleeper truck"
  ],
  "maxListings": 10
}' |
apify call scrapers_lat/truckpaper-trucks-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/truckpaper-trucks-scraper"
        }
    }
}

```

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/ROSeoqebhW1u9aDc3/builds/KT22thJu34Bl175SS/openapi.json
