# Dongchedi API — live Chinese used-car listings scraper (懂车帝二手车, ByteDance): search by city, brand, series, price, registration year, mileage, fuel, gearbox, body type, size class, displacement, drivetrain, emission standard and origin; full listing detail with price in CNY, new-car price, mileage in km, registration month, transfer count, dealer, every photo, specs, a price-vs-market analysis and the full third-party inspection report — no API key, no login

> Search Dongchedi's live used-car inventory (懂车帝二手车). Filter by city, brand, series, price band, registration year, mileage, fuel, gearbox, vehicle type, size class, displacement, drivetrain, emission standard, origin, inspection report, then sort and page. Each row has price in CNY (and 万), new-car price, mileage in km, first-registration year, the car's city, transfer count, dealer id, photo and tags. Dongchedi's own `total` stops counting at 10 000 (`total_capped: true`), and paging stops at page × limit = 10 000 — narrow the filter to go deeper. There is no free-text keyword search on Dongchedi's used-car API: use `brand_id`/`series_id` (from `brands`/`series`).
> ReefAPI engine `dongchedi` · 5 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/dongchedi/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Clients that add connectors by URL, such as ChatGPT and the Claude app, connect with OAuth 2.1 (the user pastes their key once on a ReefAPI page; discovery at `/.well-known/oauth-protected-resource/mcp`). Config files send the key as `Authorization: Bearer <key>`. `?key=<key>` in the URL also works as a last-resort fallback.

## Endpoints

### POST https://api.reefapi.com/dongchedi/v1/search — 1 credit
Search Dongchedi's live used-car inventory (懂车帝二手车). Filter by city, brand, series, price band, registration year, mileage, fuel, gearbox, vehicle type, size class, displacement, drivetrain, emission standard, origin, inspection report, then sort and page. Each row has price in CNY (and 万), new-car price, mileage in km, first-registration year, the car's city, transfer count, dealer id, photo and tags. Dongchedi's own `total` stops counting at 10 000 (`total_capped: true`), and paging stops at page × limit = 10 000 — narrow the filter to go deeper. There is no free-text keyword search on Dongchedi's used-car API: use `brand_id`/`series_id` (from `brands`/`series`).

