{
  "openapi": "3.0.1",
  "info": {
    "title": "Immowelt Germany Rent & Buy Listings Scraper",
    "description": "Scrape Immowelt.de - one of Germany's largest real-estate portals. Search rental and for-sale apartments and houses by city, price, rooms, living space, and amenities, or scrape a specific Immowelt search-results URL.",
    "version": "1.0",
    "x-build-id": "7uMuGZ3LeiapvgTvJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vexaloom-labs~immowelt-germany-rent-and-buy-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vexaloom-labs-immowelt-germany-rent-and-buy-listings-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/vexaloom-labs~immowelt-germany-rent-and-buy-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-vexaloom-labs-immowelt-germany-rent-and-buy-listings-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/vexaloom-labs~immowelt-germany-rent-and-buy-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-vexaloom-labs-immowelt-germany-rent-and-buy-listings-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "byUrl",
              "byIds"
            ],
            "type": "string",
            "description": "How to find listings: by German city and filters, by a pasted Immowelt search URL, or by listing IDs / expose URLs.",
            "default": "search"
          },
          "city": {
            "title": "City (mode=search)",
            "type": "string",
            "description": "German city or town, for example Berlin, Muenchen, Hamburg, Koeln or Frankfurt am Main. Any place Immowelt indexes can be used.",
            "default": "Berlin"
          },
          "distributionType": {
            "title": "Rent or buy (mode=search)",
            "enum": [
              "mieten",
              "kaufen",
              "zwangsversteigerung"
            ],
            "type": "string",
            "description": "Choose rentals, for-sale listings, or compulsory auctions.",
            "default": "mieten"
          },
          "estateType": {
            "title": "Property type (mode=search)",
            "enum": [
              "wohnung",
              "haus",
              "grundstueck",
              "wohnen_auf_zeit",
              "buero",
              "einzelhandel",
              "lager_produktion",
              "gastronomie",
              "landwirtschaft",
              "stellplatz",
              "gebaeude",
              "senioren",
              "projekt",
              "sonstiges"
            ],
            "type": "string",
            "description": "Broad property category. Temporary living is rent-only and is automatically switched to rentals. All 14 Immowelt categories are supported.",
            "default": "wohnung"
          },
          "estateSubType": {
            "title": "Property sub-type (mode=search)",
            "enum": [
              "",
              "Agriculture_Company",
              "Agriculture_Forestry",
              "Apart_Hotel",
              "Apartment_House",
              "Assisted_Living",
              "Atelier",
              "Barge",
              "Bed_N_Breakfast",
              "Boat_Dock",
              "Boutique",
              "Bungalow",
              "Cafe_Bar_Pub",
              "Campsite",
              "Car_Park",
              "Carport",
              "Castle",
              "Chalet",
              "Club_Discotheque",
              "Commercial",
              "Commercial_Parc",
              "Commercial_Villa",
              "Corner_Terrace_House",
              "Country_Cottage",
              "Coworking",
              "Double_Garage",
              "Duplex",
              "End_Terrace_House",
              "Farm_Ranch",
              "Farmhouse",
              "Fields",
              "Finca",
              "Fishing",
              "Flatsharing_Room",
              "Forestry",
              "Garage",
              "Garage_Area",
              "Garage_Repair",
              "Garden_House",
              "Gardening",
              "Gite",
              "Holiday_Park",
              "Hotel",
              "House_Park",
              "House_To_Build",
              "House_To_Build_With_Plot",
              "Hunting",
              "Industry",
              "Kiosk",
              "Kot",
              "Lakeside_Property",
              "Large_Town_House",
              "Leisure",
              "Leisure_Facility",
              "Living",
              "Living_And_Commercial",
              "Living_And_Commercial_Building",
              "Loft",
              "Loft_Atelier",
              "Logistics_Center",
              "Manor_House",
              "Mansion",
              "Meadow",
              "Medical",
              "Medical_Building",
              "Medical_Care",
              "Medical_Floor",
              "Mid_Terrace_House",
              "Mill",
              "Misc_Agriculture",
              "Misc_Storage",
              "Miscellaneous",
              "Mixed",
              "Mixed_Use_Building_Commercial",
              "Mobile_Home",
              "Mountain_Hut",
              "Multi_Family_House",
              "Multi_Storey",
              "Office_Building",
              "Office_Centre",
              "Office_Space",
              "Office_Storage_Building",
              "Open_Space",
              "Orchard",
              "Outdoor_Space",
              "Outside",
              "Parking_Area",
              "Pavilion",
              "Penthouse",
              "Production_Hall",
              "Residential_Complex",
              "Restaurant",
              "Riding",
              "Rustico",
              "Sales_Area",
              "Semidetached_House",
              "Shared_Office",
              "Shopping_Centre",
              "Showroom_Space",
              "Single_Family_House",
              "Single_Office",
              "Special_Real_Estate",
              "Special_Use",
              "Static_Caravan",
              "Store",
              "Street_Parking",
              "Structure",
              "Studio",
              "Terrace",
              "Terrace_House",
              "Town_House",
              "Underground_Garage",
              "Underground_Parking_Space",
              "Unfinished_Attic_Space",
              "Villa",
              "Warehouse_Hall",
              "Winery"
            ],
            "type": "string",
            "description": "Optional narrower sub-type. Use a value that belongs to the chosen property type; leave empty for any sub-type.",
            "default": ""
          },
          "minPrice": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "maximum": 50000000,
            "type": "integer",
            "description": "Minimum monthly cold rent or purchase price in EUR."
          },
          "maxPrice": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "maximum": 50000000,
            "type": "integer",
            "description": "Maximum monthly cold rent or purchase price in EUR."
          },
          "minRooms": {
            "title": "Minimum rooms",
            "minimum": 0,
            "maximum": 50,
            "type": "number",
            "description": "Smallest number of rooms to include."
          },
          "maxRooms": {
            "title": "Maximum rooms",
            "minimum": 0,
            "maximum": 50,
            "type": "number",
            "description": "Largest number of rooms to include."
          },
          "minArea": {
            "title": "Minimum living space (m2)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Minimum living space in square metres."
          },
          "maxArea": {
            "title": "Maximum living space (m2)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Maximum living space in square metres."
          },
          "minPlotArea": {
            "title": "Minimum plot size (m2)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Minimum plot or land size in square metres."
          },
          "maxPlotArea": {
            "title": "Maximum plot size (m2)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Maximum plot or land size in square metres."
          },
          "minYearBuilt": {
            "title": "Earliest construction year",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest year the building was constructed."
          },
          "maxYearBuilt": {
            "title": "Latest construction year",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest year the building was constructed."
          },
          "minBedrooms": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Smallest number of bedrooms to include."
          },
          "maxBedrooms": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Largest number of bedrooms to include."
          },
          "features": {
            "title": "Required features",
            "type": "array",
            "description": "Only include listings that have all selected features. Leave empty for no feature filter.",
            "items": {
              "type": "string",
              "enum": [
                "air_conditioned",
                "assisted_living",
                "balcony_terrace",
                "bathroom_window",
                "bathtub",
                "cellar",
                "commission_free",
                "elevator",
                "exclusive",
                "garden",
                "fitted_kitchen",
                "no_media",
                "parking",
                "pets",
                "barrier_free",
                "swimming_pool",
                "vacant"
              ],
              "enumTitles": [
                "Air conditioning",
                "Assisted / senior living",
                "Balcony / terrace",
                "Bathroom window",
                "Bathtub",
                "Cellar / basement",
                "Commission-free",
                "Lift / elevator",
                "Exclusive fit-out",
                "Garden",
                "Fitted kitchen",
                "No media / photos",
                "Parking / garage",
                "Pets allowed",
                "Reduced-mobility access",
                "Swimming pool",
                "Vacant"
              ]
            },
            "default": []
          },
          "energyClass": {
            "title": "Energy efficiency classes",
            "type": "array",
            "description": "Only include listings with one of the selected German energy certificate classes (A+ is the most efficient).",
            "items": {
              "type": "string",
              "enum": [
                "A+",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H"
              ],
              "enumTitles": [
                "A+ (most efficient)",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H"
              ]
            },
            "default": []
          },
          "buildState": {
            "title": "Building condition",
            "type": "array",
            "description": "Only include listings in one of the selected building conditions.",
            "items": {
              "type": "string",
              "enum": [
                "first_time_use",
                "mint_condition",
                "well_kept",
                "modernised",
                "fully_renovated",
                "partly_renovated",
                "refurbished",
                "need_of_renovation",
                "projected"
              ],
              "enumTitles": [
                "First occupancy",
                "Mint condition",
                "Well kept",
                "Modernised",
                "Fully renovated",
                "Partly renovated",
                "Refurbished",
                "Needs renovation",
                "Planned / under construction"
              ]
            },
            "default": []
          },
          "projectTypes": {
            "title": "Project / tenure types",
            "type": "array",
            "description": "Only include listings with one of the selected project or tenure types, such as new build, resale, investment or apartment swap.",
            "items": {
              "type": "string",
              "enum": [
                "flatsharing",
                "investment",
                "life_annuity",
                "new_build",
                "projected",
                "resale",
                "short_time_rental",
                "stock",
                "swap_apartment"
              ],
              "enumTitles": [
                "Flatsharing / shared flat",
                "Investment property",
                "Life annuity",
                "New build",
                "Planned / under construction",
                "Resale",
                "Short-term rental",
                "Existing stock",
                "Apartment swap"
              ]
            },
            "default": []
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "private",
              "professional"
            ],
            "type": "string",
            "description": "Filter by private owners, professional agents, or any seller.",
            "default": "any"
          },
          "wbsRequired": {
            "title": "WBS required (subsidised housing)",
            "type": "boolean",
            "description": "Only include listings that require a certificate of eligibility (Wohnberechtigungsschein).",
            "default": false
          },
          "floorLocation": {
            "title": "Floor location",
            "type": "array",
            "description": "Only include listings on one of the selected floor locations.",
            "items": {
              "type": "string",
              "enum": [
                "ground_floor",
                "half_basement",
                "roof_storey"
              ],
              "enumTitles": [
                "Ground floor",
                "Half basement / souterrain",
                "Roof storey / attic"
              ]
            },
            "default": []
          },
          "excludeGroundFloor": {
            "title": "Exclude ground floor",
            "type": "boolean",
            "description": "Skip ground-floor listings.",
            "default": false
          },
          "includeKeywords": {
            "title": "Include keywords",
            "type": "array",
            "description": "Keep only listings whose title or description contains every listed keyword (case-insensitive).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop listings whose title or description contains any listed keyword (case-insensitive).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "",
              "newest",
              "priceAsc",
              "priceDesc",
              "areaAsc",
              "areaDesc",
              "roomsAsc",
              "roomsDesc",
              "pricePerSqmAsc",
              "pricePerSqmDesc"
            ],
            "type": "string",
            "description": "Order applied by Immowelt across the whole result set, not just one page.",
            "default": ""
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on emitted listings. Full result sets are paginated, so values up to 10,000 are supported.",
            "default": 100
          },
          "searchUrl": {
            "title": "Search URL (mode=byUrl)",
            "type": "string",
            "description": "A full Immowelt search-results URL, either a modern /classified-search URL or a /suche/... page. Any filters in the URL are respected."
          },
          "propertyIds": {
            "title": "Listing IDs or expose URLs (mode=byIds)",
            "type": "array",
            "description": "Immowelt classified IDs or full /expose/... URLs. Both forms can be mixed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Include exposé details",
            "type": "boolean",
            "description": "Fetch each listing's exposé page to add construction year, heating, energy consumption, coordinates, amenities, price breakdown, documents and the full description. Adds one request per listing.",
            "default": false
          },
          "maxDetails": {
            "title": "Maximum detailed listings",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "How many emitted listings get exposé enrichment. 0 means all emitted listings.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}