# Tiebaobei Used Machinery Scraper (`rastriq/tiebaobei-machinery-scraper`) Actor

Scrapes used construction machinery listings from int.tiebaobei.com (Iron Armour / cehome.com). Extracts excavators, loaders, cranes, pumps and mixer trucks with prices, specs, photos and seller info.

- **URL**: https://apify.com/rastriq/tiebaobei-machinery-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

## Tiebaobei Machinery Scraper — Used Construction Equipment from China

Extract used construction machinery listings from **Tiebaobei** (Iron Armour / int.tiebaobei.com), China's largest used heavy equipment marketplace with 8,500+ active listings. Tiebaobei Machinery Scraper returns structured data — brand, model, price in CNY or USD, operating hours, location, photos, and more — ready to export as JSON, CSV, or Excel.

> 🚀 **Try it free** — click **Start** with default settings to scrape 10 sample listings in seconds. No API key required.

### 📌 What is Tiebaobei Machinery Scraper?

**Tiebaobei Machinery Scraper** is an unofficial Tiebaobei API that extracts structured equipment data from [int.tiebaobei.com](https://int.tiebaobei.com) (also known as Iron Armour or cehome.com). The site has no public API for bulk data access — this scraper fills that gap.

Use Tiebaobei Machinery Scraper to:

- 🔍 **Monitor Chinese equipment prices** — track price movements across excavators, loaders, cranes, pump trucks, and mixer trucks
- 📊 **Build competitive intelligence** — compare Chinese used machinery pricing against Western marketplaces (Mascus, MachineryTrader, MachineryZone)
- 🏗️ **Source equipment from China** — find specific brands and models with operating hours, inspection status, and seller location
- 🔄 **Automate recurring monitoring** — use incremental mode to capture only new or updated listings since the last run

The scraper uses a **hybrid strategy** for maximum efficiency: a fast public API for inventory data, plus optional SSR page enrichment for detailed pricing, tonnage, photos, and seller information — all without a browser, keeping compute costs minimal.

### 📋 What data does Tiebaobei Machinery Scraper extract?

Tiebaobei Machinery Scraper returns structured data with the following fields:

|                          |                                    |
| ------------------------ | ---------------------------------- |
| 🔗 Title and detail URL  | 🏗️ Category (excavator, loader…)   |
| 🏭 Brand (EN + CN)       | 📝 Model (EN + CN)                 |
| 💰 Price in CNY or USD   | ⏱️ Operating hours                 |
| 📅 Year of manufacture   | 📍 Province and city               |
| 📸 Photo count + URLs    | ✅ Inspection / quality flags      |
| 🎥 Video available       | 🔄 Sold status                     |
| ⚖️ Tonnage (full mode)   | 👤 Seller info (full mode)         |

#### Full field reference

| Field | Type | Description |
|-------|------|-------------|
| `eqId` | integer | Unique equipment ID on the platform |
| `title` | string | Listing title (Chinese) |
| `brandEn` / `brandCn` | string | Brand name in English and Chinese |
| `modelEn` / `modelCn` | string | Model in English and Chinese |
| `categoryEn` | string | Category: Excavators, Loaders, Cranes, Pump trucks, Mixer trucks |
| `priceCny` | integer | Price in Chinese Yuan (approximate in inventory mode, exact in full mode) |
| `priceUsd` | number | Price in USD using live exchange rate (when currency=USD) |
| `hours` | integer | Operating hours reported by the seller |
| `year` | integer | Year of manufacture |
| `province` / `city` | string | Equipment location in China |
| `photoCount` | integer | Number of listing photos |
| `tonnage` | number | Equipment weight in tonnes (full mode only) |
| `isSold` | boolean | Whether the listing is marked as sold |
| `hasInspection` | boolean | Whether it has an Iron Armour inspection report |
| `hasVideo` | boolean | Whether the listing includes a video |
| `detailUrl` | string | Direct URL to the listing page |
| `scrapedAt` | string | UTC timestamp of extraction |

> 💡 Fields like `tonnage`, `photos`, and `sellerName` are only available in **full** mode, which fetches each listing's detail page.

### 🚀 How to use Tiebaobei Machinery Scraper

Extracting Chinese used machinery data takes under two minutes:

1. **Create a free Apify account** at [apify.com](https://apify.com) — your first $5 is free
2. **Open Tiebaobei Machinery Scraper** in Apify Console or click **Try for free** on this page
3. **Choose a scraping mode**:
   - **Inventory** (default) — fast API-only scan, ~1 HTTP request per 100 listings
   - **Full** — enriches each listing with price, tonnage, photos, and seller data from the detail page
   - **Incremental** — returns only listings updated since the last run (ideal for daily monitoring)
4. **Set filters** (optional) — filter by keyword, category, or limit the number of results
5. **Click Start** and wait a few seconds
6. **Download your results** in JSON, CSV, Excel, or XML — or access them via the Apify API

### ⚙️ Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `mode` | string | ❌ | `"inventory"` | Scraping mode: `inventory`, `full`, or `incremental` |
| `keyword` | string | ❌ | — | Search keyword (e.g. `caterpillar`, `komatsu 320`) |
| `categories` | array | ❌ | all | Equipment categories to scrape (multiselect) |
| `maxItems` | integer | ❌ | `100` | Maximum listings to extract. Use 5–10 for testing. |
| `includePhotos` | boolean | ❌ | `true` | Include photo URLs in output (full mode only) |
| `includeSeller` | boolean | ❌ | `false` | Include seller name and ID (full mode only) |
| `currency` | string | ❌ | `"CNY"` | Price currency: `CNY` or `USD` (live exchange rate) |
| `maxConcurrency` | integer | ❌ | `3` | Parallel requests for detail pages (full mode) |
| `requestDelay` | integer | ❌ | `1000` | Base delay between requests in ms (±50% jitter) |

**Example input (quick test):**

```json
{
  "mode": "inventory",
  "maxItems": 10,
  "keyword": "caterpillar"
}
```

**Example input (full extraction with USD prices):**

```json
{
  "mode": "full",
  "maxItems": 50,
  "categories": ["wajueji"],
  "currency": "USD",
  "includePhotos": true,
  "includeSeller": true
}
```

### 📦 Output example

Each result is a structured JSON object. Here's a sample from a real run:

```json
{
  "eqId": 1852990,
  "title": "龙工LG6075挖掘机",
  "categorySlug": "wajueji",
  "categoryEn": "Excavators",
  "categoryCn": "挖掘机",
  "brandEn": "Lonking",
  "brandCn": "龙工",
  "modelEn": "LG6075",
  "modelCn": "LG6075",
  "hours": 3362,
  "year": 2021,
  "outDate": "2021",
  "province": "安徽",
  "city": "亳州市",
  "photoCount": 32,
  "isSold": false,
  "hasInspection": false,
  "hasVideo": true,
  "priceCny": 95000,
  "priceDisplay": "9.5万",
  "detailUrl": "https://int.tiebaobei.com/ue/wajueji/lonking_lg6075_1852990.html",
  "scrapedAt": "2026-09-03T22:00:34.979313+00:00"
}
```

Download results in **JSON, CSV, Excel, XML, or HTML** from the Output tab, or pull them programmatically using the [Apify API](https://docs.apify.com/api/v2) (see the API tab for ready-to-use code snippets in Python, Node.js, and cURL).

### 💰 How much does it cost to scrape Tiebaobei?

Tiebaobei Machinery Scraper runs on Apify's standard **Compute Unit (CU)** pricing. It is extremely lightweight — no browser is needed.

| Mode | Typical run | CU cost | Approx. price |
|------|------------|---------|---------------|
| **Inventory** (8,500 listings) | ~87 API requests, ~30s | ~0.01 CU | < $0.01 |
| **Full** (100 listings) | 100 detail pages + API, ~3 min | ~0.05 CU | ~$0.03 |
| **Full** (8,500 listings) | ~8,600 requests, ~45 min | ~0.5 CU | ~$0.25 |

> 💡 **Tip**: Run a quick **inventory** test with `maxItems: 10` first — it costs virtually nothing and finishes in seconds.

Is scraping Tiebaobei free? Your first $5 of usage is covered by Apify's free trial credit — enough for hundreds of full inventory runs at no cost.

### 🔗 Related Rastriq Actors

Explore the full [Rastriq intelligence portfolio](https://apify.com/rastriq) on Apify Store — specialized scrapers for the global heavy equipment market:

| Actor | Description |
|-------|-------------|
| [MachineryTrader Scraper](https://apify.com/rastriq/machinerytrader-scraper) | Extract listings from MachineryTrader.com — North America's largest equipment marketplace |
| [MachineryZone Scraper](https://apify.com/rastriq/machineryzone-scraper) | Scrape MachineryZone for European used machinery listings |
| [Rock & Dirt Scraper](https://apify.com/rastriq/rock-and-dirt-scraper) | Extract heavy equipment from Rock & Dirt via Algolia |
| [Euro Auctions Scraper](https://apify.com/rastriq/euro-auctions-scraper) | Scrape auction lots from Euro Auctions |

Tiebaobei Machinery Scraper completes the picture by adding **Chinese market data** — combine it with Western marketplace scrapers for true global competitive intelligence.

### ❓ Frequently Asked Questions

#### Is scraping Tiebaobei legal?

Tiebaobei Machinery Scraper only accesses **publicly available data** on int.tiebaobei.com — information visible to any visitor without logging in. The scraper respects reasonable rate limiting with configurable delays and jitter to avoid overloading servers.

As with any data collection activity, you are responsible for ensuring your use case complies with applicable laws and the site's Terms of Service. For guidance, see [Apify's blog on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### Does Tiebaobei Machinery Scraper require a Tiebaobei account or API key?

No. It works entirely with **public data** — no account, login, or API credentials needed.

#### How many listings can I extract?

The full Tiebaobei catalog has ~8,500 active listings. In **inventory** mode, the scraper can extract the entire catalog in under a minute with ~87 API requests. In **full** mode, each listing requires an additional detail page request.

#### What's the difference between inventory and full mode?

**Inventory** mode uses only the public search API — it's fast and cheap, returning core fields (brand, model, year, hours, location, approximate price). **Full** mode additionally fetches each listing's detail page to extract the exact numeric price, tonnage, annotated photos, seller information, and inspection report flags.

#### What proxy configuration should I use?

No proxy is required for most runs. The site does not currently employ aggressive anti-bot measures. If you experience rate limiting, increase the `requestDelay` parameter.

#### How do I set up daily monitoring?

Use **incremental** mode with Apify Schedules:

1. Save your input configuration as a **Task** in Apify Console
2. Go to **Schedules** and set a daily cron (e.g., `0 8 * * *` for 8 AM UTC)
3. The incremental mode uses a KV store to track which listings have changed since the last run

#### I found a bug or my run failed. Where do I report it?

Please open an issue in the **Issues tab** on this page. Include your input configuration and the run ID so we can investigate quickly.

***

### 🇪🇸 Versión en español

> Esta sección es un resumen en español del README anterior.

#### ¿Qué es Tiebaobei Machinery Scraper?

**Tiebaobei Machinery Scraper** extrae datos estructurados de maquinaria de construcción usada desde [int.tiebaobei.com](https://int.tiebaobei.com) (Iron Armour / cehome.com), el mayor marketplace de equipos usados de China con más de 8.500 anuncios activos.

#### ¿Qué datos extrae?

Marca, modelo, precio en CNY o USD, horas de operación, año de fabricación, ubicación (provincia y ciudad), fotos, estado de inspección, tonelaje y datos del vendedor. Campos disponibles en inglés y chino.

#### ¿Cómo usarlo?

1. Crea una cuenta gratuita en [apify.com](https://apify.com)
2. Abre Tiebaobei Machinery Scraper y haz clic en **Start** con la configuración por defecto
3. Descarga los resultados en JSON, CSV o Excel

#### ¿Cuánto cuesta?

El actor es extremadamente eficiente — un inventario completo de 8.500 máquinas cuesta menos de $0.01 en modo inventario. El crédito gratuito de $5 de Apify cubre cientos de ejecuciones.

# Actor input Schema

## `mode` (type: `string`):

Choose how much data to extract per listing:<br><br>• <b>inventory</b> — Fast. Uses the public API only (~87 requests for 8,600+ machines). Returns: id, title, brand, model, category, hours, year, location, photo count, status flags. No price or seller.<br>• <b>full</b> — Slower. Fetches each listing page for enriched data: numeric price (CNY), tonnage, annotated photos, seller contact, inspection report flags.<br>• <b>incremental</b> — Like 'inventory' but only returns listings updated since the last run (compares updateTimeInfo). Ideal for daily monitoring.

## `keyword` (type: `string`):

Optional keyword to filter listings (e.g. <code>caterpillar</code>, <code>komatsu 320</code>). Leave empty to scrape the full catalog.

## `categories` (type: `array`):

Select one or more categories. Leave empty to scrape all categories.

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

Maximum number of listings to extract. Use a low value (5-10) for your first test run. Set to <code>0</code> for unlimited.

## `includePhotos` (type: `boolean`):

If enabled, includes an array of photo URLs (CDN thumbnail 320x240) for each listing. Only available in <b>full</b> mode.

## `includeSeller` (type: `boolean`):

If enabled, includes seller name and manager ID. Only available in <b>full</b> mode. <b>Note:</b> Treat seller data with care — do not publish personal contact information.

## `currency` (type: `string`):

Currency for the price field. The site stores prices in CNY. If USD is selected, the actor fetches the live exchange rate from tiebaobei's own API.

## `maxConcurrency` (type: `integer`):

Maximum parallel requests for detail page scraping (full mode). Higher = faster but more load on the server. The API phase always runs sequentially.

## `requestDelay` (type: `integer`):

Base delay between requests in milliseconds. A random jitter of ±50% is added automatically.

## `debugMode` (type: `boolean`):

Enable verbose logging for troubleshooting. Logs every request URL and response status.

## Actor input object example

```json
{
  "mode": "inventory",
  "categories": [],
  "maxItems": 10,
  "includePhotos": true,
  "includeSeller": false,
  "currency": "CNY",
  "maxConcurrency": 3,
  "requestDelay": 1000,
  "debugMode": false
}
```

# Actor output Schema

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

Dataset containing all scraped machinery listings with normalized fields.

# 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 = {
    "keyword": "",
    "categories": [],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/tiebaobei-machinery-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 = {
    "keyword": "",
    "categories": [],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/tiebaobei-machinery-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 '{
  "keyword": "",
  "categories": [],
  "maxItems": 10
}' |
apify call rastriq/tiebaobei-machinery-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rastriq/tiebaobei-machinery-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/TU9d4autTuCvyiYU8/builds/rmySI2Nb0TaYlkcgl/openapi.json
