{
  "openapi": "3.0.1",
  "info": {
    "title": "AutoTrader UK Scraper - UK Car Listings | $0.49/1K",
    "description": "Scrape AutoTrader UK car listings: price, year, mileage, specs, dealer, location and photos. Search by make/model, postcode and radius or URL; monitor new ads. $0.49 per 1,000 cars.",
    "version": "0.1",
    "x-build-id": "VPPBDYz2O3GTg8eHf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawloop~autotrader-uk-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawloop-autotrader-uk-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~autotrader-uk-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawloop-autotrader-uk-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~autotrader-uk-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawloop-autotrader-uk-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",
            "type": "array",
            "description": "AutoTrader UK car-search URLs (query params make, model, postcode, price-from, price-to, year-from, year-to, maximum-mileage, radius, fuel-type, transmission, body-type are mapped to gateway filters) or car-details URLs (detail only).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Vehicle make, for example Toyota. Used when building a search. A start URL's make param wins when both are set."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Vehicle model, for example Corolla. Used together with make."
          },
          "postcode": {
            "title": "Postcode",
            "type": "string",
            "description": "UK postcode. The site requires one. Spaces are removed before the request (SW1A 1AA is sent as SW1A1AA).",
            "default": "SW1A 1AA"
          },
          "radiusMiles": {
            "title": "Radius (miles)",
            "minimum": 0,
            "type": "integer",
            "description": "Search radius in miles. Sent to the gateway as distance."
          },
          "yearFrom": {
            "title": "Year from",
            "minimum": 1950,
            "type": "integer",
            "description": "Earliest registration year. Sent to the gateway as min_year_manufactured."
          },
          "yearTo": {
            "title": "Year to",
            "minimum": 1950,
            "type": "integer",
            "description": "Latest registration year. Sent to the gateway as max_year_manufactured."
          },
          "priceFrom": {
            "title": "Price from (GBP)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum cash price in GBP. Sent to the gateway as min_price."
          },
          "priceTo": {
            "title": "Price to (GBP)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum cash price in GBP. Sent to the gateway as max_price."
          },
          "maxMileage": {
            "title": "Maximum mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum mileage in miles. Sent to the gateway as max_mileage."
          },
          "extraFilters": {
            "title": "Extra filters",
            "type": "array",
            "description": "Additional {filter, selected} objects (fuel_type, transmission, body_type, and any other gateway filter). Passed to the site as-is.",
            "items": {
              "type": "object",
              "properties": {
                "filter": {
                  "title": "Filter name",
                  "type": "string",
                  "description": "Gateway filter name."
                },
                "selected": {
                  "title": "Selected values",
                  "type": "array",
                  "description": "Selected values.",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "filter"
              ]
            }
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "year_asc",
              "year_dsc"
            ],
            "type": "string",
            "description": "Sort sent to the gateway. Allowed: relevance (default), price_asc, price_desc, year_asc, year_dsc. Any other value is sent as relevance. Promoted listings can appear before the sorted results.",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum rows to save. 0 means no row cap (still bounded by maxPages and the site page count).",
            "default": 100
          },
          "maxPages": {
            "title": "Max pages",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum search pages to request. The run also stops at the site's page count.",
            "default": 20
          },
          "scrapeDetails": {
            "title": "Scrape detail pages",
            "type": "boolean",
            "description": "Open each car-details page for fuel, gearbox, body, engine, colour, owners, specification, description, history, and dealer address.",
            "default": false
          },
          "includeContacts": {
            "title": "Include dealer phone and email",
            "type": "boolean",
            "description": "Off by default. When on, dealer phone and email from the detail page are added. Enable only with a lawful basis. Values on the site may be masked.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode (new adverts and price drops)",
            "type": "boolean",
            "description": "First run stores a baseline and emits no rows. Later runs emit only new adverts and price drops.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor state store",
            "type": "string",
            "description": "Named key-value store for monitor state. Use a distinct name per search you watch.",
            "default": "autotrader-uk-monitor"
          },
          "resetMonitorState": {
            "title": "Reset monitor state",
            "type": "boolean",
            "description": "Clear the saved baseline before this run so the next comparison starts fresh.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "No proxy by default. If a request is blocked (403, 429, a challenge page, or a non-JSON gateway body), the run switches once to Apify Proxy RESIDENTIAL in GB and continues. Your group and country are used exactly as set. Country GB is filled in only when you choose RESIDENTIAL and leave country empty.",
            "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}