Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Guazi API page →
Brand Stores and Specialty Retail

Guazi API & Scraper

Guazi API returns live Guazi data as clean JSON for guazi The primary endpoint, search, returns cars records including clue id, title, year, city and mileage km.

10 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

Developers reach for it when they need to read a retailer's own catalogue with full product detail, variants, price and stock without maintaining one-off scraping code or separate API contracts. If you were about to build or fix a Guazi scraper, this API is the maintained alternative — it returns the same data as clean JSON, with the proxies, rotation and anti-bot handling already solved. This page covers the live example, request shape, response shape and available actions: search, detail, brands, series. Every request uses the same ReefAPI envelope, one API key and one shared credit pool, so it fits alongside the rest of your data stack.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/guazi/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "city": "bj"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "guazi",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1804.4,
    "record_count": 40,
    "bytes": 167916,
    "cache_hit": false,
    "completeness_pct": 0.09,
    "stop_reason": "complete",
    "result_pool_total": 20439,
    "page": 1,
    "total_pages": 20,
    "max_page": 20,
    "rows_per_page": 40,
    "facet": {
      "city": "bj",
      "brand": null,
      "series": null,
      "price_band": null
    },
    "city_is_market": true,
    "total_results": 43258,
    "charged_credits": 1,
    "version": "1.0.0",
    "request_id": "6ecf22ed82684fee",
    "fetched_at": "2026-10-11T12:01:24.953Z"
  },
  "data": {
    "cars": [
      {
        "id": "c173380464124787",
        "clue_id": "173380464124787",
        "title": "捷达VS5 2024款 280TSI 手动悦享版",
        "year": 2025,
        "city": "北京",
        "mileage_km": 8400,
        "mileage_display": "0.84万公里",
        "price_cny": 46900,
        "price_display": "4.69万",
        "discount_cny": 30000,
        "new_car_price_cny": null,
        "inspected": true,
        "tags": [
          "已检测"
        ],
        "thumbnail": "https://image-public.guazistatic.com/qnbdp7206xd200bb4b38694e5683a948e9da4aa5311791545942.jpg?x-bce-process=image/quality,q_88/resize,m_fill,w_280,h_210",
        "url": "https://www.guazi.com/car-detail/c173380464124787.html"
      },
      {
        "id": "c173299333296403",
        "clue_id": "173299333296403",
        "title": "宝骏KiWi EV 2022款 设计师轻享版 磷酸铁锂",
        "year": 2022,
        "city": "北京",
        "mileage_km": 34800,
        "mileage_display": "3.48万公里",
        "price_cny": 34600,
        "price_display": "3.46万",
        "discount_cny": 26900,
        "new_car_price_cny": null,
        "inspected": true,
        "tags": [
          "已检测",
          "纯电动"
        ],
        "thumbnail": "https://image-public.guazistatic.com/qnbdp7206x9d129d3de8f5457fb37e4b9482096d721791354386.jpg?x-bce-process=image/quality,q_88/resize,m_fill,w_280,h_210",
        "url": "https://www.guazi.com/car-detail/c173299333296403.html"
      },
      {
        "id": "c169801598214978",
        "clue_id": "169801598214978",
        "title": "奔驰 Sprinter 2009款 增配版",
        "year": 2013,
        "city": "北京",
        "mileage_km": 99800,
        "mileage_display": "9.98万公里",
        "price_cny": 68400,
        "price_display": "6.84万",
        "discount_cny": 30000,
        "new_car_price_cny": null,
        "inspected": true,
        "tags": [
          "已检测"
        ],
        "thumbnail": "https://image-public.guazistatic.com/qnbdp7206xf8a3aef42a784d3892f6dcd6558cdee81786368350.jpg?x-bce-process=image/quality,q_88/resize,m_fill,w_280,h_210",
        "url": "https://www.guazi.com/car-detail/c169801598214978.html"
      }
    ],
    "query": {
      "city": "bj",
      "brand": null,
      "series": null,
      "price_band": null,
      "page": 1
    },
    "total_results": 43258,
    "result_pool_total": 20439,
    "total_pages": 20,
    "max_page": 20,
    "url": "https://www.guazi.com/bj/"
  }
}
Actions

What the Guazi API does

