Com APIautohome.com.cn ↗
Search 汽车之家 (autohome.com.cn) for cars by brand, series, or criteria. Get series names, prices, specs, and dealer pricing in structured JSON.
What is the Com API?
The Autohome API exposes one endpoint — search_cars — that queries the 汽车之家 catalog and returns up to a dozen response fields per matching series, including series name, brand, energy type, displacement, power, dealer minimum price, and guide price. A single call resolves brand queries like 宝马, series queries like 宝马X5, or natural-language criteria like 20万SUV into structured car data with trim-level pricing details.
curl -X GET 'https://api.parse.bot/scraper/07fefef5-8acd-4966-b49a-dbaa279de848/search_cars?query=%E5%AE%9D%E9%A9%AC' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace autohome-com-cn-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Autohome car search — find series by brand or criteria."""
from parse_apis.autohome_com_cn_api import Autohome, ParseError
client = Autohome()
# Search for a brand and inspect matched series summaries.
try:
result = client.car_searches.search(query="宝马")
except ParseError as e:
print(f"Search failed: {e.code}")
raise
print(f"Query: {result.query} Total series: {result.total_series_count}")
if result.matched_brand is not None:
print(f"Matched brand: {result.matched_brand.brand_name} (id={result.matched_brand.brand_id})")
for series in result.series[:5]:
print(f" {series.series_name} — {series.level}, {series.power}, "
f"dealer {series.dealer_min_price}–{series.dealer_max_price} CNY")
# Show related queries suggested by the site.
for rq in result.related_queries:
print(f" Related: {rq}")
# When a query resolves to one exact series, matched_series carries trim specs.
if result.matched_series is not None:
ms = result.matched_series
print(f"Exact match: {ms.series_name} ({ms.level})")
for spec in ms.specs[:3]:
print(f" Spec: {spec.spec_name} guide={spec.guide_price} local_min={spec.local_min_price}")
print("exercised: car_searches.search")
Runs the site's car search for a free-text query (a brand such as 宝马, a series such as 宝马X5, or criteria such as 20万SUV) and returns matching car series in one request. `series` always lists the matching series: when the query resolves to a brand or to selection criteria it holds the site's top matches (the site shows at most 15 in this view) and `total_series_count` is the site's total count; when the query resolves to one exact series, `series` holds that single series and `matched_series` additionally carries its details and trim (spec) list, otherwise `matched_series` is null. Prices are in CNY yuan; dealer prices are local to `city_id` and null when no local quote exists; `energy` and `sale_rank` may be null. A query the site cannot map to any car returns an empty `series` with `total_series_count` 0. No pagination is available for this view.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Free-text car search term as a user would type it in the site's search box (brand, series, or criteria). |
| city_id | string | Autohome numeric city id used for local dealer prices (110100 = 北京, 310100 = 上海). |
{
"type": "object",
"fields": {
"query": "echoed search term",
"series": "array of series summaries: series_id, series_name, brand_id, brand_name, level, energy, displacement, power, dealer_min_price, dealer_max_price, price_reduction, sale_rank, sale_desc, sale_state, logo, url",
"matched_brand": "object {brand_id, brand_name} when the query resolved to a brand, else null",
"matched_series": "object with series details and `specs` (trim list: spec_id, spec_name, guide_price, local_min_price, owner_avg_price, engine_power, url) when the query resolved to one exact series, else null",
"related_queries": "array of related search terms suggested by the site",
"total_series_count": "integer, site's total number of matching series"
},
"sample": {
"data": {
"query": "宝马",
"series": [
{
"url": "https://www.autohome.com.cn/66/",
"logo": "https://car2.autoimg.cn/cardfs/series/g32/M03/EE/48/autohomecar__Chtk2Wc-0A2AGKUSAAfb3s50zos139.png",
"level": "中型车",
"power": "245Ps",
"energy": "汽油",
"brand_id": 15,
"sale_desc": "中型车销量NO.6",
"sale_rank": 6,
"series_id": 66,
"brand_name": "宝马",
"sale_state": "在售",
"series_name": "宝马3系",
"displacement": "2.0T",
"price_reduction": 50000,
"dealer_max_price": 265000,
"dealer_min_price": 208000
}
],
"matched_brand": {
"brand_id": 15,
"brand_name": "宝马"
},
"matched_series": null,
"related_queries": [
"新能源",
"宝马7系",
"530领先"
],
"total_series_count": 120
},
"status": "success"
}
}About the Com API
What the API Returns
The search_cars endpoint accepts a query string — anything a user would type into the site's search box — and returns a structured result with four main objects. The series array contains one entry per matching car series, each with series_id, series_name, brand_id, brand_name, level, energy, displacement, power, and dealer_min_price. The matched_brand object is populated when the query resolves to a specific brand, and matched_series is populated when it resolves to a single series, including a specs array with individual trim lines carrying spec_id, spec_name, guide_price, local_min_price, owner_avg_price, and engine_power. The total_series_count integer reflects how many series the site found in total.
City-Level Pricing
The optional city_id parameter accepts an Autohome numeric city code — for example 110100 for 北京 or 310100 for 上海 — and adjusts the dealer pricing fields in the response to reflect local market prices. Without a city_id, pricing reflects national defaults. This is useful when building tools that need to surface regional dealer quotes rather than manufacturer guide prices.
Related Queries and Coverage
The response also includes a related_queries array of suggested search terms returned by the site, which is useful for building autocomplete flows or surfacing adjacent models to users. The matched_series.specs trim list gives the most granular pricing data available from this endpoint, including owner_avg_price — a figure derived from actual owner transaction reports — alongside the official guide_price.
The Com API is a managed, monitored endpoint for autohome.com.cn — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when autohome.com.cn changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official autohome.com.cn API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a car comparison tool that queries multiple brand names and aggregates dealer_min_price across series
- Power a Chinese-market vehicle search widget using natural-language criteria like 20万以内SUV
- Display city-specific dealer pricing by passing city_id for 北京 or 上海 to the search_cars endpoint
- Generate trim-level price breakdowns using the specs array with guide_price and owner_avg_price fields
- Populate autocomplete suggestions for a car-shopping app using the related_queries array
- Monitor price changes on specific series by periodically calling search_cars with a series name query
- Classify vehicles by energy type and displacement for market research using the energy and displacement fields
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.