{
  "openapi": "3.0.1",
  "info": {
    "title": "AutoScout24 Used Car Prices by Model — Median & Range",
    "description": "Type a make/model and get what that car is asked for on AutoScout24, counted across the whole stock, not one page. Returns cars listed, median asking price, the middle 50% range and, from a 20-car sample, the dealer vs private split. $0.02 per make/model; no results = no charge. Unofficial.",
    "version": "0.1",
    "x-build-id": "9B1tNnb2gDZOXJLDc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpmarketdata~autoscout24-price-market-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpmarketdata-autoscout24-price-market-checker",
        "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/jpmarketdata~autoscout24-price-market-checker/runs": {
      "post": {
        "operationId": "runs-sync-jpmarketdata-autoscout24-price-market-checker",
        "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/jpmarketdata~autoscout24-price-market-checker/run-sync": {
      "post": {
        "operationId": "run-sync-jpmarketdata-autoscout24-price-market-checker",
        "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": [
          "models"
        ],
        "properties": {
          "models": {
            "title": "Makes / models",
            "type": "array",
            "description": "One or more 'make' or 'make/model' slugs as they appear in an AutoScout24 URL, e.g. 'bmw/3er' from https://www.autoscout24.de/lst/bmw/3er. A full search URL works too. Make-only ('bmw') returns the whole make's population. Each entry costs $0.02. Note: AutoScout24 has no make-less search — its robots.txt disallows it — so a make is always required.",
            "default": [
              "bmw/3er"
            ],
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country front-end",
            "enum": [
              "de",
              "at",
              "fr",
              "it",
              "es",
              "nl",
              "lu",
              "be",
              "com"
            ],
            "type": "string",
            "description": "Which AutoScout24 country site to measure. The stock and the price distribution are that country's market, and prices are always in that domain's currency (all nine are EUR). Model slugs are localised: 'bmw/3er' on de/at, 'bmw/serie-3' on fr/lu, 'bmw/3-series' on it/es/nl/be/com — the Actor follows the site's own redirect, so any of them works, but it tells you when a slug resolves to something different than you asked for.",
            "default": "de"
          },
          "ladderSteps": {
            "title": "Price ladder rungs",
            "minimum": 5,
            "maximum": 14,
            "type": "integer",
            "description": "How many price ceilings to ask the exact hit count for. Each rung is one request and one exact population count; more rungs means narrower bands and sharper quantiles. 9 covers a used-car market from a few hundred euros to six figures.",
            "default": 9
          },
          "refineSteps": {
            "title": "Refinement steps",
            "minimum": 0,
            "maximum": 6,
            "type": "integer",
            "description": "Extra requests spent bisecting whichever band a wanted quantile is stuck in, widest first. Three of these typically cut the median's interpolation span by an order of magnitude. Set to 0 for the cheapest possible run.",
            "default": 3
          },
          "mileageMax": {
            "title": "Max mileage (km)",
            "minimum": 1000,
            "maximum": 500000,
            "type": "integer",
            "description": "Optional. Conditions the whole analysis on cars at or below this mileage — the stock count, the ladder and the quantiles all become 'given mileage <= this'. Leave empty for the unconditional market."
          },
          "firstRegistrationFrom": {
            "title": "First registered from (year)",
            "minimum": 1950,
            "maximum": 2030,
            "type": "integer",
            "description": "Optional. Conditions the whole analysis on cars first registered in this year or later. Combine with 'Max mileage' for the price distribution of, say, a 2018+ car under 100,000 km — the shape a trade-in or residual-value quote actually needs."
          },
          "maxListings": {
            "title": "Max listings sampled per model",
            "minimum": 17,
            "maximum": 170,
            "type": "integer",
            "description": "How many listings to keep for the dealer/private split and the mileage, year, fuel and gearbox mix. They are drawn newest-first, which is independent of price. The price quantiles are exact population figures and are not affected by this. Each extra page of about 17-20 listings costs one request; this also caps how many are returned (and billed) when 'Include individual listings' is on (+$0.002 each).",
            "default": 20
          },
          "includeIndividualItems": {
            "title": "Include individual listings",
            "type": "boolean",
            "description": "Off by default: a run costs a flat $0.02 per model summary. Enable to also get every sampled listing (price, mileage, first registration, fuel, gearbox, power, dealer or private) at +$0.002 per listing. Seller names, phone numbers and street addresses are never collected.",
            "default": false
          },
          "convertToUsd": {
            "title": "Convert prices to USD",
            "type": "boolean",
            "description": "Adds USD statistics next to EUR using the current exchange rate (open.er-api.com).",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}