ActionDescriptionConcrete use caseKey params
searchSearch live guazi listings. `city` is the market (a guazi city slug like `bj`, `sh`, `sz` — or the Chinese city name), optionally narrowed by `brand` (e.g. `benz`, `bmw`, `byd`, `tesila`), `series` (e.g. `benz-e`, `bmw-5`, `model-3-60`) and `price_band` (`price0`…`price15`, the bands guazi itself publishes — see the `price_bands` action for their CNY ranges). 40 cars per page, pages 1–20 (guazi serves no page 21 for any facet, so one facet URL reaches at most 800 cars — narrow by brand/series/price_band to go deeper). ⚠️ `city` is a MARKET, not a location filter: guazi sells nationwide into each city, so rows legitimately carry other cities. Each row's own `city` is where that car physically is.Pricing and assortment teams call search to search live guazi listings.city, brand, series, price_band, page
detailEverything guazi publishes about one car by `id` (a `c…` listing id from `search` or `listing_ids`): price in CNY and the original new-car guide price, registration month, odometer, brand/series/trim, manufacturer, engine, gearbox, emission standard, drive layout, colour, body class, the city the car is actually in, whether the seller is a dealer (商家) or a private owner (个人), the ownership-transfer count and insurance-claim count, guazi's own inspection grade + whether an official 200-point report exists, and every listing photo grouped by category. ⚠️ `vin` is always null: guazi publishes no VIN or chassis number for any car. When guazi publishes only its short record for a listing, the response carries the core fields (price, mileage, registration, condition, city) without photos, seller type or colour, and says so: `field_set` is `core` instead of `full` and `partial_fields` is set.Brand-protection teams call detail to get everything guazi publishes about one car by `id` (a `c…` listing id from `search` or `listing….id
brandsEvery car brand guazi carries, with its guazi slug (`value`) for `search`'s `brand` filter, Chinese name and logo. Pass `letter` (A–Z, by the brand's pinyin initial) for one cheap page; omit it to sweep all 26 letters in one call. Read live, never from a hardcoded list.Retail analysts call brands to get every car brand guazi carries, with its guazi slug (`value`) for `search`'s `brand` filter, C….letter
seriesEvery series (车系) guazi lists for one brand, with the slug for `search`'s `series` filter — e.g. brand `benz` → 奔驰C级 `benz-c`, 奔驰E级 `benz-e`, …. Read live, so a newly listed series appears the day guazi lists it.Catalog enrichment teams call series to get every series (车系) guazi lists for one brand, with the slug for `search`'s `series` filter.brand, city
citiesAll 300+ cities guazi operates in, each with the slug `search`'s `city` takes, the Chinese name, the pinyin and guazi's own city id — plus which cities guazi itself marks as hot. Read live.Pricing and assortment teams call cities to get all 300+ cities guazi operates in, each with the slug `search`'s `city` takes, the Chinese na….none
price_bandsGuazi's 16 price bands with their real CNY ranges and the slug `search`'s `price_band` takes. Read live, so the ranges are guazi's current ones rather than a copy.Brand-protection teams call price_bands to get guazi's 16 price bands with their real CNY ranges and the slug `search`'s `price_band` takes.city
listing_idsBulk id feed: up to 10,000 live listing ids per page, each with the date guazi last updated it. 13 pages cover the whole live inventory (~127,000 cars). Built for backfills and change detection: pull ids here, then `detail` only the ones that changed.Retail analysts call listing_ids to get bulk id feed.page
export_searchSearch guazi's China used-car EXPORT & auction marketplace — a different inventory from `search`: ~180,000 cars listed for overseas buyers with English titles, FOB prices in US dollars, A–D condition grades, accident/water/fire damage flags, dealer-vs-private seller type and live auctions. ⚠️ On an auction row guazi publishes the CURRENT BID, not an asking price, so that number comes back as `current_bid_usd` with `price_usd` null and `price_kind` = `auction_bid` — a fixed-price row is the other way round. Narrow by `brand` (e.g. `audi`, `bmw`, `toyota`), `series` (e.g. `q8`, `x1`, `camry`) or `body_type` (sedan, suv, mini-van, hatchback, wagon, pick-up, van, truck). Returns the 20 cars guazi puts on that facet's first page plus the facet's own live total. ⚠️ Only 20 cars per facet are reachable: guazi serves no second page of this marketplace to anyone who is not running its JavaScript, so narrow by brand → series instead of paging. Use `export_brands` for the brand list and `export_detail` with a returned `id` for the full record.Catalog enrichment teams call export_search to search guazi's China used-car EXPORT & auction marketplace.brand, series, body_type
export_detailEverything guazi publishes about one car on its export marketplace: the masked VIN (first 3 + last 4 characters, which is what guazi itself shows), the A–D condition grade, explicit accident / water-damage / fire-damage flags, whether an official Guazi inspection report exists, the FOB price in USD with guazi's own CNY exchange rate, model year, manufacture and first-registration dates, odometer, engine, horsepower, gearbox, drive train, body style, seats, doors, colour, exterior dimensions, which side the steering wheel is on, the Chinese city the car is in, the full options/config sheet and every photo. Takes the `id` from `export_search` (a listing slug such as `audi-q8-2019-30l-blue-142800km-at-4wd-5-seats-lz3kf79f3f.html`); a full en.guazi.com product URL is accepted too.Pricing and assortment teams call export_detail to get everything guazi publishes about one car on its export marketplace.id
export_brandsEvery brand guazi carries on its export marketplace, with the slug `export_search`'s `brand` takes, the English name, guazi's brand id and the logo. Read live.Brand-protection teams call export_brands to get every brand guazi carries on its export marketplace, with the slug `export_search`'s `brand`….none
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/guazi/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"city":"bj"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.guazi.search with {"city":"bj"}.
Use cases

