{
  "openapi": "3.0.1",
  "info": {
    "title": "Used Car Listings Scraper — US Cars For Sale",
    "description": "Search US used-car listings by make, model, year, price, mileage, and state via the official vehicles.dev API. One row per car with VIN, price, mileage, dealer, and location. No scraping, no proxies, no CAPTCHAs. Pay-per-result.",
    "version": "0.1",
    "x-build-id": "8i1YIEGZIkjwjCRdg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/prodiger~used-car-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-prodiger-used-car-listings-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/prodiger~used-car-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-prodiger-used-car-listings-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/prodiger~used-car-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-prodiger-used-car-listings-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": {
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Vehicle make, e.g. `Toyota`. Case-sensitive (Title-Case). Leave empty for any."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Vehicle model, e.g. `Camry`. Case-sensitive. Leave empty for any."
          },
          "yearMin": {
            "title": "Min year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest model year to include."
          },
          "yearMax": {
            "title": "Max year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest model year to include."
          },
          "priceMin": {
            "title": "Min price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest listing price to include."
          },
          "priceMax": {
            "title": "Max price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest listing price to include."
          },
          "mileageMax": {
            "title": "Max mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Highest odometer reading to include."
          },
          "state": {
            "title": "State",
            "type": "string",
            "description": "2-letter US state code, e.g. `TX`. Leave empty for all states."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "used",
              "new",
              "cpo"
            ],
            "type": "string",
            "description": "Filter by listing condition.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealer",
              "auction"
            ],
            "type": "string",
            "description": "Filter by seller type.",
            "default": "any"
          },
          "source": {
            "title": "Source",
            "enum": [
              "any",
              "autolist",
              "jsonld_site",
              "truecar",
              "iseecars"
            ],
            "type": "string",
            "description": "Restrict to one upstream listing source.",
            "default": "any"
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "price",
              "miles",
              "year",
              "days_on_market"
            ],
            "type": "string",
            "description": "Result ordering field.",
            "default": "price"
          },
          "order": {
            "title": "Sort order",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string",
            "description": "Ascending or descending order for the selected sort field.",
            "default": "asc"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of listings to save. `0` = unlimited (the actor pages through all matching listings). With multiple `searches`, this budget is shared across them.",
            "default": 100
          },
          "active": {
            "title": "Active listings only",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Whether to require currently-active listings.",
            "default": "any"
          },
          "sold": {
            "title": "Sold listings",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Whether to include (or restrict to) sold listings.",
            "default": "any"
          },
          "validVin": {
            "title": "Valid VIN only",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Whether to require a validated VIN.",
            "default": "any"
          },
          "minQuality": {
            "title": "Min data quality (0–1)",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Only include listings whose `data_quality` is at least this value (0–1)."
          },
          "searches": {
            "title": "Batch searches",
            "type": "array",
            "description": "Run several filtered searches in one run. Each entry is an object using the same filter keys (`make`, `model`, `state`, …) and inherits the top-level filters as defaults. `maxItems` is shared across all searches; results are deduplicated by VIN. Example: `[{ \"make\": \"Toyota\", \"model\": \"Camry\" }, { \"make\": \"Honda\", \"model\": \"Civic\" }]`."
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many searches to run in parallel. The vehicles.dev rate limit is per-account, so keep this at 5 on the free tier (higher on Pro/Scale).",
            "default": 5
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Retry budget per API request for rate limits (429) and transient 5xx errors.",
            "default": 4
          },
          "apiKey": {
            "title": "vehicles.dev API key (optional — bring your own)",
            "type": "string",
            "description": "Optional. The actor is preconfigured, so you can leave this blank. Supply your own vehicles.dev key (prefixed `vdev_`) to run against your own quota. Get one free at https://vehicles.dev."
          },
          "customMapFunction": {
            "title": "Custom map function",
            "type": "string",
            "description": "Optional JavaScript function body that transforms each listing before it is saved. Receives the item as `item` and must return the modified item. Example: `return { vin: item.vin, price: item.price, url: item.vdp_url };`"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. vehicles.dev is an official API (no anti-bot) with a per-account rate limit, so a proxy does not raise throughput. Off by default.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}