{
  "openapi": "3.0.1",
  "info": {
    "title": "AutoScout24 Scraper — Europe Used Car Listings, Prices & Specs",
    "description": "Scrape AutoScout24 used-car listings across DE, AT, IT, ES, FR, BE, NL, LU. Extract prices, mileage, fuel, transmission, price rating, dealer phones, GPS, equipment, and images. Search by make/model or URL; monitor new ads. JSON/CSV export.",
    "version": "0.1",
    "x-build-id": "efIjtC1fo7LmsrnMy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawloop~autoscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawloop-autoscout24-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/crawloop~autoscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawloop-autoscout24-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/crawloop~autoscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawloop-autoscout24-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": {
          "startUrls": {
            "title": "Start URLs (search, listing, or dealer pages)",
            "type": "array",
            "description": "Paste AutoScout24 search result URLs, individual offer URLs, or dealer inventory pages from any supported market (.com, .de, .at, .it, .es, .fr, .be, .nl, .lu). Search filters in the URL are applied automatically.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "make": {
            "title": "Make / brand (BMW, Mercedes-Benz, VW, …)",
            "type": "string",
            "description": "Vehicle brand. Used when Start URLs are empty. Examples: BMW, Volkswagen, Mercedes-Benz, Audi."
          },
          "model": {
            "title": "Model (3-series, Golf, A4, …)",
            "type": "string",
            "description": "Model slug or name used with Make. On .com use 3-series-(all); on .de you can paste a native search URL instead."
          },
          "countries": {
            "title": "Markets",
            "type": "array",
            "description": "AutoScout24 country markets to search when building a URL from filters. COM = pan-European .com bundle.",
            "items": {
              "type": "string",
              "enum": [
                "D",
                "A",
                "I",
                "E",
                "F",
                "B",
                "NL",
                "L",
                "COM"
              ],
              "enumTitles": [
                "Germany",
                "Austria",
                "Italy",
                "Spain",
                "France",
                "Belgium",
                "Netherlands",
                "Luxembourg",
                "Europe (.com bundle)"
              ]
            },
            "default": [
              "D"
            ]
          },
          "vehicleType": {
            "title": "Vehicle type",
            "enum": [
              "car",
              "motorbike",
              "motorhome"
            ],
            "type": "string",
            "description": "Article type on AutoScout24 search.",
            "default": "car"
          },
          "minPrice": {
            "title": "Minimum price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Filter by minimum listing price in euros."
          },
          "maxPrice": {
            "title": "Maximum price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Filter by maximum listing price in euros."
          },
          "minYear": {
            "title": "Min first registration year",
            "minimum": 1950,
            "type": "integer",
            "description": "Earliest first-registration year, e.g. 2018."
          },
          "maxYear": {
            "title": "Max first registration year",
            "minimum": 1950,
            "type": "integer",
            "description": "Latest first-registration year, e.g. 2024."
          },
          "maxMileage": {
            "title": "Max mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum vehicle mileage in kilometers."
          },
          "fuelType": {
            "title": "Fuel type",
            "enum": [
              "all",
              "gasoline",
              "diesel",
              "electric",
              "hybrid",
              "lpg",
              "cng"
            ],
            "type": "string",
            "description": "Filter by fuel type.",
            "default": "all"
          },
          "transmission": {
            "title": "Transmission / gearbox",
            "enum": [
              "all",
              "automatic",
              "manual",
              "semiautomatic"
            ],
            "type": "string",
            "description": "Filter by gearbox.",
            "default": "all"
          },
          "bodyType": {
            "title": "Body type",
            "enum": [
              "all",
              "sedan",
              "compact",
              "coupe",
              "convertible",
              "stationwagon",
              "suv",
              "van",
              "transporter",
              "offroad",
              "pickup"
            ],
            "type": "string",
            "description": "Filter by body style.",
            "default": "all"
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "all",
              "used",
              "new",
              "demonstration",
              "preregistered",
              "employee",
              "classic"
            ],
            "type": "string",
            "description": "New, used, or other AutoScout24 usage states.",
            "default": "all"
          },
          "sortBy": {
            "title": "Sort results",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "newest",
              "mileage_asc"
            ],
            "type": "string",
            "description": "Sort order for search results.",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 1,
            "maximum": 4000,
            "type": "integer",
            "description": "Maximum number of vehicle listings to collect per run. AutoScout24 caps a single search at 200 pages (~4,000 ads); narrow filters to go deeper.",
            "default": 100
          },
          "scrapeDetails": {
            "title": "Scrape full listing details",
            "type": "boolean",
            "description": "Fetch each offer page for equipment, description, net price & VAT, GPS, and high-res images. Disable for faster search-card output.",
            "default": true
          },
          "monitorMode": {
            "title": "Monitor mode (new + price changes only)",
            "type": "boolean",
            "description": "Delta tracking via Key-Value store. First run seeds a baseline (no dataset rows). Later runs emit only new listings or price changes. Stops early after several already-known ads.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max concurrent detail requests",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "How many offer pages to fetch in parallel. Higher is faster; keep moderate to reduce blocks.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy. RESIDENTIAL with a matching EU country (DE by default) is recommended — AutoScout24 uses Akamai and often blocks datacenter IPs.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "DE"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}