{
  "openapi": "3.0.1",
  "info": {
    "title": "Willhaben Marketplace, Cars & Real Estate Listings Scraper",
    "description": "Search Willhaben.at classifieds, used cars, and real estate (rent or buy apartments, houses, land) by keyword, price range, and sort order. Get listing prices, locations, images, and category-specific details such as car mileage or living area.",
    "version": "1.0",
    "x-build-id": "10AHfQXOlb4fyOst2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dataspryva~willhaben-marketplace-cars-and-real-estate/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dataspryva-willhaben-marketplace-cars-and-real-estate",
        "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/dataspryva~willhaben-marketplace-cars-and-real-estate/runs": {
      "post": {
        "operationId": "runs-sync-dataspryva-willhaben-marketplace-cars-and-real-estate",
        "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/dataspryva~willhaben-marketplace-cars-and-real-estate/run-sync": {
      "post": {
        "operationId": "run-sync-dataspryva-willhaben-marketplace-cars-and-real-estate",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "searchItems",
              "searchCars",
              "searchRealEstate",
              "searchJobs",
              "byUrls"
            ],
            "type": "string",
            "description": "Choose a marketplace section, cars, real estate, jobs, or paste Willhaben URLs.",
            "default": "searchItems"
          },
          "query": {
            "title": "Search keyword",
            "type": "string",
            "description": "Free-text keyword, e.g. 'sofa', 'iPhone', 'BMW', 'Wohnung'. Leave empty to browse the category.",
            "default": ""
          },
          "startUrls": {
            "title": "Willhaben URLs",
            "type": "array",
            "description": "(mode=byUrls) Paste search, category, single listing, job search or single job URLs. Filters already in the URL are preserved.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "Willhaben URL",
                  "description": "Paste a Willhaben search, category, listing, job search or job URL."
                }
              }
            }
          },
          "state": {
            "title": "Federal state",
            "enum": [
              "Burgenland",
              "Kärnten",
              "Niederösterreich",
              "Oberösterreich",
              "Salzburg",
              "Steiermark",
              "Tirol",
              "Vorarlberg",
              "Wien",
              "andere Länder"
            ],
            "type": "string",
            "description": "Restrict listings to one Austrian federal state (or other countries). Location overrides this when both are set."
          },
          "location": {
            "title": "City / district / postcode",
            "type": "string",
            "description": "e.g. 'Wien', 'Graz', '1050'. Resolved through Willhaben's location search. For jobs it is sent as the job location."
          },
          "radiusKm": {
            "title": "Job radius (km)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "(mode=searchJobs) Radius around the location, 1-100 km."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "newest",
              "distance",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Result ordering. Jobs support relevance and newest; other orders are mapped to newest for jobs.",
            "default": "relevance"
          },
          "priceMin": {
            "title": "Min price (EUR)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Minimum listing price in euros. Ignored for jobs."
          },
          "priceMax": {
            "title": "Max price (EUR)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Maximum listing price in euros. Ignored for jobs."
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Maximum listings or jobs to return.",
            "default": 20
          },
          "includeDetails": {
            "title": "Fetch detail pages",
            "type": "boolean",
            "description": "Add the full description, seller/contact data and extra car or real-estate details from each listing/job page. Slower and more expensive.",
            "default": false
          },
          "includeRawAttributes": {
            "title": "Include raw attributes",
            "type": "boolean",
            "description": "Add every source attribute as a rawAttributes list. Useful for category-specific analysis; increases output size.",
            "default": false
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "private",
              "dealer"
            ],
            "type": "string",
            "description": "Filter by private seller or commercial dealer. Applies to marketplace items and cars; ignored for real estate and jobs."
          },
          "vehicleCategory": {
            "title": "Vehicle category",
            "enum": [
              "cars",
              "motorcycles",
              "caravans",
              "commercial"
            ],
            "type": "string",
            "description": "(mode=searchCars) Which vehicle section to search.",
            "default": "cars"
          },
          "carMake": {
            "title": "Car make",
            "enum": [
              "10004",
              "10012",
              "1000",
              "10031",
              "10025",
              "1002",
              "1003",
              "1734",
              "10042",
              "10066",
              "1004",
              "1005",
              "1069",
              "1006",
              "10034",
              "1007",
              "10017",
              "10001",
              "10057",
              "1008",
              "1012",
              "1009",
              "1010",
              "10018",
              "10026",
              "1011",
              "1013",
              "10037",
              "1014",
              "10061",
              "10019",
              "10043",
              "10032",
              "1015",
              "1016",
              "10044",
              "1017",
              "10071",
              "10062",
              "10067",
              "10039",
              "10030",
              "10016",
              "1018",
              "10041",
              "10065",
              "1019",
              "1020",
              "10035",
              "10009",
              "1021",
              "1022",
              "10027",
              "10052",
              "1023",
              "1024",
              "1059",
              "1025",
              "10005",
              "1026",
              "1027",
              "1028",
              "1029",
              "10048",
              "1030",
              "10014",
              "1031",
              "1032",
              "10045",
              "10003",
              "10028",
              "1033",
              "10055",
              "1035",
              "10020",
              "1036",
              "1037",
              "1038",
              "10013",
              "10058",
              "1039",
              "1040",
              "1041",
              "10054",
              "1042",
              "10069",
              "10047",
              "10053",
              "1043",
              "1045",
              "10029",
              "1047",
              "1048",
              "1049",
              "1051",
              "10063",
              "1052",
              "1053",
              "1054",
              "1056",
              "1057",
              "10033",
              "1058",
              "9999",
              "10050",
              "1060",
              "1061",
              "1073",
              "10002",
              "10008",
              "1062",
              "10023",
              "10015",
              "1064",
              "1065",
              "1066",
              "10051",
              "10070",
              "10024"
            ],
            "type": "string",
            "description": "(mode=searchCars) Vehicle manufacturer."
          },
          "carModel": {
            "title": "Car model",
            "type": "string",
            "description": "(mode=searchCars) Model name, e.g. '3er-Reihe' or 'Golf'. Requires Car make."
          },
          "yearFrom": {
            "title": "First registration from",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "(mode=searchCars) Earliest registration year."
          },
          "yearTo": {
            "title": "First registration to",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "(mode=searchCars) Latest registration year."
          },
          "mileageFrom": {
            "title": "Mileage from (km)",
            "minimum": 0,
            "maximum": 2000000,
            "type": "integer",
            "description": "(mode=searchCars) Minimum mileage."
          },
          "mileageTo": {
            "title": "Mileage to (km)",
            "minimum": 0,
            "maximum": 2000000,
            "type": "integer",
            "description": "(mode=searchCars) Maximum mileage."
          },
          "fuelType": {
            "title": "Fuel type",
            "enum": [
              "100001",
              "100003",
              "100004",
              "100011",
              "100013",
              "100022",
              "110000"
            ],
            "type": "string",
            "description": "(mode=searchCars)"
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "180004",
              "180001"
            ],
            "type": "string",
            "description": "(mode=searchCars)"
          },
          "bodyType": {
            "title": "Body type",
            "enum": [
              "2",
              "4",
              "12",
              "5",
              "6",
              "3",
              "9",
              "10"
            ],
            "type": "string",
            "description": "(mode=searchCars)"
          },
          "carCondition": {
            "title": "Vehicle condition",
            "enum": [
              "20",
              "50",
              "10",
              "93",
              "91",
              "30",
              "40"
            ],
            "type": "string",
            "description": "(mode=searchCars)"
          },
          "driveType": {
            "title": "Drive type",
            "enum": [
              "2",
              "1",
              "3"
            ],
            "type": "string",
            "description": "(mode=searchCars)"
          },
          "color": {
            "title": "Exterior colour",
            "enum": [
              "1",
              "2",
              "4",
              "3",
              "7",
              "8",
              "6",
              "5",
              "11",
              "13",
              "14",
              "15",
              "17",
              "10",
              "9"
            ],
            "type": "string",
            "description": "(mode=searchCars)"
          },
          "powerFrom": {
            "title": "Power from (kW)",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "(mode=searchCars) Minimum engine power."
          },
          "powerTo": {
            "title": "Power to (kW)",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "(mode=searchCars) Maximum engine power."
          },
          "realEstateCategory": {
            "title": "Real-estate category",
            "enum": [
              "rentApartment",
              "buyApartment",
              "rentHouse",
              "buyHouse",
              "land",
              "newBuild",
              "commercialRent",
              "commercialBuy",
              "holidayRent",
              "holidayBuy",
              "otherRealEstate"
            ],
            "type": "string",
            "description": "(mode=searchRealEstate) Which property market to search.",
            "default": "rentApartment"
          },
          "propertySubtype": {
            "title": "Property subtype",
            "enum": [
              "110",
              "105",
              "111",
              "113",
              "100",
              "101",
              "102",
              "112",
              "3",
              "16",
              "27",
              "2",
              "9",
              "11",
              "15",
              "1",
              "22",
              "17",
              "19",
              "21",
              "118",
              "14",
              "119",
              "116",
              "117",
              "18"
            ],
            "type": "string",
            "description": "(mode=searchRealEstate) Optional subtype such as penthouse, detached house or building plot."
          },
          "rooms": {
            "title": "Rooms",
            "enum": [
              "1X1",
              "2X2",
              "3X3",
              "4X4",
              "5X5",
              "6X9",
              "10X",
              "0X0"
            ],
            "type": "string",
            "description": "(mode=searchRealEstate) Room-count bucket."
          },
          "livingAreaFrom": {
            "title": "Living area from (m²)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "(mode=searchRealEstate)"
          },
          "livingAreaTo": {
            "title": "Living area to (m²)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "(mode=searchRealEstate)"
          },
          "plotAreaFrom": {
            "title": "Plot area from (m²)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "(mode=searchRealEstate)"
          },
          "plotAreaTo": {
            "title": "Plot area to (m²)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "(mode=searchRealEstate)"
          },
          "freeAreaType": {
            "title": "Outdoor area",
            "enum": [
              "20",
              "40",
              "60",
              "30",
              "10",
              "50"
            ],
            "type": "string",
            "description": "(mode=searchRealEstate) Balcony, terrace, garden, etc."
          },
          "equipment": {
            "title": "Real-estate equipment",
            "enum": [
              "24",
              "25",
              "26",
              "27",
              "4",
              "23",
              "250",
              "15",
              "28"
            ],
            "type": "string",
            "description": "(mode=searchRealEstate) e.g. lift, cellar, parking, built-in kitchen."
          },
          "availableNow": {
            "title": "Available immediately",
            "type": "boolean",
            "description": "(mode=searchRealEstate) Only listings available now.",
            "default": false
          },
          "jobRegion": {
            "title": "Job region",
            "enum": [
              "13553",
              "13602",
              "13677",
              "13859",
              "14096",
              "13783",
              "14366",
              "14445",
              "14486",
              "13552",
              "14513",
              "14523"
            ],
            "type": "string",
            "description": "(mode=searchJobs)"
          },
          "employmentMode": {
            "title": "Employment type",
            "enum": [
              "110",
              "113",
              "109",
              "11796"
            ],
            "type": "string",
            "description": "(mode=searchJobs)"
          },
          "jobPosition": {
            "title": "Job position",
            "enum": [
              "13540",
              "13541",
              "13539",
              "13542",
              "13543",
              "13544",
              "28428"
            ],
            "type": "string",
            "description": "(mode=searchJobs)"
          },
          "jobOperationArea": {
            "title": "Job field",
            "enum": [
              "12666",
              "12681",
              "12746",
              "12769",
              "17007",
              "12887",
              "12984",
              "13094",
              "13186",
              "13260",
              "13272",
              "13342",
              "13359",
              "13375",
              "13440",
              "12806",
              "13483"
            ],
            "type": "string",
            "description": "(mode=searchJobs)"
          },
          "jobCompanyType": {
            "title": "Employer type",
            "enum": [
              "agency",
              "direct_employer"
            ],
            "type": "string",
            "description": "(mode=searchJobs)"
          },
          "jobTimeLimit": {
            "title": "Job posting age",
            "enum": [
              "all",
              "last_24_hours",
              "last_72_hours",
              "last_week"
            ],
            "type": "string",
            "description": "(mode=searchJobs)"
          },
          "incrementalMode": {
            "title": "Incremental monitoring",
            "type": "boolean",
            "description": "Return only new/changed listings or jobs on recurring runs. The first run returns everything as NEW.",
            "default": false
          },
          "stateKey": {
            "title": "Monitoring campaign name",
            "type": "string",
            "description": "(incrementalMode) Stable name for this search so later runs compare against the right state. Leave empty to derive it from the filters."
          },
          "emitUnchanged": {
            "title": "Include unchanged records",
            "type": "boolean",
            "description": "(incrementalMode) Also return records whose tracked fields did not change.",
            "default": false
          },
          "emitExpired": {
            "title": "Include expired records",
            "type": "boolean",
            "description": "(incrementalMode) After a complete scan, also emit listings/jobs that disappeared since the last run.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}