Who uses this API and why

  • Pricing and assortment teams use Guazi to search live guazi listings.
  • Brand-protection teams use Guazi to get everything guazi publishes about one car by `id` (a `c…` listing id from `search` or `listing….
  • Retail analysts use Guazi to get every car brand guazi carries, with its guazi slug (`value`) for `search`'s `brand` filter, C….
  • Catalog enrichment teams use Guazi to get every series (车系) guazi lists for one brand, with the slug for `search`'s `series` filter.
  • Pricing and assortment teams use Guazi to get all 300+ cities guazi operates in, each with the slug `search`'s `city` takes, the Chinese na….
FAQ

Questions developers ask before integrating

What is the Guazi API?

Guazi API is a ReefAPI endpoint group for guazi It returns live JSON through POST requests under /guazi/v1.

Is the Guazi API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Guazi calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Guazi login or account?

No login to Guazi is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Guazi data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Guazi API use?

Guazi actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Guazi from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call guazi actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Guazi API a Guazi scraper?

It is the managed alternative to a DIY Guazi scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same guazi back as clean JSON.

Why does my Guazi scraper keep getting blocked?

Most Guazi scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.

docs / guazi

Guazi

Guazi

base /guazi/v110 endpoints
post/guazi/v1/detail1 credit

Everything guazi publishes about one car by `id` (a `c…` listing id from `search` or `listing_ids`): price in CNY and the original new-car guide price, registration month, odometer, brand/series/trim, manufacturer, engine, gearbox, emission standard, drive layout, colour, body class, the city the car is actually in, whether the seller is a dealer (商家) or a private owner (个人), the ownership-transfer count and insurance-claim count, guazi's own inspection grade + whether an official 200-point report exists, and every listing photo grouped by category. ⚠️ `vin` is always null: guazi publishes no VIN or chassis number for any car. When guazi publishes only its short record for a listing, the response carries the core fields (price, mileage, registration, condition, city) without photos, seller type or colour, and says so: `field_set` is `core` instead of `full` and `partial_fields` is set.

ParameterAllowed / rangeDescription
idrequired—Guazi listing id — the `c…` token in a /car-detail/<id>.html URL, or a search row's `id`. The bare numeric form is also accepted.
Try in playground →
post/guazi/v1/brands1 credit

Every car brand guazi carries, with its guazi slug (`value`) for `search`'s `brand` filter, Chinese name and logo. Pass `letter` (A–Z, by the brand's pinyin initial) for one cheap page; omit it to sweep all 26 letters in one call. Read live, never from a hardcoded list.

ParameterAllowed / rangeDescription
letteroptional—Pinyin initial A–Z. Omit for all 26.
Try in playground →
post/guazi/v1/series1 credit

Every series (车系) guazi lists for one brand, with the slug for `search`'s `series` filter — e.g. brand `benz` → 奔驰C级 `benz-c`, 奔驰E级 `benz-e`, …. Read live, so a newly listed series appears the day guazi lists it.

ParameterAllowed / rangeDescription
brandrequired—Guazi brand slug, from the `brands` action.
city = bjoptional—City whose brand page to read (the series list is national; this only picks the page). Default `bj`.
Try in playground →
post/guazi/v1/cities1 credit

All 300+ cities guazi operates in, each with the slug `search`'s `city` takes, the Chinese name, the pinyin and guazi's own city id — plus which cities guazi itself marks as hot. Read live.

Try in playground →
post/guazi/v1/price_bands1 credit

Guazi's 16 price bands with their real CNY ranges and the slug `search`'s `price_band` takes. Read live, so the ranges are guazi's current ones rather than a copy.

ParameterAllowed / rangeDescription
city = bjoptional—City page to read the bands from. Default `bj`.
Try in playground →
post/guazi/v1/listing_ids1 credit

Bulk id feed: up to 10,000 live listing ids per page, each with the date guazi last updated it. 13 pages cover the whole live inventory (~127,000 cars). Built for backfills and change detection: pull ids here, then `detail` only the ones that changed.

ParameterAllowed / rangeDescription
page = 1optional1–13Page 1–13. ~10,000 ids each; the last page is shorter.
Try in playground →
post/guazi/v1/export_detail3 credits

Everything guazi publishes about one car on its export marketplace: the masked VIN (first 3 + last 4 characters, which is what guazi itself shows), the A–D condition grade, explicit accident / water-damage / fire-damage flags, whether an official Guazi inspection report exists, the FOB price in USD with guazi's own CNY exchange rate, model year, manufacture and first-registration dates, odometer, engine, horsepower, gearbox, drive train, body style, seats, doors, colour, exterior dimensions, which side the steering wheel is on, the Chinese city the car is in, the full options/config sheet and every photo. Takes the `id` from `export_search` (a listing slug such as `audi-q8-2019-30l-blue-142800km-at-4wd-5-seats-lz3kf79f3f.html`); a full en.guazi.com product URL is accepted too.

ParameterAllowed / rangeDescription
idrequired—A listing slug from `export_search`'s `id`, or the full product URL. The short item number alone (e.g. `lz3kf79f3f`) is NOT enough — guazi 404s it, the full slug is required.
Try in playground →
post/guazi/v1/export_brands2 credits

Every brand guazi carries on its export marketplace, with the slug `export_search`'s `brand` takes, the English name, guazi's brand id and the logo. Read live.

Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.