Com APIjiage.autohome.com.cn ↗
Access owner-reported car purchase prices and trim specs from jiage.autohome.com.cn. Filter by spec, city, and page to retrieve real transaction data.
What is the Com API?
This API exposes 2 endpoints for retrieving owner-reported vehicle prices and trim-level specifications from jiage.autohome.com.cn (汽车之家价格). The get_price_list endpoint returns up to 10 purchase records per page — including naked price, full price, MSRP, location, and purchase date — for a given spec ID. The get_spec_list endpoint returns all trims for a series grouped by model year, with the spec IDs needed to query prices.
curl -X GET 'https://api.parse.bot/scraper/afeac0a0-7928-4c84-a531-d368a6734bfa/get_price_list?page=1&spec_id=72242&max_pages=1&user_city=310100&city_filter=0' \ -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 jiage-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 Owner Price API — browse specs, fetch owner prices."""
from parse_apis.autohome_car_owner_price_api import Autohome, SpecNotFound
client = Autohome()
# List available spec groups (year/trim) for Sagitar (series 442).
for group in client.specgroups.list(series_id="442", limit=3):
print(group.name, f"({len(group.items)} trims)")
# Drill into the first trim of the first year group.
first_group = client.specgroups.list(series_id="442", limit=1).first()
if first_group:
spec = first_group.items[0]
print(spec.name, "MSRP:", spec.max_price_display)
# Fetch owner-reported prices for that spec, nationwide.
for entry in spec.prices.list(city_filter="0", limit=3):
print(entry.post_date, entry.location, entry.payment_method, entry.msrp)
# Typed error handling: catch SpecNotFound on a bad spec ID.
bad_spec = client.specitem(id="9999999")
try:
for _ in bad_spec.prices.list(limit=1):
pass
except SpecNotFound as exc:
print(f"spec not found: {exc.spec_id}")
print("exercised: specgroups.list / spec.prices.list / SpecNotFound catch")
Get car owner price listings for a specific car spec/trim. Returns purchase details including user info, dates, location, and price data. Price values may be partially decoded due to site-side obfuscation techniques. Paginates at 10 entries per page; use page to advance. Each entry represents one owner's reported purchase price breakdown.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based). Each page contains up to 10 entries. |
| spec_id | string | Car spec ID identifying the trim/configuration. Use get_spec_list to find available IDs for a series. |
| max_pages | integer | Number of consecutive pages to fetch in a single request (10 entries per page). |
| user_city | string | User city code for regional display context (e.g. 310100 for Shanghai). |
| city_filter | string | City code filter. 0 for nationwide results, or a specific city code such as 310100 for Shanghai, 320500 for Suzhou. |
{
"type": "object",
"fields": {
"page": "integer - starting page number",
"entries": "array of price entry objects with user_name, post_date, car_name, bought_time, location, naked_price, full_price, msrp, vehicle_tax, purchase_tax, compulsory_insurance, commercial_insurance, registration_fee, payment_method, helpful_count, price_id",
"spec_id": "string - the spec ID queried",
"city_filter": "string - city filter applied",
"total_count": "integer - total number of entries available",
"total_pages": "integer - total pages available",
"pages_fetched": "integer - number of pages actually fetched"
},
"sample": {
"data": {
"page": 1,
"entries": [
{
"msrp": "14.99",
"car_name": "2026款 3000万辆甄选款 300TSI DSG 飞越版",
"location": "四川,泸州",
"price_id": "43091024",
"post_date": "2026-01-21",
"user_name": "之家车友0161702",
"full_price": "万",
"bought_time": "2026年01月19日",
"naked_price": "5404",
"vehicle_tax": "1111",
"purchase_tax": "86.73",
"helpful_count": "0",
"payment_method": "全款",
"registration_fee": "",
"commercial_insurance": ",8",
"compulsory_insurance": "9"
}
],
"spec_id": "75178",
"city_filter": "0",
"total_count": 10,
"total_pages": 1,
"pages_fetched": 1
},
"status": "success"
}
}About the Com API
Endpoints Overview
The API has two endpoints. get_spec_list accepts a series_id (e.g. 442 for Sagitar/速腾) and returns an array of year-group objects. Each group contains a model year name (e.g. 2026款) and a specitems array of individual trims, each carrying a spec ID, trim name, sale state, and MSRP. These spec IDs are the primary input for the price endpoint.
Owner-Reported Price Data
get_price_list accepts a spec_id, a page number (1-based, 10 entries per page), a city_filter (use 0 for nationwide or a city code such as 310100 for Shanghai), and an optional user_city for regional display context. Each entry in the entries array includes user_name, post_date, bought_time, location, naked_price (裸车价), full_price (落地价), msrp, and car_name. The response also includes total_count and total_pages for pagination planning. Set max_pages to batch multiple consecutive pages in a single request.
Data Quirks
Price values (naked_price, full_price) may be partially decoded due to font-level obfuscation applied by autohome.com.cn on the source pages. This is a known limitation of this data source: some numeric characters in prices may render as placeholders or approximate values. Treat these fields accordingly, especially when precision matters. The msrp field is typically unobfuscated and reliable for reference pricing.
Coverage Scope
Data reflects listings on jiage.autohome.com.cn, which covers Chinese domestic market vehicles. Series and spec IDs follow Autohome's internal taxonomy — use get_spec_list to discover valid IDs for a given model line rather than guessing them.
The Com API is a managed, monitored endpoint for jiage.autohome.com.cn — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jiage.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 jiage.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?+
- Track how much buyers in Shanghai actually paid for a specific VW Sagitar trim versus the official MSRP
- Build a transaction price database indexed by spec ID for multiple Chinese car models
- Compare naked price (裸车价) vs full landed price (落地价) across different cities using city_filter
- Identify which trim levels within a series have the most owner-reported price submissions via total_count
- Monitor MSRP changes across model years by iterating get_spec_list for a given series_id
- Aggregate regional price variation by querying get_price_list with different city codes for the same spec
- Populate a vehicle comparison tool with real buyer-reported prices alongside manufacturer list prices
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.