Che168 Scraper | Used Car Listings and Prices avatar

Che168 Scraper | Used Car Listings and Prices

Pricing

from $8.49 / 1,000 listings

Go to Apify Store
Che168 Scraper | Used Car Listings and Prices

Che168 Scraper | Used Car Listings and Prices

Che168 scraper for 二手车之家, the Autohome used-car marketplace of China. Search a brand or model in Chinese, pinyin or English, or paste che168 links and listing IDs. Get price, new-car price, mileage, registration date, specs, dealer and photos: 20 listings in 9 seconds, 58 fields each. No login.

Pricing

from $8.49 / 1,000 listings

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Che168 Scraper (二手车之家) | Used Car Listings, Prices and Specs from China (2026)

Che168 listings, 58 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 800,000+ combined lifetime runs.

Every used car on che168.com as one clean row, from a model name, a che168 link or a listing ID. Our default test run typed 宝马X5, found the 830 BMW X5 che168 lists across China, and saved the first 20 in 12 seconds, each with its asking price and new-car price in yuan, mileage in kilometres, first registration date, model year, engine, gearbox, drive, color, body type, emission standard, inspection and insurance due dates, city and district, dealer, che168 badges and every photo (22 per car on average). No che168 or Autohome account: a 二手车之家 scraper that starts from the words you already use.

Why choose this actor?

Copying prices from che168 one car at a time? Converting 万 to yuan and 万公里 to kilometres in a spreadsheet? Rebuilding a che168 search URL every time you want another model or another city?

  • Type a model or a brand in Chinese, pinyin or English. 宝马X5, golf or Tesla Model 3 all work: the run asks che168 which model you mean and reads its listings, and a brand alone reads every model of it (BMW matched the 674 BMW che168 listed in Shanghai). In our test, Tesla Model 3 in Guangdong between 100,000 and 200,000 yuan matched the 298 Model 3 che168 lists there and returned 12 full listings in 11 seconds, battery size, range and battery warranty included. The most used che168 scraper takes one search URL per run and nothing else.
  • Or paste che168 links and listing IDs, in the same run. A search link keeps its city, brand, model and price band; a listing link or a bare ID returns that one car in full. Three listing IDs and one listing link returned 4 full listings in 4 seconds, and a Beijing VW Golf search link returned 15 of its 28 cars, newest first, in 9 seconds.
  • No required field: the form runs as it opens. Every field is optional and the form comes prefilled with 宝马X5, so the first click on Start returns rows. Leave everything empty and the run reads the latest listings of all China: 50 cars in 28 seconds in our test. The most used che168 scraper makes its search URL field mandatory.

Try Che168 Scraper

Try your first 20 listings

Paste this input in the JSON tab of the Input page and press Start. It reads the first 20 BMW X5 for sale anywhere in China.

{
"searches": ["宝马X5"],
"location": "china",
"maxItems": 20,
"sortBy": "relevance"
}

It runs on the Apify Free plan. Each car becomes one row of your dataset: open the Output tab to see the table with photo, price, mileage, first registration and city, or switch to the "Specs" view to compare brand, model year, engine, gearbox, fuel, body, color and new-car price side by side. Export the rows as JSON, CSV or Excel, or pull them from the API.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper:

