{
  "openapi": "3.0.1",
  "info": {
    "title": "Encar Cars Scraper (South Korea)",
    "description": "Scrapes used-car listings from Encar, South Korea's largest car marketplace. Each row carries price, mileage, model year, manufacturer, trust/inspection badges and photos, with optional accident history, full options and VIN.",
    "version": "0.1",
    "x-build-id": "gICfp1kFGq7FPzZLw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapyx~encar-cars-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapyx-encar-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/scrapyx~encar-cars-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapyx-encar-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/scrapyx~encar-cars-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapyx-encar-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": {
          "carType": {
            "title": "Car type",
            "enum": [
              "domestic",
              "import"
            ],
            "type": "string",
            "description": "Domestic (Korean-brand) or imported vehicles. These are separate inventories on Encar with different manufacturer lists — domestic holds ~150,900 listings (Hyundai, Kia, Genesis, Chevrolet/GM Daewoo, KG Mobility/Ssangyong...), imported holds ~66,400 (Mercedes-Benz, BMW, Audi, Porsche, Jeep, Land Rover...).",
            "default": "domestic"
          },
          "manufacturer": {
            "title": "Manufacturer",
            "type": "string",
            "description": "Brand name in Korean script exactly as Encar shows it, e.g. `현대` (Hyundai), `기아` (Kia), `제네시스` (Genesis), `BMW`, `벤츠` (Mercedes-Benz), `아우디` (Audi), `지프` (Jeep). Run once without this filter and read the `Manufacturer` field off the results to get the exact spelling for further queries. Leave empty for all manufacturers.\n\nAn unrecognised value is answered honestly with zero results rather than silently returning the unfiltered list, so a typo here costs nothing but an empty summary row.",
            "default": ""
          },
          "minPrice": {
            "title": "Minimum price (만원 / 10,000 KRW)",
            "minimum": 0,
            "type": "integer",
            "description": "Encar prices are in units of 10,000 KRW — e.g. `3000` means 30,000,000 KRW (~22,000 USD). Leave at 0 to skip.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum price (만원 / 10,000 KRW)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave at 0 to skip.",
            "default": 0
          },
          "minYear": {
            "title": "Minimum model year (YYYYMM)",
            "minimum": 0,
            "type": "integer",
            "description": "Encar encodes model year+month as YYYYMM, e.g. `202001` for January 2020. Leave at 0 to skip.",
            "default": 0
          },
          "maxYear": {
            "title": "Maximum model year (YYYYMM)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave at 0 to skip.",
            "default": 0
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "modified",
              "price-asc",
              "price-desc",
              "mileage-asc",
              "mileage-desc"
            ],
            "type": "string",
            "description": "Every option genuinely reorders results (verified by checking that the first row actually changes, not just that the request succeeds). Plain `Price` and `Year` sorts are NOT offered — the API rejects them outright with HTTP 400.",
            "default": "modified"
          },
          "queries": {
            "title": "Multiple queries (advanced)",
            "type": "array",
            "description": "Optional. Run several searches in one Actor call, each producing its own SEARCH_SUMMARY row. Each entry accepts the same fields as the top-level input (`carType`, `manufacturer`, `minPrice`, `maxPrice`, `minYear`, `maxYear`, `sort`, `maxItems`). When this is set, the top-level fields above are ignored.\n\nExample: `[{\"carType\": \"domestic\", \"manufacturer\": \"현대\"}, {\"carType\": \"import\", \"manufacturer\": \"BMW\"}]`",
            "default": []
          },
          "includeCarDetails": {
            "title": "Fetch full listing details",
            "type": "boolean",
            "description": "Fetch each listing's own page for fields the search results do not carry: accident/inspection/seizure history, the full options list, VIN, seller contact and dealer info, and the complete photo set.\n\nCosts **one extra request per listing**. De-listed cars answer 404 — those rows are still returned, with `detailFetched: false`.",
            "default": false
          },
          "maxItems": {
            "title": "Max listings per query",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many listings. This API cannot reliably page past roughly 10,000 results into a single query — narrow by manufacturer, price or year for searches larger than that, rather than raising this number.",
            "default": 100
          },
          "maxConcurrency": {
            "title": "Max concurrent requests",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Upper bound on requests in flight at once, across all queries and detail fetches.",
            "default": 5
          },
          "minRequestInterval": {
            "title": "Minimum seconds between requests",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Paces how often requests START, without tying up a concurrency slot. No rate limiting was observed, so this defaults to 0.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential by default. No bot challenge appeared on any of the 7 TLS fingerprints tested — even requests with no headers succeeded — but datacentre egress from a cloud platform is fingerprinted differently from a local test.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}