{
  "openapi": "3.0.1",
  "info": {
    "title": "Guazi Used Cars Scraper 瓜子二手车: Filtered China Export Listings",
    "description": "Scrape used-car export listings from Guazi (en.guazi.com), China's used-car marketplace, without hand-building search URLs. Filter by make, body type, price, mileage, year, fuel type, Guazi's own condition grade, and seller type. Export to JSON, CSV, or Sheets. From $3.90 per 1,000 listings.",
    "version": "0.1",
    "x-build-id": "KhWg85NV234YwtEHd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~guazi-used-cars-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-guazi-used-cars-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/getascraper~guazi-used-cars-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-guazi-used-cars-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/getascraper~guazi-used-cars-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-guazi-used-cars-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "makes": {
            "title": "Makes / Brands",
            "type": "array",
            "description": "Limit results to these makes. Each selected make is scraped as its own category page (e.g. /used-cars/bmw/). Leave empty to scrape the general Used Cars listing across all makes. The incumbent actor has no brand filter at all, you must hand-build the URL yourself.",
            "items": {
              "type": "string",
              "enum": [
                "volkswagen",
                "toyota",
                "bmw",
                "byd",
                "geely-auto",
                "audi",
                "mercedes-benz",
                "honda",
                "hyundai",
                "nissan",
                "chery",
                "jetour",
                "changan",
                "great-wall",
                "xiaomi-auto",
                "li-auto"
              ],
              "enumTitles": [
                "Volkswagen",
                "Toyota",
                "BMW",
                "BYD",
                "Geely Auto",
                "Audi",
                "Mercedes-Benz",
                "Honda",
                "Hyundai",
                "Nissan",
                "Chery",
                "Jetour",
                "Changan",
                "Great Wall",
                "Xiaomi Auto",
                "Li Auto"
              ]
            },
            "default": []
          },
          "bodyTypes": {
            "title": "Body Types",
            "type": "array",
            "description": "Limit results to these body types (e.g. /used-cars/suv/). Leave empty for all body types. The incumbent actor has no body type filter, only a raw start URL.",
            "items": {
              "type": "string",
              "enum": [
                "sedan",
                "suv",
                "mini-van",
                "hatchback",
                "wagon",
                "pick-up",
                "van",
                "truck"
              ],
              "enumTitles": [
                "Sedan",
                "SUV",
                "Mini Van",
                "Hatchback",
                "Wagon",
                "Pick up",
                "Van",
                "Truck"
              ]
            },
            "default": []
          },
          "tradeType": {
            "title": "Listing Type",
            "enum": [
              "all",
              "buyItNow",
              "sealedBid",
              "fleetCars"
            ],
            "type": "string",
            "description": "Buy It Now (fixed price), Sealed-Bid Auctions, or Fleet Cars. Applied by filtering the listing-type badge already shown on each result card, not by adding a query string to the URL (Guazi's robots.txt disallows query-string URLs). Default All matches the site's own default view.",
            "default": "all"
          },
          "startUrls": {
            "title": "Custom Start URLs (advanced)",
            "type": "array",
            "description": "Optional. Paste your own Guazi category, model, or collection page URLs (e.g. https://en.guazi.com/used-cars/toyota/rav4/) for anything the Makes/Body Types pickers above don't cover. When set, these are scraped in addition to any category built from Makes/Body Types. Leave empty to rely on the pickers above. Avoid pasting URLs containing a \"?\", Guazi's robots.txt disallows query-string URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "priceMinUsd": {
            "title": "Minimum FOB Price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep listings with an FOB export price at or above this amount in US dollars. Leave blank for no minimum. The incumbent actor has no price filter at all."
          },
          "priceMaxUsd": {
            "title": "Maximum FOB Price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep listings with an FOB export price at or below this amount in US dollars. Leave blank for no maximum."
          },
          "mileageMaxKm": {
            "title": "Maximum Mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep listings with an odometer reading at or below this many kilometers. Leave blank for no limit. The incumbent actor has no mileage filter."
          },
          "mfgYearFrom": {
            "title": "Manufacture Year From",
            "minimum": 1990,
            "maximum": 2026,
            "type": "integer",
            "description": "Only keep listings manufactured in this year or later. Leave blank for no lower bound. The incumbent actor has no year filter."
          },
          "mfgYearTo": {
            "title": "Manufacture Year To",
            "minimum": 1990,
            "maximum": 2026,
            "type": "integer",
            "description": "Only keep listings manufactured in this year or earlier. Leave blank for no upper bound."
          },
          "fuelTypes": {
            "title": "Fuel Types",
            "type": "array",
            "description": "Only keep listings with these fuel types. Useful for isolating EVs and hybrids, the incumbent actor extracts EV battery/range fields when present but gives you no way to filter to just electric or hybrid vehicles. Leave empty for all fuel types.",
            "items": {
              "type": "string",
              "enum": [
                "Gasoline",
                "Electric",
                "Range-extended",
                "Plug-in hybrid",
                "Hybrid"
              ],
              "enumTitles": [
                "Gasoline",
                "Electric (BEV)",
                "Range-extended (REEV)",
                "Plug-in Hybrid (PHEV)",
                "Hybrid (HEV)"
              ]
            },
            "default": []
          },
          "conditionGrades": {
            "title": "Guazi Condition Grades",
            "type": "array",
            "description": "Only keep listings with these Guazi inspection grades (S is best, D is lowest). This is Guazi's own condition rating shown on every listing. The incumbent actor has no condition/grade filter at all.",
            "items": {
              "type": "string",
              "enum": [
                "S",
                "A",
                "B",
                "C",
                "D"
              ],
              "enumTitles": [
                "S (Excellent)",
                "A (Very Good)",
                "B (Good)",
                "C (Fair)",
                "D (Basic)"
              ]
            },
            "default": []
          },
          "vehicleSource": {
            "title": "Seller Type",
            "type": "array",
            "description": "Only keep listings from these seller types. Matters for export buyers who want Certified Dealer or Guazi Owned stock only, and want to skip Individual Seller listings. Leave empty for all seller types. The incumbent actor has no seller-type filter.",
            "items": {
              "type": "string",
              "enum": [
                "Guazi Owned",
                "Certified Dealer",
                "Individual Seller"
              ],
              "enumTitles": [
                "Guazi Owned",
                "Certified Dealer",
                "Individual Seller"
              ]
            },
            "default": []
          },
          "maxItems": {
            "title": "Max Vehicles",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of vehicle listings to return in total, across all makes/body types/start URLs. Each category page is a single robots.txt-compliant fetch (Guazi's own pagination uses a disallowed query string, so only the first page per category is scraped); with roughly 20-30 listings per category page, add more makes or body types to collect more than one page's worth.",
            "default": 20
          },
          "fetchDetails": {
            "title": "Fetch Full Vehicle Details",
            "type": "boolean",
            "description": "When enabled, visits each vehicle's own product page for VIN (partial), full engine specification, dimensions, curb weight, drivetrain, inspection report flags (accident/water/fire damage), export port, and the complete photo gallery. This is the actor's biggest advantage over the incumbent, whose ~30 output fields appear to be listing-card level only, not this level of per-vehicle depth. Costs one extra page load per vehicle, so runs take longer and cost more when enabled.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Apify Proxy configuration used by the headless browser. Residential proxy is required, datacenter IPs are blocked by Guazi's bot defense and return zero results. Country is pinned to the US, a verified-working exit country, changing it may return listings with price and grade missing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}