**Parameters:**
- `city` (string, optional, default "全国") — City to search, as Dongchedi names it in Chinese ('北京', '上海', '成都'); common pinyin/English names ('beijing', 'shanghai') are mapped. Default '全国' = nationwide. Call `cities` for the full list (371).
- `brand_id` (integer, optional) — Dongchedi brand id (2 = 奥迪 Audi, 3 = 奔驰 Mercedes, 4 = 宝马 BMW) — from `brands`.
- `series_id` (integer, optional) — Model series id (99 = 奥迪A6L) — from `series`.
- `min_price` (number, optional) — Minimum asking price in 万元 (10 000 CNY) — Dongchedi's own unit. Dongchedi only honours whole 万, so a decimal is rounded down; the applied band is echoed.
- `max_price` (number, optional) — Maximum asking price in 万元. Rounded up to a whole 万.
- `min_year` (integer, optional) — Earliest first-registration year (converted to Dongchedi's vehicle-age filter, whole years).
- `max_year` (integer, optional) — Latest first-registration year.
- `min_mileage_km` (integer, optional) — Mileage floor in km (Dongchedi filters in 10 000 km steps; rounded down, echoed in filters_applied).
- `max_mileage_km` (integer, optional) — Mileage ceiling in km (rounded up to 10 000 km).
- `fuel` (array, optional) — Fuel / energy type; several may be combined. [one of: petrol, diesel, hybrid, electric, range_extender, plug_in_hybrid, mild_hybrid_48v]
- `gearbox` (enum, optional) — Transmission. [one of: manual, automatic]
- `vehicle_type` (enum, optional) — Vehicle type (Dongchedi's 级别). [one of: sedan, suv, mpv, pickup, sports_car, light_bus, microvan, mini_truck, light_truck]
- `size_class` (enum, optional) — Size segment (Dongchedi's 车系细分), e.g. compact_suv. [one of: mini, small, compact, midsize, large, full_size, small_suv, compact_suv, midsize_suv, large_suv, full_size_suv, small_mpv, compact_mpv, midsize_mpv, large_mpv, mini_pickup, midsize_pickup, full_size_pickup, heavy_pickup, super_heavy_pickup]
- `displacement` (enum, optional) — Engine displacement band in litres. [one of: <=1.0, 1.1-1.6, 1.7-2.0, 2.1-2.5, 2.6-3.0, 3.1-4.0, >4.0]
- `drivetrain` (enum, optional) — Driven wheels. [one of: fwd, rwd, awd]
- `emission_standard` (enum, optional) — China emission standard. [one of: china4, china5, china6]
- `origin` (enum, optional) — Manufacturer type (Dongchedi's 厂商属性). [one of: joint_venture, domestic, joint_venture_own_brand, imported]
- `with_inspection_report` (boolean, optional, default false) — Only cars with a third-party inspection report.
- `dongchedi_operated` (boolean, optional, default false) — Only Dongchedi's own used-car business (懂懂二手车).
- `sort` (enum, optional, default "default") — Ordering. `price_asc` needs a city: nationwide, Dongchedi answers it with zero rows (measured). [one of: default, newest_listing, price_asc, price_desc, newest_car, mileage_asc, mileage_desc]
- `page` (integer, optional, default 1) — Result page (page × limit stops at 10 000).
- `limit` (integer, optional, default 40) — Rows per page, 1-80 (Dongchedi serves at most 80).

**Returns:** results[]{listing_id, spu_id, url, title, brand, brand_id, series, series_id, spec_id, trim_name, model_year, price_cny, price_wan_cny, new_car_price_cny, new_car_price_wan_cny, new_car_price_display, mileage_km, mileage_wan_km, first_registration, year, is_registered, subtitle, city, registration_city, seller_type, seller_type_raw, certification, transfer_count, dealer_id, image, has_video, tags[], is_self_trade} + pagination{page, per_page, total, total_capped, has_more} + filters_applied

**Example request body:**
```json
{
  "limit": 20
}
```

### POST https://api.reefapi.com/dongchedi/v1/car_detail — 1 credit
Everything Dongchedi publishes about one used car: price in CNY (and 万), new-car guide price incl. and excl. purchase tax, mileage in km, registration month, car age, transfer count, emission standard, displacement, gearbox, colours, maintenance record type, the car's city and its registration city, dealer (name, address, hours, licence image), power/drivetrain/suspension/dimensions, every photo, the seller's description, Dongchedi's price-vs-market analysis (average/min/max of similar cars) and the full third-party inspection report (accident, flood, fire, core-driving and exterior checks with every defect and its photo). The VIN is not published — `vin` is always null.

**Parameters:**
- `listing_id` (integer, required) — Dongchedi listing id (`sku_id`) — the number in a listing URL `dongchedi.com/usedcar/<listing_id>`, returned as `listing_id` by `search`.
- `include_report` (boolean, optional, default true) — Include every inspection item (often 100+ rows). The summary and the defect list are always returned; false only trims the payload — it is the same upstream call.

**Returns:** car{listing_id, spu_id, url, title, brand, brand_id, series, series_id, spec_id, trim_name, model_year, price_cny, price_wan_cny, new_car_price_cny, new_car_price_incl_tax_cny, mileage_km, mileage_wan_km, first_registration, year, car_age, city, registration_city, transfer_count, emission_standard, displacement, gearbox, maintenance_record, color, interior_color, headline, seller_type, dealer_id, dealer{dealer_id, name, short_name, city, address, business_hours, sells_to, cars_on_sale, phone, logo, business_license_image}, specs{horsepower, acceleration_0_100, fuel_type, gearbox, drivetrain, suspension, dimensions_mm}, photos[], photo_count, description, highlights, tags[], price_analysis{verdict, similar/same-year/similar-mileage avg/min/max price CNY + counts, popularity}, finance{down_payment_cny, monthly_payment_cny, term_months}, params[], vin (always null — not published), vin_published} + condition{report_published, report_type, summary[]{category, items_checked, defects}, defect_count, defects[]{category, group, part, finding, photos[]}, items[]{category, group, item, result, abnormal}}

**Example request body:**
```json
{
  "listing_id": 35003090
}
```

### POST https://api.reefapi.com/dongchedi/v1/brands — 1 credit
Every car brand Dongchedi knows, with the `brand_id` that `search` and `series` take, its Chinese name, pinyin initial and logo.

**Parameters:**
- `letter` (string, optional) — Only brands under this pinyin initial (A-Z).

**Returns:** brands[]{brand_id, name, letter, logo, new_car_series_on_sale}

**Example request body:**
```json
{
  "letter": "B"
}
```

### POST https://api.reefapi.com/dongchedi/v1/series — 1 credit
The model series of one brand that have used cars on Dongchedi, with the `series_id` that `search` takes.

**Parameters:**
- `brand_id` (integer, required) — Brand id from `brands`.
- `city` (string, optional, default "全国") — Limit to series with stock in this city (Chinese name); default nationwide.

**Returns:** brand_id + series[]{series_id, name, image}

**Example request body:**
```json
{
  "brand_id": 2
}
```

### POST https://api.reefapi.com/dongchedi/v1/cities — 1 credit
All cities Dongchedi's used-car search accepts (Chinese names, the value `search`'s `city` takes) with their pinyin initial.

**Parameters:** none

**Returns:** cities[]{name, initial}

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=dongchedi
- Human docs page: https://reefapi.com/docs/dongchedi
- Overview page: https://reefapi.com/dongchedi-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
