{
  "openapi": "3.0.1",
  "info": {
    "title": "DBA Scraper: Denmark Classifieds, Cars, Prices",
    "description": "Second hand ads from DBA.dk (Den Blå Avis), Denmark's largest online marketplace: furniture, electronics and 13 vehicle types by word, område, dealer or plate, past the 50 page cap, no login. Fields: pris i kr., mærke, kilometertal, synsdato, CVR. Free price summary per område; pay per ad, API.",
    "version": "0.1",
    "x-build-id": "JpgejJ7PSYvD85pCK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~dba-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-dba-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/automation_craft~dba-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-dba-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/automation_craft~dba-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-dba-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": {
          "verticals": {
            "title": "What to search",
            "type": "array",
            "description": "DBA's marketplace (general goods: furniture, electronics, clothes and every other category) and its vehicles (cars, motorcycles, boats, caravans and more), each its own search. Left empty: the marketplace, or vehicles when only vehicle settings are given.",
            "items": {
              "type": "string",
              "enum": [
                "marketplace",
                "vehicles"
              ],
              "enumTitles": [
                "Marketplace (general goods)",
                "Vehicles (cars, MC, boats and more)"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search words, each one its own search (\"sofa\", \"iphone 15\", \"vw golf\", \"barnevogn\", \"spisebord\"). DBA matches them in the ad texts. Left empty, each search reads without words, newest first.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Marketplace categories",
            "type": "array",
            "description": "Marketplace only: DBA categories, sub categories or product categories by DBA's Danish name (\"Møbler og indretning\", \"Sofaer\", \"Mobiltelefoner\") or DBA's value (\"0.78\"). Each category is its own search, with its own price summary.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "Bil-, båd- og motorcykeludstyr",
                "Dyr og udstyr",
                "Elektronik og hvidevarer",
                "Erhverv",
                "Forældre og børn",
                "Have og renovering",
                "Kunst og antik",
                "Mode og skønhed",
                "Møbler og indretning",
                "Sport og friluftsliv",
                "Underholdning og hobby"
              ]
            }
          },
          "vehicleTypes": {
            "title": "Vehicle types",
            "type": "array",
            "description": "Vehicles only: which DBA vehicle searches to read, each its own search. Left empty: cars.",
            "items": {
              "type": "string",
              "enum": [
                "car",
                "mc",
                "scooter",
                "atv",
                "boat",
                "caravan",
                "mobileHome",
                "truck",
                "bus",
                "construction",
                "tractor",
                "agriTools",
                "threshers",
                "b2bAll"
              ],
              "enumTitles": [
                "Cars (Biler)",
                "Motorcycles (MC)",
                "Mopeds and scooters (Knallerter og scootere)",
                "ATVs",
                "Boats (Både)",
                "Caravans (Campingvogne)",
                "Motorhomes (Autocampere)",
                "Trucks (Lastbiler)",
                "Buses (Busser)",
                "Construction machinery (Entreprenørmaskiner)",
                "Tractors (Traktorer)",
                "Farm and garden machinery (Landbrugsredskaber)",
                "Combine harvesters (Mejetærskere)",
                "All business vehicles (trucks, buses, construction, farm)"
              ]
            }
          },
          "dealerIds": {
            "title": "Dealer ids (vehicles)",
            "type": "array",
            "description": "Every vehicle of one dealer: DBA's dealer ids (the companyId of a dealer row) or a dealer's page link on DBA (https://www.dba.dk/mobility/dealer/<id>/<name>, the companyPageUrl of a dealer row), each its own search per vehicle type (DBA's own dealer filter). Not together with plates or vins.",
            "items": {
              "type": "string"
            }
          },
          "plates": {
            "title": "Plates to look up (vehicles)",
            "type": "array",
            "description": "Danish plates such as \"DM69584\", \"DM 69584\" or \"DM 69 584\", or a personalised plate of 2 to 7 letters and digits holding a digit: each looks for the DBA ad of that vehicle in each vehicle type (cars when vehicleTypes is empty), sent as DBA stores it and as its pages write it, up to 10 plates to one DBA search. A row is delivered only when the vehicle's own plate on its ad page is the plate asked; each plate's result (found, not found) is on its search's free coverage row. At most 300 a run; not together with keywords or dealerIds.",
            "items": {
              "type": "string"
            }
          },
          "vins": {
            "title": "VINs to look up (vehicles)",
            "type": "array",
            "description": "Vehicle identification numbers (stelnummer, 11 to 17 letters and digits holding both): each looks for the DBA ad of that vehicle, as plates do, 20 VINs to one DBA search. A VIN no ad carries is free (its search's coverage row says not found).",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Places",
            "type": "array",
            "description": "DBA's areas (\"København og omegn\", \"Fyn\", \"Østjylland\"), towns (\"Odense\", \"Aarhus\", \"Aalborg\") or city districts (\"Odense C\", \"Aarhus N\") by DBA's name, or DBA's value (\"0.200009\"), or a postal code (\"8600\", \"2100\"; DBA's place of that code). Several places are one search (any of them).",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "Bornholm",
                "Fyn",
                "Færøerne",
                "Grønland",
                "København og omegn",
                "Midt- og Vestjylland",
                "Nordjylland",
                "Nordsjælland",
                "Syd- og Sønderjylland",
                "Sydsjælland og Lolland-Falster",
                "Vestsjælland",
                "Østjylland"
              ]
            }
          },
          "latitude": {
            "title": "Latitude",
            "minimum": 54.5,
            "maximum": 57.8,
            "type": "number",
            "description": "With longitude and radiusKm: search around a point in Denmark (DBA's own map radius)."
          },
          "longitude": {
            "title": "Longitude",
            "minimum": 8,
            "maximum": 15.3,
            "type": "number",
            "description": "With latitude and radiusKm."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "With latitude and longitude, or with radiusAround: the distance in kilometres."
          },
          "radiusAround": {
            "title": "Radius around a town or postal code",
            "type": "string",
            "description": "With radiusKm: search around a DBA town or city district (\"Silkeborg\", \"Aarhus C\") or a postal code (\"8600\"), at the centre point DBA gives that place. Instead of latitude and longitude."
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "The lowest price in Danish kroner, sent to DBA."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "The highest price in Danish kroner, sent to DBA."
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "any",
              "private",
              "business"
            ],
            "type": "string",
            "description": "Private sellers only, or companies and dealers only (DBA's own seller filter, \"Privat\" or \"Forhandler\").",
            "default": "any"
          },
          "postedToday": {
            "title": "New today",
            "type": "boolean",
            "description": "Only ads DBA marks as new today (\"Nyt i dag\").",
            "default": false
          },
          "conditions": {
            "title": "Condition (marketplace)",
            "type": "array",
            "description": "DBA's condition labels: \"Helt ny - uåbnet/med prismærke\", \"Som ny - ingen synlige brugsspor\", \"Brugt - men i god stand\", \"Brugt - med synlige brugsspor\", \"Skal repareres\".",
            "items": {
              "type": "string"
            }
          },
          "tradeTypes": {
            "title": "Ad type (marketplace)",
            "type": "array",
            "description": "\"Til salg\" (for sale), \"Gives væk\" (given away free) or \"Ønsker at købe\" (wanted).",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brands (marketplace)",
            "type": "array",
            "description": "Brands as DBA lists them for the search (\"HAY\", \"IKEA\", \"Apple\", \"Stokke\" and about 1,700 more).",
            "items": {
              "type": "string"
            }
          },
          "shippingOnly": {
            "title": "Fiks færdig only",
            "type": "boolean",
            "description": "Only ads sent with DBA's own shipping service (\"Fiks færdig\").",
            "default": false
          },
          "makes": {
            "title": "Makes",
            "type": "array",
            "description": "\"VW\", \"Toyota\", \"Tesla\", \"Yamaha\", \"Adria\" and the other makes DBA lists for the vehicle type.",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Models",
            "type": "array",
            "description": "Cars only, with makes: models by DBA's name (\"Golf\", \"Polo\", \"Model Y\").",
            "items": {
              "type": "string"
            }
          },
          "minYear": {
            "title": "Minimum model year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Every vehicle type with a model year."
          },
          "maxYear": {
            "title": "Maximum model year",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Every vehicle type with a model year."
          },
          "minMileage": {
            "title": "Minimum mileage (km)",
            "minimum": 0,
            "maximum": 5000000,
            "type": "integer",
            "description": "In kilometres, as DBA counts it: cars, MC, mopeds, ATVs and motorhomes."
          },
          "maxMileage": {
            "title": "Maximum mileage (km)",
            "minimum": 0,
            "maximum": 5000000,
            "type": "integer",
            "description": "In kilometres."
          },
          "minPowerHp": {
            "title": "Minimum power (hp)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Cars, MC, mopeds, ATVs, motorhomes, trucks, buses, construction machinery, tractors and combine harvesters."
          },
          "maxPowerHp": {
            "title": "Maximum power (hp)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "As minPowerHp."
          },
          "fuelTypes": {
            "title": "Fuel",
            "type": "array",
            "description": "\"Benzin\", \"Diesel\", \"El\", \"Hybrid benzin\", \"Plug-in Benzin\", \"Gas (CNG)\" and the other names DBA lists (cars, MC, mopeds, boats).",
            "items": {
              "type": "string"
            }
          },
          "transmissions": {
            "title": "Gearbox",
            "type": "array",
            "description": "Cars and motorhomes: \"Automatisk\" or \"Manuelt\".",
            "items": {
              "type": "string"
            }
          },
          "bodyTypes": {
            "title": "Body or type",
            "type": "array",
            "description": "The body or type DBA lists for the vehicle type: \"Stationcar\", \"SUV\", \"Sedan\", \"Hatchback 5-dørs\", \"CUV\", \"Kassevogn\" (cars); \"Adventure\", \"Touring\" (MC); \"Daycruiser\", \"RIB\", \"Sejlbåd/Motorsejler\" (boat classes); \"Campingvogn\", \"Teltvogn\" (caravans); \"Alkove\", \"Camper\", \"Helintegreret\" (motorhomes); truck, bus, machine and farm tool types.",
            "items": {
              "type": "string"
            }
          },
          "wheelDrives": {
            "title": "Wheel drive",
            "type": "array",
            "description": "Cars and motorhomes: \"Firehjulstræk\", \"Forhjulstræk\", \"Baghjulstræk\".",
            "items": {
              "type": "string"
            }
          },
          "colours": {
            "title": "Colour",
            "type": "array",
            "description": "Cars only: \"Sort\", \"Hvid\", \"Grå\", \"Blå\", \"Sølv\" and the other names DBA lists.",
            "items": {
              "type": "string"
            }
          },
          "salesForms": {
            "title": "Sales form",
            "type": "array",
            "description": "Boats: \"Brugt båd\", \"Ny båd\" or \"Til salg\"; caravans and motorhomes: \"Til salg\".",
            "items": {
              "type": "string"
            }
          },
          "equipment": {
            "title": "Equipment",
            "type": "array",
            "description": "Cars only: \"Anhængertræk\" (towbar), \"Apple CarPlay\", \"Bakkamera\", \"Bluetooth\", \"Fartpilot\", \"AC/Klimaanlæg\", \"Coupé-opvarmer\", \"Motorvarmer\", \"Parkeringssensor, bag\", \"Læder- og semilæderinteriør\", \"Soltag/glastag\". Several values: any of them.",
            "items": {
              "type": "string"
            }
          },
          "wheelSets": {
            "title": "Wheel sets",
            "type": "array",
            "description": "Cars only: \"Én hjulsæt\" or \"To eller flere hjulsæt\".",
            "items": {
              "type": "string"
            }
          },
          "warrantyTypes": {
            "title": "Warranty",
            "type": "array",
            "description": "Cars only: \"Garanti\" (DBA's warranty and insurance filter).",
            "items": {
              "type": "string"
            }
          },
          "conditionDocuments": {
            "title": "Service history",
            "type": "array",
            "description": "Cars only: \"Service\" (DBA's car condition filter: the car comes with its service history).",
            "items": {
              "type": "string"
            }
          },
          "registrationClasses": {
            "title": "Registration class",
            "type": "array",
            "description": "Cars only: \"Personbil\", \"Varebil ex. moms\" (van, price without VAT) or \"Varebil inkl. moms\" (van, price with VAT).",
            "items": {
              "type": "string"
            }
          },
          "vehicleConditions": {
            "title": "New or used",
            "type": "array",
            "description": "MC: \"Ny MC\" or \"Brugt MC\"; caravans and motorhomes: \"Ny\" or \"Brugt\".",
            "items": {
              "type": "string"
            }
          },
          "minEngineCc": {
            "title": "Minimum engine size (cc)",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "MC, mopeds and ATVs: DBA's engine size in cubic centimetres."
          },
          "maxEngineCc": {
            "title": "Maximum engine size (cc)",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "As minEngineCc."
          },
          "minLengthFeet": {
            "title": "Minimum boat length (feet)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Boats: DBA's length in feet."
          },
          "maxLengthFeet": {
            "title": "Maximum boat length (feet)",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Boats."
          },
          "minLengthCm": {
            "title": "Minimum length (cm)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Caravans and motorhomes: DBA's length in centimetres."
          },
          "maxLengthCm": {
            "title": "Maximum length (cm)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Caravans and motorhomes."
          },
          "minWidthCm": {
            "title": "Minimum width (cm)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Boats and caravans: DBA's width in centimetres."
          },
          "maxWidthCm": {
            "title": "Maximum width (cm)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Boats and caravans."
          },
          "minWeightKg": {
            "title": "Minimum weight (kg)",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "Caravans, motorhomes and trucks: DBA's weight filter in kilograms. Cars: DBA's car search has no weight filter, so every car's ad page is read and its weight judged there (each delivered car is billed Ad details too; a car whose page shows no weight is left out, free)."
          },
          "maxWeightKg": {
            "title": "Maximum weight (kg)",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "Caravans, motorhomes and trucks; cars read from each ad page (billed Ad details), as Minimum weight."
          },
          "minTrailerWeightKg": {
            "title": "Minimum towing weight (kg)",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Cars only: the largest trailer weight in kilograms."
          },
          "maxTrailerWeightKg": {
            "title": "Maximum towing weight (kg)",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Cars only."
          },
          "minBoatEngineHp": {
            "title": "Minimum boat engine power (hp)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Boats: the power of the boat's engine."
          },
          "maxBoatEngineHp": {
            "title": "Maximum boat engine power (hp)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Boats."
          },
          "minTopSpeedKnots": {
            "title": "Minimum top speed (knots)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Boats."
          },
          "maxTopSpeedKnots": {
            "title": "Maximum top speed (knots)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Boats."
          },
          "berths": {
            "title": "Berths",
            "type": "array",
            "description": "Boats, caravans and motorhomes: DBA's groups of berths, such as \"3 - 4\".",
            "items": {
              "type": "string"
            }
          },
          "seatGroups": {
            "title": "Seats (groups)",
            "type": "array",
            "description": "Boats and motorhomes: DBA's seat groups, such as \"4 - 6\" (boats) or \"4 - 5\" (motorhomes).",
            "items": {
              "type": "string"
            }
          },
          "boatEngineTypes": {
            "title": "Boat engine type",
            "type": "array",
            "description": "Boats: \"Indenbords\" (inboard), \"Udenbords\" (outboard) or \"Andet\".",
            "items": {
              "type": "string"
            }
          },
          "boatEngineIncluded": {
            "title": "Boat engine included",
            "type": "array",
            "description": "Boats: DBA's engine included filter, by its labels (\"Indenbords\", \"Nej\").",
            "items": {
              "type": "string"
            }
          },
          "boatMaterials": {
            "title": "Boat material",
            "type": "array",
            "description": "Boats: \"Glasfiber\", \"Aluminium\", \"Plastik\", \"Træ\", \"Andet\".",
            "items": {
              "type": "string"
            }
          },
          "vehicleLocations": {
            "title": "Where the vehicle stands",
            "type": "array",
            "description": "Boats and motorhomes: \"Danmark\" or \"Udlandet\" (abroad); caravans: \"Danmark\".",
            "items": {
              "type": "string"
            }
          },
          "attributeFilters": {
            "title": "Any other DBA filter",
            "type": "object",
            "description": "Any other filter of the search's own DBA filter list, by DBA's name or Danish label, with values by label or value, or {\"min\": n, \"max\": n} for a range. For example {\"truck_segment\": [\"Kassevogn\"], \"construction_segment\": [\"Minigraver\"]}. A filter the search does not offer is refused with the filters it does offer."
          },
          "postedAfter": {
            "title": "Posted on or after",
            "type": "string",
            "description": "Only ads published on or after this day in Denmark (YYYY-MM-DD), checked on every row."
          },
          "postedWithinHours": {
            "title": "Posted within (hours)",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Only ads published within this many hours of the run's start, checked on every row."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Only ads published before this day in Denmark (YYYY-MM-DD), checked on every row. DBA lists newest first, so the newer ads in front are read and left out free; a day far back can stop the run on its allowance for unpaid reads."
          },
          "includeKeywords": {
            "title": "Must contain",
            "type": "array",
            "description": "Words an ad must contain (its title, and its description when the ad page is read). Any one of them, or all with requireAllKeywords.",
            "items": {
              "type": "string"
            }
          },
          "requireAllKeywords": {
            "title": "Require all words",
            "type": "boolean",
            "description": "With includeKeywords: every word must be in the ad.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Must not contain",
            "type": "array",
            "description": "Ads holding any of these words are left out, free.",
            "items": {
              "type": "string"
            }
          },
          "titleOnly": {
            "title": "Look in titles only",
            "type": "boolean",
            "description": "includeKeywords and excludeKeywords look at the title only.",
            "default": false
          },
          "onlyKeywordMatches": {
            "title": "Only ads that carry the search words",
            "type": "boolean",
            "description": "Marketplace searches made from keywords (and pasted search links with words): deliver only the ads whose title carries every word of the search, or, when the ad page is read, its title or description. DBA's own search ends a keyword's results with ads that carry none of the words (on the last pages of a search most titles lack them, and a made up word still returns a few unrelated ads); those are left out, free, and counted on the coverage row. Words are matched as parts of words (\"sofa\" matches \"hjørnesofa\"); \"a OR b\" means either. Off: every ad DBA's search returns.",
            "default": true
          },
          "excludeAdIds": {
            "title": "Exclude DBA ad ids",
            "type": "array",
            "description": "DBA ad ids (Annonce-ID) or ad links never to deliver.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Search pages copied from DBA's marketplace (https://www.dba.dk/recommerce/forsale/search?...) or its vehicles (https://www.dba.dk/mobility/search/<type>?...), read with all their filters. DBA's sort order in a link is not sent (DBA asks robots not to); the link is read in DBA's default order.",
            "items": {
              "type": "string"
            }
          },
          "adUrls": {
            "title": "Ad links or DBA ad ids",
            "type": "array",
            "description": "DBA ad links (https://www.dba.dk/recommerce/forsale/item/<id>, https://www.dba.dk/mobility/item/<id> or https://www.dba.dk/<id>) or DBA ad ids (Annonce-ID): each read with its ad page and billed as one Listing or Vehicle plus one Ad details. A removed or unknown ad is a free row.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "The most paid rows (marketplace ads and vehicles) the run delivers, across all searches and links.",
            "default": 100
          },
          "maxItemsPerSearch": {
            "title": "Maximum rows per search",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "The most paid rows from one search or search link."
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The most result pages read for one search."
          },
          "maxRowsPerSearch": {
            "title": "Rows read per search",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "How many rows of each search are read at most, the rows left out by a filter included (no limit by default)."
          },
          "startPage": {
            "title": "Start page",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Read every search from this page of DBA's own results (53 marketplace ads or 50 vehicles a page) instead of the first: to go on from where an earlier run stopped. Such a search is not split past DBA's 50 page reach and its coverage row says it is not complete. Given, even as 1, every search is read in DBA's own pages from that page, so runs of startPage 1, 2, 3 never overlap. Not with plates or vins."
          },
          "includeDetails": {
            "title": "Include the ad page (Ad details)",
            "type": "boolean",
            "description": "Read each ad's page: the full description, every key fact and all images, the category path, the postal code, the edited time, a shop's profile (name, address, phone, CVR number, website), and on vehicles the equipment, registration date, inspection dates, owners, warranty, declared damages, the inspection report link and the dealer card (CVR number, address, phone, e-mail, website, opening hours, brands). Billed as one Ad details per row that carries its ad page; about a second per row.",
            "default": false
          },
          "includeSimilarVehicles": {
            "title": "Add similar vehicles (add-on)",
            "type": "boolean",
            "description": "Vehicles: DBA's own list of similar vehicles for each ad (id, link, title, year and mileage text, price, image). Reads the ad page too (billed as Ad details). Billed as one Similar vehicles list per row that carries one; an ad DBA lists none for is empty and free.",
            "default": false
          },
          "includeMarketValuation": {
            "title": "Add a market valuation (add-on)",
            "type": "boolean",
            "description": "Vehicles: the asking prices of the same make and model on DBA today, one model year either side (count, median, quartiles, lowest and highest), and how far this vehicle's price stands from the median, in percent and kroner. One extra DBA search per vehicle; billed as one Market valuation per row that carries one. Fewer than 5 comparable ads, or a vehicle without make, model or model year: no valuation, free. Asking prices, not sale prices.",
            "default": false
          },
          "maxPriceVsMarketPercent": {
            "title": "Deal filter: at most this far from the median (%)",
            "minimum": -90,
            "maximum": 100,
            "type": "integer",
            "description": "With includeMarketValuation: deliver only vehicles whose asking price is at most this many percent above (positive) or below (negative) the median of their market valuation, such as -10 for at least 10 percent under the market. Vehicles left out, or with no valuation, are free; their valuation reads are the add-on's unpaid work."
          },
          "maxPriceVsMarketDkk": {
            "title": "Deal filter: at most this far from the median (DKK)",
            "minimum": -100000000,
            "maximum": 100000000,
            "type": "integer",
            "description": "With includeMarketValuation: deliver only vehicles whose asking price is at most this many kroner above (positive) or below (negative) the median of their market valuation, such as -20000 for at least 20,000 kr. under the market. Vehicles left out, or with no valuation, are free."
          },
          "minComparables": {
            "title": "Minimum comparable ads",
            "minimum": 5,
            "maximum": 50,
            "type": "integer",
            "description": "With includeMarketValuation: the fewest comparable ads a valuation needs (5 to 50, 5 by default); a vehicle with fewer gets no valuation, free. Each valuation says its confidence too: high with 20 or more, medium with 10 to 19, low below."
          },
          "excludeRedFlagged": {
            "title": "Leave out red flagged vehicles",
            "type": "boolean",
            "description": "Vehicles: leave out, free, every vehicle whose row carries a red flag (the seller's own answer of known damage, major repairs or a lien, or a mention in the title or description of export only, damage or a fault, a lease takeover, a driving ban, deregistration or a sale for parts). A mention is only a mention (\"ingen skader\" mentions damage too): read redFlags first.",
            "default": false
          },
          "includePersonalData": {
            "title": "Include personal data",
            "type": "boolean",
            "description": "Deliver the fields that name or reach a private person: a private seller's plate and VIN (in their fields and in the key facts) and the inspection report link that carries the plate, DBA user id, street and exact map point (off: the point is rounded to 2 decimals, about 1 km, when DBA gives it to the address), the seller's own links and ad references, contact persons' names, phones and e-mails on any ad, and the contacts found in the texts of private ads. Off: those fields are empty; a company's or dealer's name, id, CVR number, address, phone, website and dealer card are business data and always delivered. Plate and VIN lookups work either way. You are responsible for a lawful use, GDPR included.",
            "default": false
          },
          "markPaidPlacements": {
            "title": "Mark paid placements",
            "type": "boolean",
            "description": "Read the paid ad DBA shows above each marketplace and vehicle search's results (one small extra read per search, free) and flag each delivered row that is one (paidPlacement true or false); the search's coverage row names the paid ads and whether they stood among its results. A paid ad that is not among the results is not delivered (its own row cannot prove the search's filters). Ad links, plate or VIN lookups and dealer stocks say null.",
            "default": false
          },
          "priceSummary": {
            "title": "Price summary per search",
            "type": "boolean",
            "description": "Each search's coverage row carries the count, lowest, quartiles, median, mean and highest asking price of the ads it met, and the same per DBA area (region) and per category (marketplace) or make (vehicles). Free.",
            "default": true
          },
          "includeRawData": {
            "title": "Include raw search row",
            "type": "boolean",
            "description": "Add DBA's search row as served (a private seller's only with personal data on).",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "asServed",
              "text",
              "markdown"
            ],
            "type": "string",
            "description": "How the ad description is delivered.",
            "default": "asServed"
          },
          "descriptionMaxLength": {
            "title": "Description maximum length",
            "minimum": 20,
            "maximum": 100000,
            "type": "integer",
            "description": "Cut descriptions to this many characters (descriptionCut marks the row)."
          },
          "outputFields": {
            "title": "Fields to keep",
            "type": "array",
            "description": "Keep only these row fields, by the names the rows carry (\"adId\", \"url\", \"region\", \"make\", \"model\", \"mileageKm\", \"marketValuation\"); the row's identity, title, price, place, status and image count, and the fields of every add-on that is billed, always stay. Not together with compactOutput.",
            "items": {
              "type": "string"
            }
          },
          "compactOutput": {
            "title": "Compact rows",
            "type": "boolean",
            "description": "Deliver only the most used fields (handy for AI agents).",
            "default": false
          },
          "excludeEmptyFields": {
            "title": "Leave out empty fields",
            "type": "boolean",
            "description": "Drop fields that are empty on a row.",
            "default": false
          },
          "extractContacts": {
            "title": "Extract contacts from texts",
            "type": "boolean",
            "description": "Add the e-mail addresses, phone numbers, websites and social profiles written in the title and description (companies' ads always; private ads with includePersonalData on).",
            "default": false
          },
          "phoneExtractionMode": {
            "title": "Phone extraction",
            "enum": [
              "strict",
              "lenient"
            ],
            "type": "string",
            "description": "With extractContacts."
          },
          "failIfIncomplete": {
            "title": "Fail if incomplete",
            "type": "boolean",
            "description": "End the run as failed when a search or link could not be read in full (the rows delivered stay).",
            "default": false
          },
          "maxFailedRequestsPercent": {
            "title": "Fail above this share of failed reads (%)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "End the run as failed when more of its reads failed."
          },
          "completenessTolerancePercent": {
            "title": "Complete within this share of DBA's count (%)",
            "minimum": 0,
            "maximum": 50,
            "type": "number",
            "description": "Your own bar for a complete search: a search counts as complete when it met at least DBA's count of ads less this percent (and less the number of ads below). Empty: the fixed rule (98 percent of DBA's count less 2 ads on a split search, 99 percent less 2 on one search)."
          },
          "completenessToleranceAbsolute": {
            "title": "Complete within this many ads of DBA's count",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Your own bar for a complete search, in ads: DBA's count less this many ads (and less the percent above). Empty: the fixed rule."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is: DBA is read through Apify's datacenter proxy, which every DBA door answers. Your own proxy links replace it."
          },
          "requestsPerSecond": {
            "title": "Requests per second",
            "minimum": 0.2,
            "maximum": 2,
            "type": "number",
            "description": "The pace of the run's one exit (0.2 to 2).",
            "default": 1
          },
          "maxConcurrency": {
            "title": "Requests in flight",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "At most this many requests in flight, inside the pace (DBA is never asked more than requestsPerSecond requests a second): ad pages and add-on pages are read on this many lanes.",
            "default": 4
          },
          "maxRequestRetries": {
            "title": "Retries",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Tries of a failed read after the first.",
            "default": 2
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}