{
  "openapi": "3.0.1",
  "info": {
    "title": "coches.net Car Scraper | Price Rating, Price Drops & Dealers",
    "description": "Scrape every car on coches.net, Spain's largest car marketplace: price, market price rating, % vs market average, price drops, VIN, equipment, EV range, DGT label, dealer phone, address & GPS. Filters for ZBE label, body, gearbox, postcode radius. No page limit, price-drop alerts.",
    "version": "0.1",
    "x-build-id": "j3XM64g1I3qSLQrs6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/corvuslab~coches-net-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-corvuslab-coches-net-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/corvuslab~coches-net-scraper/runs": {
      "post": {
        "operationId": "runs-sync-corvuslab-coches-net-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/corvuslab~coches-net-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-corvuslab-coches-net-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": {
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Car brand as it appears on coches.net, e.g. <code>SEAT</code>, <code>Volkswagen</code>, <code>Mercedes-Benz</code>. Several brands: separate with commas. Leave empty for every brand."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Model of the make above, e.g. <code>León</code>, <code>Serie 3</code>, <code>Clase C</code>. Several models: separate with commas. A name coches.net does not list as a model searches that make's listings mentioning it."
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free-text search across listing titles, e.g. <code>GTI</code>, <code>4x4</code>, <code>7 plazas</code>."
          },
          "startUrls": {
            "title": "coches.net links",
            "type": "array",
            "description": "Paste coches.net search-result links (with any filters you set on the site) and/or individual listing links. A search link runs exactly as it does on coches.net; a listing link returns that one car in full.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of listings to return across all searches. <code>0</code> = every matching listing. You are only charged for listings returned.",
            "default": 100
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "newest",
              "relevance",
              "price_asc",
              "price_desc",
              "mileage_asc",
              "year_desc"
            ],
            "type": "string",
            "description": "Order in which listings are read. Matters when Max results is lower than the number of matches.",
            "default": "newest"
          },
          "listedWithinDays": {
            "title": "Listed within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings put online in the last N days, e.g. <code>1</code> for the newest cars. Reads newest first and stops at the first older listing."
          },
          "vehicleType": {
            "title": "Vehicle type",
            "enum": [
              "cars",
              "motorhomes"
            ],
            "type": "string",
            "description": "Which coches.net section to search.",
            "default": "cars"
          },
          "offerType": {
            "title": "Condition / offer type",
            "type": "array",
            "description": "Leave empty for all. Used = second-hand; Km 0 = pre-registered with near-zero mileage.",
            "items": {
              "type": "string",
              "enum": [
                "used",
                "km0",
                "new",
                "demo",
                "ex_fleet",
                "pre_owned",
                "renting"
              ],
              "enumTitles": [
                "Used (ocasión)",
                "Km 0",
                "New",
                "Demo car",
                "Ex-fleet / replacement car",
                "Pre-owned (seminuevo)",
                "Renting offers"
              ]
            }
          },
          "priceMin": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price in euros."
          },
          "priceMax": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price in euros."
          },
          "yearMin": {
            "title": "Year from",
            "minimum": 0,
            "type": "integer",
            "description": "Oldest registration year, e.g. 2018."
          },
          "yearMax": {
            "title": "Year to",
            "minimum": 0,
            "type": "integer",
            "description": "Newest registration year."
          },
          "mileageMin": {
            "title": "Min mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest mileage in km."
          },
          "mileageMax": {
            "title": "Max mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Highest mileage in km."
          },
          "powerMinHp": {
            "title": "Min power",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest engine power in horsepower (CV)."
          },
          "powerMaxHp": {
            "title": "Max power",
            "minimum": 0,
            "type": "integer",
            "description": "Highest engine power in horsepower (CV)."
          },
          "fuelType": {
            "title": "Fuel type",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "diesel",
                "petrol",
                "electric",
                "hybrid",
                "plug_in_hybrid",
                "lpg",
                "cng",
                "other"
              ],
              "enumTitles": [
                "Diesel",
                "Petrol",
                "Electric",
                "Hybrid",
                "Plug-in hybrid",
                "LPG",
                "CNG (natural gas)",
                "Other"
              ]
            }
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "any",
              "automatic",
              "manual"
            ],
            "type": "string",
            "description": "Gearbox type.",
            "default": "any"
          },
          "bodyType": {
            "title": "Body type",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "sedan",
                "estate",
                "suv",
                "mpv",
                "coupe",
                "convertible",
                "pickup",
                "van"
              ],
              "enumTitles": [
                "Saloon / sedan",
                "Estate",
                "SUV / 4x4",
                "MPV / people carrier",
                "Coupé",
                "Convertible",
                "Pick-up",
                "Van / combi"
              ]
            }
          },
          "driveType": {
            "title": "Drive",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "fwd",
                "rwd",
                "awd"
              ],
              "enumTitles": [
                "Front-wheel drive",
                "Rear-wheel drive",
                "All-wheel drive"
              ]
            }
          },
          "environmentalLabel": {
            "title": "DGT environmental label",
            "type": "array",
            "description": "Spain's DGT emissions sticker. It decides access to the low-emission zones (ZBE) of Madrid, Barcelona and other cities.",
            "items": {
              "type": "string",
              "enum": [
                "zero",
                "eco",
                "c",
                "b"
              ],
              "enumTitles": [
                "0 (zero emissions, blue)",
                "ECO",
                "C (green)",
                "B (yellow)"
              ]
            }
          },
          "color": {
            "title": "Colour",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "white",
                "black",
                "grey_silver",
                "blue",
                "red",
                "green",
                "brown",
                "beige",
                "yellow",
                "orange",
                "maroon",
                "purple",
                "pink"
              ],
              "enumTitles": [
                "White",
                "Black",
                "Grey / silver",
                "Blue",
                "Red",
                "Green",
                "Brown",
                "Beige",
                "Yellow",
                "Orange",
                "Maroon",
                "Purple",
                "Pink"
              ]
            }
          },
          "priceRating": {
            "title": "Price rating",
            "enum": [
              "any",
              "great",
              "good_or_better",
              "fair_or_better",
              "overpriced"
            ],
            "type": "string",
            "description": "Filter by coches.net's market price rating. 'Overpriced only' returns the cars coches.net rates above the market (Above average or High) — a rating the site itself doesn't display.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Dealers, private sellers or both.",
            "default": "any"
          },
          "withWarrantyOnly": {
            "title": "With warranty only",
            "type": "boolean",
            "description": "Only cars sold with a warranty.",
            "default": false
          },
          "certifiedOnly": {
            "title": "Certified only",
            "type": "boolean",
            "description": "Only cars with a certified condition and mileage.",
            "default": false
          },
          "province": {
            "title": "Province",
            "type": "array",
            "description": "One or more Spanish provinces. Leave empty for all of Spain.",
            "items": {
              "type": "string",
              "enum": [
                "Álava",
                "Albacete",
                "Alicante",
                "Almería",
                "Asturias",
                "Ávila",
                "Badajoz",
                "Baleares",
                "Barcelona",
                "Bizkaia",
                "Burgos",
                "Cáceres",
                "Cádiz",
                "Cantabria",
                "Castellón",
                "Ceuta",
                "Ciudad Real",
                "Córdoba",
                "A Coruña",
                "Cuenca",
                "Gipuzkoa",
                "Girona",
                "Granada",
                "Guadalajara",
                "Huelva",
                "Huesca",
                "Jaén",
                "La Rioja",
                "Las Palmas",
                "León",
                "Lleida",
                "Lugo",
                "Madrid",
                "Málaga",
                "Melilla",
                "Murcia",
                "Navarra",
                "Ourense",
                "Palencia",
                "Pontevedra",
                "Salamanca",
                "Santa Cruz de Tenerife",
                "Segovia",
                "Sevilla",
                "Soria",
                "Tarragona",
                "Teruel",
                "Toledo",
                "Valencia",
                "Valladolid",
                "Zamora",
                "Zaragoza"
              ]
            }
          },
          "location": {
            "title": "Near (postcode or town)",
            "type": "string",
            "description": "Search around a Spanish postcode (e.g. <code>28001</code>) or town (e.g. <code>Getafe</code>). Combine with Radius."
          },
          "radiusKm": {
            "title": "Radius",
            "minimum": 0,
            "type": "integer",
            "description": "Distance around the postcode or town above. Default 50 km."
          },
          "dealerId": {
            "title": "Dealer ID",
            "type": "string",
            "description": "Only one dealer's stock: the <code>sellerId</code> from any of their listings in a previous result."
          },
          "includeDetails": {
            "title": "Include full details",
            "type": "boolean",
            "description": "Adds the seller's description, the VIN when published, the full equipment list, consumption, dimensions, warranty terms, the dealer's address, opening hours and GPS, every photo, and the listing's views, favourites and contacts. Turn off for a faster listing-only scrape.",
            "default": true
          },
          "descriptionMaxLength": {
            "title": "Max description length",
            "minimum": 0,
            "type": "integer",
            "description": "Cut descriptions to this many characters. <code>0</code> = full text.",
            "default": 0
          },
          "hidePrivateSellerContact": {
            "title": "Hide private sellers' contact details",
            "type": "boolean",
            "description": "Blank the name, phone and postcode of private individuals (dealers are kept). Useful when you only need market data.",
            "default": false
          },
          "compact": {
            "title": "Compact output",
            "type": "boolean",
            "description": "Return only the core fields: smaller records for spreadsheets and AI agents.",
            "default": false
          },
          "excludeEmptyFields": {
            "title": "Skip empty fields",
            "type": "boolean",
            "description": "Drop null and empty fields from each record.",
            "default": false
          },
          "incrementalMode": {
            "title": "♻️ Incremental mode",
            "type": "boolean",
            "description": "Remember listings between runs and emit only new, changed (including price drops) and re-listed ones. Each record gets a changeType and its previous price.",
            "default": false
          },
          "stateKey": {
            "title": "🗝️ State key",
            "type": "string",
            "description": "Name for the tracked search. Leave empty to derive one from your search settings. Use different keys to track different searches."
          },
          "emitUnchanged": {
            "title": "🔁 Include unchanged listings",
            "type": "boolean",
            "description": "Also emit listings that have not changed since the previous run.",
            "default": false
          },
          "emitExpired": {
            "title": "🗑️ Include sold/removed listings",
            "type": "boolean",
            "description": "Emit a record for each listing that was in the previous run but is gone now. Only reported by runs that read the whole search.",
            "default": false
          },
          "skipReposts": {
            "title": "🚫 Skip re-listed cars",
            "type": "boolean",
            "description": "Suppress listings that are the same car from the same seller re-posted under a new ID.",
            "default": false
          },
          "telegramToken": {
            "title": "💬 Telegram bot token",
            "type": "string",
            "description": "Bot token from @BotFather."
          },
          "telegramChatId": {
            "title": "🆔 Telegram chat ID",
            "type": "string",
            "description": "Chat or channel ID, e.g. \"-100123456789\" or \"@yourchannel\"."
          },
          "slackWebhookUrl": {
            "title": "💼 Slack webhook URL",
            "type": "string",
            "description": "Slack incoming-webhook URL."
          },
          "discordWebhookUrl": {
            "title": "🎮 Discord webhook URL",
            "type": "string",
            "description": "Discord incoming-webhook URL."
          },
          "webhookUrl": {
            "title": "🪝 Webhook URL",
            "type": "string",
            "description": "Any HTTPS endpoint. Receives a JSON POST with the matched listings — works with n8n, Make and Zapier."
          },
          "webhookHeaders": {
            "title": "🧾 Webhook headers",
            "type": "object",
            "description": "Extra headers for the webhook request, e.g. {\"Authorization\": \"Bearer xyz\"}."
          },
          "notificationLimit": {
            "title": "🔢 Listings per notification",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many listings to include in each notification message.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Optional. Not needed — the actor connects on its own. Only set this if you must route requests through your own proxies.",
            "default": {
              "useApifyProxy": false
            }
          },
          "detailConcurrency": {
            "title": "🚀 Detail concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many listing details to load in parallel.",
            "default": 8
          },
          "maxRequestRetries": {
            "title": "🔄 Max request retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "How many times to retry a failed request before giving up on it.",
            "default": 3
          },
          "ignoreUrlFailures": {
            "title": "⏭️ Ignore link failures",
            "type": "boolean",
            "description": "Skip links that cannot be interpreted instead of failing the whole run.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}