{
  "openapi": "3.0.1",
  "info": {
    "title": "AutoScout24 Price Market — True Population Price Quantiles",
    "description": "Population price statistics for any car make/model on AutoScout24 in one call: the exact stock count and the true p10/p25/median/p75/p90 of the whole listing population, read from the site's own exact hit counts at price ceilings. Listing dumps stop at 200 pages and cannot reach these numbers.",
    "version": "0.1",
    "x-build-id": "ArTU8XBeYfQt2UYa4"
  },
  "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",
              "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 eight are EUR). Model slugs are localised: 'bmw/3er' on de/at, 'bmw/serie-3' on fr, '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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}