{
  "openapi": "3.0.1",
  "info": {
    "title": "Bilbasen.dk Scraper",
    "description": "[💰 $1.5 / 1K] Extract new and used car listings from Bilbasen.dk, Denmark's largest car marketplace — price, mileage, year, specs (horsepower, fuel, gearbox, EV range & battery, tax), location, photos, and optional monthly finance price. Search by make/model + filters, postal code, or any URL.",
    "version": "1.0",
    "x-build-id": "2M44796ARRV7ZmlVm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~bilbasen-dk-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-bilbasen-dk-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/solidcode~bilbasen-dk-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-bilbasen-dk-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/solidcode~bilbasen-dk-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-bilbasen-dk-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": "Bilbasen URLs",
            "type": "array",
            "description": "Paste one or more Bilbasen.dk search-result URLs or individual car-listing URLs (e.g. 'https://www.bilbasen.dk/brugt/bil/audi/a4' or a single car page). Go to bilbasen.dk, set your filters in the browser, and copy the URL from the address bar. When provided, these are used directly and the search fields below are ignored.",
            "items": {
              "type": "string"
            }
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Car manufacturer as shown on Bilbasen, e.g. 'Audi', 'Volkswagen', 'Tesla'. Common spellings and small typos are recognised (e.g. 'Volkswagon' is read as VW); a make Bilbasen doesn't list stops the run before any results are charged. One make per run. Leave empty for all makes. Ignored when Bilbasen URLs are provided."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "One model as listed in Bilbasen's Model filter, e.g. 'A4', 'Model 3', 'Golf VII'. A model family such as 'Golf' or '3 Series' covers every model in it, like the site's own filter. Spacing, capitals and small typos are recognised; a model Bilbasen doesn't list stops the run before any results are charged and suggests the closest ones. With Make empty, the make is found from the model when only one make has it. Leave empty for all models."
          },
          "fuelType": {
            "title": "Fuel type",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include cars with these fuel types. Leave empty for all fuel types.",
            "items": {
              "type": "string",
              "enum": [
                "benzin",
                "diesel",
                "el",
                "hybrid-benzin",
                "hybrid-diesel",
                "plugin-hybrid-benzin",
                "plugin-hybrid-diesel"
              ],
              "enumTitles": [
                "Petrol (Benzin)",
                "Diesel",
                "Electric (El)",
                "Hybrid – Petrol",
                "Hybrid – Diesel",
                "Plug-in Hybrid – Petrol",
                "Plug-in Hybrid – Diesel"
              ]
            }
          },
          "bodyType": {
            "title": "Body type",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include cars with these body types. Leave empty for all body types. Note: selecting 'Van' searches the separate van category and is best used on its own.",
            "items": {
              "type": "string",
              "enum": [
                "micro",
                "hatchback",
                "sedan",
                "stationcar",
                "suv",
                "cuv",
                "mpv",
                "coupe",
                "cabriolet",
                "van"
              ],
              "enumTitles": [
                "Micro",
                "Hatchback",
                "Sedan",
                "Station wagon (Stationcar)",
                "SUV",
                "Crossover (CUV)",
                "MPV / Minivan",
                "Coupé",
                "Convertible (Cabriolet)",
                "Van"
              ]
            }
          },
          "gearType": {
            "title": "Transmission",
            "enum": [
              "any",
              "manuel",
              "automatisk"
            ],
            "type": "string",
            "description": "Gearbox type.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Filter listings by who is selling.",
            "default": "any"
          },
          "priceType": {
            "title": "Price type",
            "enum": [
              "any",
              "retail",
              "leasing"
            ],
            "type": "string",
            "description": "Which listings to include, by how they are priced. 'All cash-price listings' is Bilbasen's own default view: every car for sale at a cash price, including trade-only cars sold only to businesses with a Danish CVR number (priceType 'Wholesale') and cars priced without Danish registration tax (priceType 'WithoutTax'). 'Private-buyer listings only' keeps just the normal cash sales anyone can buy at a price that includes registration tax (priceType 'Retail'). 'Leasing' returns monthly lease offers instead — they are never mixed into the cash-price options.",
            "default": "any"
          },
          "priceMin": {
            "title": "Minimum price (DKK)",
            "minimum": 0,
            "maximum": 20000000,
            "type": "integer",
            "description": "Only include cars at or above this price, in Danish kroner. Leave empty for no lower bound."
          },
          "priceMax": {
            "title": "Maximum price (DKK)",
            "minimum": 0,
            "maximum": 20000000,
            "type": "integer",
            "description": "Only include cars at or below this price, in Danish kroner. Leave empty for no upper bound."
          },
          "yearMin": {
            "title": "Minimum year",
            "minimum": 1900,
            "maximum": 2030,
            "type": "integer",
            "description": "Only include cars first registered in or after this year, e.g. 2018 — the same year shown in the 'year' column. Brand-new cars that are not registered yet are left out when a year is set. Leave empty for any age."
          },
          "yearMax": {
            "title": "Maximum year",
            "minimum": 1900,
            "maximum": 2030,
            "type": "integer",
            "description": "Only include cars first registered in or before this year — the same year shown in the 'year' column. Leave empty for any age."
          },
          "mileageMax": {
            "title": "Maximum mileage (km)",
            "minimum": 0,
            "maximum": 2000000,
            "type": "integer",
            "description": "Only include cars with at most this many kilometers on the odometer, e.g. 100000. Leave empty for any mileage."
          },
          "zipCode": {
            "title": "Postal code",
            "type": "string",
            "description": "Danish postal code to search around, e.g. '2100' (Copenhagen) or '8000' (Aarhus). Used together with Search radius. Leave empty to search all of Denmark."
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "enum": [
              "10",
              "25",
              "50",
              "100",
              "150",
              "200"
            ],
            "type": "string",
            "description": "How far around the postal code to search, in kilometers. Only applies when a postal code is set.",
            "default": "100"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "priceAsc",
              "priceDesc",
              "yearDesc",
              "yearAsc",
              "mileageAsc",
              "newest"
            ],
            "type": "string",
            "description": "How to order the search results. Defaults to Bilbasen's relevance ranking. The year orders follow the year each car was first registered — the same year shown in the 'year' column; brand-new cars that are not registered yet come last.",
            "default": "relevance"
          },
          "includeFinancing": {
            "title": "Include monthly finance price",
            "type": "boolean",
            "description": "When enabled, every car is also looked up against Bilbasen's financing calculator to add the lowest available monthly finance instalment (monthlyPrice) to each row. This adds an extra lookup per car, so the run takes a little longer. Leave off for the fastest run.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of car listings to return for each search or pasted URL — with several links, each one gets up to this many. You get exactly this many whenever Bilbasen has that many matching cars — never more. Set to 0 for every car Bilbasen shows for a search: at most 10,000 per search, so split a bigger search (by make, price range or region) into several links to get more.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}