You have access to the Che168 Scraper on Apify: silentflow/che168-scraper
It reads used-car listings of che168.com (二手车之家, Autohome's used-car marketplace, China) without an
account and returns one row per car, its full listing page included.
Input schema (no field is required; with no model, link or ID it reads the latest listings of the place):
- searches (array of strings): brands or models in Chinese, pinyin or English: "宝马X5", "golf",
"Tesla Model 3", "比亚迪汉", "BMW". A model reads that model, a brand alone every model of the brand.
- startUrls (array of {url}): che168 search pages (https://www.che168.com/beijing/baoma/x5/,
https://www.che168.com/china/dazhong/gaoerfu/10_15/) or listing pages
(https://www.che168.com/dealer/507024/60267762.html). A search link keeps its city, brand, model, price.
- listingIds (array of strings): che168 listing IDs such as "60267762".
- location (string, default "china"): city or province for the model searches, in Chinese, pinyin or
English ("上海", "shenzhen", "Guangdong") or a six-digit area code ("440300").
- maxItems (integer, default 50): most listings returned, all entries together.
- minPrice, maxPrice (integer, yuan): asking price bounds. 100000 is 10万.
- sortBy (string, default "relevance"): relevance, newest, price_asc, price_desc, mileage_asc, age_asc.
Output per car (one flat object):
- identity: id (integer, stable che168 listing ID), url, title, brand, brandId, series, seriesId,
specName, specId, modelYear, manufacturer
- content: description (seller text), tags (che168 badges), usage, isNewEnergy, hasWarranty,
isLoanAvailable
- vehicle: vinMasked, engine, displacementL, transmission, fuelType, driveType, aspiration, seats, color,
bodyType, emissionStandard, acceleration0to100s, fuelConsumptionWltc, fuelConsumptionNedc,
batteryCapacityKwh, electricRangeKm, fastChargeHours, slowChargeHours, energyKwhPer100km, batteryType,
batteryWarranty, warrantyPolicy
- measures: price (yuan), currency ("CNY"), newCarPrice (yuan), discountPercent, downPayment (yuan),
mileageKm, transferCount, followers, photoCount
- place and time: city, cityId, province, provinceId, district, firstRegistrationDate (YYYY-MM-DD),
registrationYear, inspectionDue (YYYY-MM), insuranceDue (YYYY-MM), listedDate (YYYY-MM-DD), listedAgo,
launchDate
- media: imageUrl, images (all photos), videoUrl
- seller: dealerId, dealerBadge, sellerType ("dealer" or "private")
- scrapedAt (RFC 3339)
Absent values are null. Chinese names stay in Chinese; numeric IDs are stable for joins.
Use apify-client for Python or JavaScript: client.actor("silentflow/che168-scraper").call(run_input={...}),
then client.dataset(run["defaultDatasetId"]).list_items().items.

How to scrape che168 used car listings

Three inputs, from the simplest to a combined search. Each one runs as is.

Get the BMW X5 for sale across China

{
"searches": ["宝马X5"],
"maxItems": 20
}

The model name is enough. che168 lists several hundred X5 at any time; raise maxItems to read more of them.

Find electric Model 3 under 200,000 yuan in Guangdong

{
"searches": ["Tesla Model 3"],
"location": "Guangdong",
"minPrice": 100000,
"maxPrice": 200000,
"maxItems": 12
}

English works as well as Chinese. In our test this input returned 12 cars from Shenzhen, Guangzhou, Dongguan, Foshan and Huizhou, all priced between 111,800 and 189,800 yuan, each with battery capacity, range, charging times and battery warranty.

Follow a che168 search and a few cars you already know

{
"startUrls": [
{ "url": "https://www.che168.com/beijing/dazhong/gaoerfu/" },
{ "url": "https://www.che168.com/dealer/335626/60330175.html" }
],
"listingIds": ["60347513"],
"sortBy": "newest",
"maxItems": 30
}

Links and IDs mix in one run. The listings asked by ID or listing link come first, then the search, newest first. A car found twice is saved once.

Input parameters

ParameterTypeDefaultDescription
searchesarray of stringsprefilled ["宝马X5"]Brands or models in Chinese, pinyin or English. A model reads that model, a brand alone every model of the brand.
startUrlsarray of linksnoneche168 search pages or listing pages, copied from your browser.
listingIdsarray of stringsnoneche168 listing IDs, the number at the end of a listing page address.
locationstringchinaCity or province for the model searches. Links keep their own city.
maxItemsinteger50Most listings returned by the run, all entries together.
minPriceintegernoneLowest asking price, in yuan.
maxPriceintegernoneHighest asking price, in yuan.
sortBystringrelevancerelevance, newest, price_asc, price_desc, mileage_asc or age_asc.

No field is required. With no model, link or ID, the run reads the listings of the chosen place, all of China by default.

Formats accepted

  • Models: 宝马X5, 宝马 x5, baoma x5, golf, 高尔夫, Tesla Model 3, 比亚迪汉, 小鹏P7. The run tells you in the log which che168 model it matched ("golf" (大众 高尔夫)).
  • Brands alone: 宝马, baoma, BMW, Tesla, 特斯拉, 理想. A brand reads every model of that brand.
  • Search links: https://www.che168.com/{city}/{brand}/{model}/{price}/, for example /china/dazhong/gaoerfu/10_15/ (10万 to 15万) or /guangdong/. Mobile links from m.che168.com work too. Trim and body-type selections of a link are not applied, and the log says so.
  • Listing links: https://www.che168.com/dealer/507024/60267762.html, https://m.che168.com/cardetail/index?infoid=60267762.
  • Places: 上海, 上海市, shanghai, Shanghai, 广东省, Guangdong Province, Inner Mongolia, or a six-digit area code such as 440300 (Shenzhen). The form suggests the whole country and 56 cities and provinces; any other Chinese city works by its area code.
  • Prices: whole yuan. 150000 is 15万.

What data can you extract from che168?

One row per car, 67 fields in a flat object, grouped the same way on every row. On our default run (20 BMW X5 across China, 14 different cities), 57 data fields were filled on at least half of the rows.

  • Identity: id (che168 listing ID, stable), url (permanent listing page), title, brand and brandId, series and seriesId, specName and specId (the exact trim), modelYear, manufacturer (华晨宝马 for a Chinese-built BMW, 宝马(进口) for an imported one).
  • Content: description (the seller's own text), tags (che168 badges such as 0次过户 no ownership transfer, 90天回购 90-day buy-back, 检测报告 inspection report, 准新车 nearly new), usage (家用 family car), isNewEnergy, hasWarranty, isLoanAvailable.
  • Vehicle: engine, displacementL, transmission, fuelType, driveType, aspiration, seats, color, bodyType, emissionStandard, acceleration0to100s, fuel consumption (fuelConsumptionWltc, fuelConsumptionNedc), the manufacturer's warrantyPolicy, and vinMasked (the VIN as che168 shows it, maker prefix and last four characters).
  • Electric and hybrid cars: batteryCapacityKwh, electricRangeKm, fastChargeHours, slowChargeHours, energyKwhPer100km, batteryType, batteryWarranty. These stay null on petrol cars.
  • Measures: price and newCarPrice in yuan with currency, discountPercent (how far below the new-car price the asking price sits), downPayment for financed cars, mileageKm, transferCount (previous owners transfers), followers (people following the listing), photoCount.
  • Place and time: city, cityId, province, provinceId, district, firstRegistrationDate, registrationYear, inspectionDue and insuranceDue (month the next safety inspection and the insurance are due), listedDate and listedAgo (when the listing went up), launchDate (when the model came on the market).
  • Media: imageUrl (cover), images (every photo of the listing, 22 per car on average in our test), videoUrl when the seller filmed the car.
  • Seller: dealerId, dealerBadge (such as 9年老店, a shop open for nine years), sellerType.
  • Meta: scrapedAt.

Prices come in yuan, not 万, and mileage in kilometres, not 万公里: a 12.5万 car with 14.3万 km reads "price": 125000, "mileageKm": 143000. Dates are YYYY-MM-DD; inspection and insurance due dates are YYYY-MM, the precision che168 gives. A value che168 does not show is null, never an empty text.

Output example

A complete row from our default run (the images list is cut to 3 of its 22 photos):

{
"id": 60330175,
"url": "https://www.che168.com/dealer/335626/60330175.html",
"title": "宝马X5进口 2018款 xDrive28i",
"brand": "宝马",
"brandId": 15,
"series": "宝马X5(进口)",
"seriesId": 159,
"specName": "2018款 xDrive28i",
"specId": 33307,
"modelYear": 2018,
"manufacturer": "宝马(进口)",
"description": "详情请电话咨询.[金融支持]门槛低,办理快,利率低。超长36.48.60 分期[业内专家]精品车源保证车辆无事故,无火烧,无泡水[专业服务]销售/评估/置换/收购/过户/鉴定/保险等一站式服务。[展厅地址]江苏省 苏州市高新区驰云路10号中泰华二手市场A-102 卡泰驰(苏州众实店)",
"tags": ["旗舰店", "已检测", "尊享延保", "性价比合理", "90天回购", "0次过户", "检测报告", "新上架"],
"usage": "家用",
"isNewEnergy": false,
"hasWarranty": false,
"isLoanAvailable": true,
"vinMasked": "MMF**********8741",
"engine": "2.0T",
"displacementL": 2,
"transmission": "自动",
"fuelType": "汽油",
"driveType": "前置四驱",
"aspiration": "涡轮增压",
"seats": 5,
"color": "黑色",
"bodyType": "中大型SUV",
"emissionStandard": "欧VI",
"acceleration0to100s": 7.5,
"fuelConsumptionWltc": null,
"fuelConsumptionNedc": 9,
"batteryCapacityKwh": null,
"electricRangeKm": null,
"fastChargeHours": null,
"slowChargeHours": null,
"energyKwhPer100km": null,
"batteryType": null,
"batteryWarranty": null,
"warrantyPolicy": "三年或10万公里",
"price": 125000,
"currency": "CNY",
"newCarPrice": 699900,
"discountPercent": 82.1,
"downPayment": 37500,
"mileageKm": 143000,
"transferCount": 0,
"followers": 1111,
"photoCount": 22,
"city": "苏州",
"cityId": 320500,
"province": "江苏",
"provinceId": 320000,
"district": "虎丘",
"firstRegistrationDate": "2018-01-01",
"registrationYear": 2018,
"inspectionDue": "2027-01",
"insuranceDue": "2027-01",
"listedDate": "2026-10-28",
"listedAgo": "昨天",
"launchDate": "2018-01-09",
"imageUrl": "https://2sc2.autoimg.cn/escimg/auto/g34/M05/14/26/640x480_c42_autohomecar__ChxpV2rZ65KAegJNAA8z8e7Yqyc455.jpg.webp",
"images": [
"https://2sc2.autoimg.cn/escimg/auto/g34/M05/14/26/1024x768_c42_autohomecar__ChxpV2rZ65KAegJNAA8z8e7Yqyc455.jpg.webp",
"https://2sc2.autoimg.cn/escimg/auto/g34/M04/10/55/1024x768_c42_autohomecar__ChtpWGrZ65OAfndPAA5ophBNQtg271.jpg.webp",
"https://2sc2.autoimg.cn/escimg/auto/g34/M01/14/2B/1024x768_c42_autohomecar__ChxpWGrZ65WAEKtLAAxDKv0KvHg574.jpg.webp"
],
"videoUrl": "https://2sc.autohome.com.cn/video/m.html?infoid=60330175&pvareaid=107991",
"dealerId": 335626,
"dealerBadge": "9年老店",
"sellerType": "dealer",
"scrapedAt": "2026-10-29T10:58:05Z"
}

Advanced usage

Five recipes for the jobs teams run on che168 data. Each JSON block runs as is.

Build a depreciation curve for one model

{
"searches": ["丰田凯美瑞"],
"sortBy": "age_asc",
"maxItems": 500
}

Read a few hundred Camry from the youngest to the oldest and plot price against registrationYear and mileageKm. newCarPrice and discountPercent give the loss against the new price on each row, so the curve holds trims of different prices together.

Get a daily feed of new listings in one city

{
"location": "shanghai",
"sortBy": "newest",
"maxItems": 200
}

With no model, the run reads every car of the place. Schedule it once a day in the Apify Console and keep the rows whose listedDate is today: the cars that went up in Shanghai since the last run, with their first asking price.

Source export stock by model, city and budget

{
"searches": ["丰田汉兰达", "本田CR-V", "日产奇骏"],
"location": "guangdong",
"minPrice": 80000,
"maxPrice": 160000,
"sortBy": "mileage_asc",
"maxItems": 300
}

Several models in one run, lowest mileage first, inside one province and one budget. transferCount, inspectionDue, insuranceDue, emissionStandard and the tags (0次过户, 检测报告) help sort the cars worth a call. dealerId groups the cars of each dealer.

Compare used electric cars by battery and range

{
"searches": ["比亚迪汉", "Tesla Model Y", "小鹏P7"],
"maxPrice": 250000,
"maxItems": 150
}

Every electric row carries batteryCapacityKwh, electricRangeKm, energyKwhPer100km, fastChargeHours, batteryType and batteryWarranty, so models of different brands sit in the same table for a price per kWh or a price per kilometre of range.

Refresh the cars you already track

{
"listingIds": ["60330175", "60347513", "60192079"],
"maxItems": 3
}

Run your list of IDs each week: the price, mileage and badges come back current, and a car sold since the last run is named in the log instead of returning a row. Join on id, which never changes.

FAQ

What is che168? che168.com (二手车之家) is the used-car marketplace of Autohome (汽车之家), one of China's largest car websites. Dealers and private sellers across every Chinese province list their cars there, with photos, prices and che168 inspection badges.

What does this scraper return for each car? One row with 67 fields: identity and trim, seller text and badges, engine, gearbox, fuel, drive, color, body, emission standard, performance and consumption, battery data for electric cars, asking price and new-car price in yuan, mileage in kilometres, first registration, inspection and insurance due dates, listing date, city, province and district, dealer, cover photo, every photo and the video page when there is one.

Do I need a che168 or Autohome account? No. The scraper reads the listings che168 shows to any visitor. No login, no account, no API key.

Can I search in English? Yes. Model and brand names in English or pinyin (golf, Tesla Model 3, baoma x5, BMW) work as well as Chinese ones. The log names the che168 model each search matched. Brand, model, color and city values in the rows stay in Chinese, as che168 writes them; the numeric IDs next to them (brandId, seriesId, cityId) are stable and easy to map.

How many cars can I get? As many as che168 lists for your searches, up to your maxItems. A popular model holds several hundred to a few thousand listings nationwide: 宝马X5 held 830 on the day of our test. Narrow by place or price to get exactly the cars you need.

Can I combine several searches, links and IDs? Yes. Put several models in searches, several links in startUrls and several IDs in listingIds. The place, price bounds and order apply to every model search. Listings asked by ID come first, and a car found by two entries is saved once.

How fresh is the data? Every run reads che168 live. Prices, badges and followers are those of the moment of the run, and scrapedAt records it.

Why does a car I asked for by ID not come back? It was sold or taken down. che168 removes sold cars, and the log lists the IDs that are no longer for sale. You only get rows for cars on sale.

Why is the VIN masked? che168 shows the VIN to visitors with the middle characters hidden. vinMasked keeps what it shows: the maker prefix (WBA, LBV, MMF) and the last four characters, enough to tell an imported car from a Chinese-built one and to match a car you already know.

Are the links permanent? The url of a listing stays the same while the car is for sale, and id never changes. Photo links point to che168's image servers: download the photos you want to keep once a car is sold.

Can I filter by mileage, age or gearbox? Sort by mileage_asc or age_asc to get the lowest mileage or the youngest cars first, then filter the rows on mileageKm, registrationYear or transmission in your spreadsheet or code. Price bounds are applied before the run reads the cars.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from che168.com. It does not bypass any login, paywall or CAPTCHA, and it reads only what che168 shows to every visitor. Users are responsible for complying with che168's terms of service and applicable data protection laws (GDPR, CCPA, and PIPL where relevant). Listings are published by dealers and private sellers; when a seller's text contains personal data such as a name or an address, handle it accordingly. The data returned is informational; verify it with the seller before any purchase.

Che168 Scraper by SilentFlow: China's used-car market, one clean row per car.