{
  "openapi": "3.0.1",
  "info": {
    "title": "Autoscout24 $0.8💰 Powerful Filters + Deep Search",
    "description": "From $0.8/1K. A lean, production-grade scraper for autoscout24.com. Point it at a search, get back clean JSON with 30+ fields per vehicle. Designed for dealers, market analysts, valuation pipelines, lead generation, and anyone who needs autoscout24 data on tap.",
    "version": "1.1",
    "x-build-id": "4ljLOJA2VbHf0uYcg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~autoscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-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/abotapi~autoscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-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/abotapi~autoscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Search mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "Choose how to find listings. Only fields belonging to the chosen mode are used.",
            "default": "search"
          },
          "urls": {
            "title": "URLs (URL mode only)",
            "type": "array",
            "description": "AutoScout24 search URLs to scrape. Each URL auto-paginates forward until Maximum Pages or Maximum Listings. Ignored in Search mode. Example: https://www.autoscout24.com/lst/bmw/x5?fregfrom=2020",
            "items": {
              "type": "string"
            }
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Manufacturer slug as it appears in the URL, e.g. bmw, audi, mercedes-benz, volkswagen, porsche. Leave empty for all makes. (Search mode only — ignored in URL mode.)"
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Model slug as it appears in the URL, e.g. x5, a4, c-klasse, golf, 911. Requires a Make. (Search mode only — ignored in URL mode.)"
          },
          "countries": {
            "title": "Countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Listing country (multi-select). Default = all 8 supported countries. (Search mode only — ignored in URL mode.)",
            "items": {
              "type": "string",
              "enum": [
                "D",
                "A",
                "B",
                "E",
                "F",
                "I",
                "L",
                "NL"
              ],
              "enumTitles": [
                "Germany",
                "Austria",
                "Belgium",
                "Spain",
                "France",
                "Italy",
                "Luxembourg",
                "Netherlands"
              ]
            },
            "default": []
          },
          "ustate": {
            "title": "Vehicle state",
            "enum": [
              "both",
              "new",
              "used"
            ],
            "type": "string",
            "description": "New / Used / Both. (Search mode only — ignored in URL mode.)",
            "default": "both"
          },
          "bodyType": {
            "title": "Body type",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "12",
              "13"
            ],
            "type": "string",
            "description": "Body shape. Codes verified against autoscout24's own taxonomy. (Search mode only — ignored in URL mode.)",
            "default": ""
          },
          "fuelTypes": {
            "title": "Fuel type(s)",
            "uniqueItems": true,
            "type": "array",
            "description": "AutoScout24 fuel codes (multi-select). Verified by single-fuel probe: B = Gasoline, D = Diesel, E = Electric, 2 = Hybrid Electric/Gasoline, 3 = Hybrid Electric/Diesel, L = LPG, C = CNG, M = Ethanol (E85), H = Hydrogen, O = Other. Leave empty for any fuel. (Search mode only — ignored in URL mode.)",
            "items": {
              "type": "string",
              "enum": [
                "B",
                "D",
                "E",
                "2",
                "3",
                "L",
                "C",
                "M",
                "H",
                "O"
              ],
              "enumTitles": [
                "Gasoline (Petrol)",
                "Diesel",
                "Electric",
                "Hybrid (Electric/Gasoline)",
                "Hybrid (Electric/Diesel)",
                "LPG",
                "CNG",
                "Ethanol (E85)",
                "Hydrogen",
                "Other"
              ]
            },
            "default": []
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "",
              "A",
              "M",
              "S"
            ],
            "type": "string",
            "description": "Gearbox type. (Search mode only — ignored in URL mode.)",
            "default": ""
          },
          "priceMin": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound for price. (Search mode only — ignored in URL mode.)"
          },
          "priceMax": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound for price. (Search mode only — ignored in URL mode.)"
          },
          "yearMin": {
            "title": "Minimum first registration year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Oldest first-registration year. (Search mode only — ignored in URL mode.)"
          },
          "yearMax": {
            "title": "Maximum first registration year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Newest first-registration year. (Search mode only — ignored in URL mode.)"
          },
          "kmMin": {
            "title": "Minimum mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound for mileage. (Search mode only — ignored in URL mode.)"
          },
          "kmMax": {
            "title": "Maximum mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound for mileage. (Search mode only — ignored in URL mode.)"
          },
          "powerMinKw": {
            "title": "Minimum power (kW)",
            "minimum": 0,
            "type": "integer",
            "description": "Lower bound for engine power in kW. (1 hp ≈ 0.735 kW) (Search mode only — ignored in URL mode.)"
          },
          "powerMaxKw": {
            "title": "Maximum power (kW)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound for engine power in kW. (Search mode only — ignored in URL mode.)"
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "standard",
              "price",
              "price_desc",
              "age",
              "age_desc",
              "mileage",
              "mileage_desc",
              "year",
              "year_desc"
            ],
            "type": "string",
            "description": "Sort order. AutoScout24 also offers default 'standard' (relevance). (Search mode only — in URL mode the sort comes from the URL itself.)",
            "default": "standard"
          },
          "fetchDetails": {
            "title": "Fetch full details",
            "type": "boolean",
            "description": "Fetch each listing's detail page for ~100 extra fields (full equipment list, fuel consumption, body color, paint type, electric range, drivetrain, dealer description, coordinates, WhatsApp, listing creation timestamp). Adds ~1 HTTP request per listing.",
            "default": false
          },
          "fetchDealerInfo": {
            "title": "Fetch dealer email, VAT, address (from imprint)",
            "type": "boolean",
            "description": "Fetch each unique dealer's legal Imprint page to extract email, VAT ID, registered address, homepage URL, and opening hours. The fetch is cached per dealer so a 1000-listing run from 50 dealers only costs ~50 extra requests. Requires `Fetch full details` to be on (the imprint URL comes from the detail page).",
            "default": false
          },
          "maxListings": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after scraping this many listings across the whole run.",
            "default": 20
          },
          "maxPages": {
            "title": "Maximum pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "Safety bound on how many result pages to walk per search or URL (~20 listings per page). 0 (default) means unlimited: the walk stops naturally once a page comes back empty, once it starts repeating listings already seen this walk (the site's own clamp signature), or sooner once Maximum listings is reached. Set a number only for an explicit page cap below that natural stop.",
            "default": 0
          },
          "resumeFromRunId": {
            "title": "Resume from a previous run",
            "type": "string",
            "description": "Paste a previous run ID or dataset ID to continue a large crawl of listings without returning or charging for listings already collected there. Use this after an interrupted run, or when continuing a walk-all pull in another run. For recurring monitoring of the same search, use Incremental mode below instead."
          },
          "incrementalMode": {
            "title": "Incremental changes for scheduled runs",
            "type": "boolean",
            "description": "Turn this on for daily or recurring monitoring. The first run returns all matching listings as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED listings. Turn on \"Emit unchanged\" or \"Emit expired\" only when you also want those listings returned (and billed). State is kept separately for each search/filter/URL and detail-mode setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.",
            "default": false
          },
          "stateKey": {
            "title": "State key (optional, incremental mode only)",
            "type": "string",
            "description": "Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the search/filter/URL and detail settings — different searches then never mix state with each other."
          },
          "emitUnchanged": {
            "title": "Emit unchanged listings (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns — and bills — extra rows you already have, so leave it off unless you specifically want the full snapshot every run.",
            "default": false
          },
          "emitExpired": {
            "title": "Emit expired listings (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search — not when Maximum listings/pages capped it or when Resume was used. This returns — and bills — extra synthetic rows, so leave it off unless you need expiry tracking.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy configuration. The default works on every Apify plan, including the free tier. Change it only if you need a specific country or are running very large jobs."
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
          },
          "notionParentPageUrl": {
            "title": "Notion parent page (Notion connector only)",
            "type": "string",
            "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
          },
          "maxNotifyListings": {
            "title": "Max items to export per connector",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on items written to each connector per run. Does not affect the dataset.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}