{
  "openapi": "3.0.1",
  "info": {
    "title": "ImmoScout24 Scraper",
    "description": "Scrape ImmoScout24 property listings — rent or buy across Germany, Austria, Switzerland. 78+ fields: price breakdown, rooms, energy class, agent contact, photos, fair price indicator. Search by city or paste URLs. JSON/CSV/Excel. API, MCP, webhook, AI-agent ready.",
    "version": "0.0",
    "x-build-id": "faM90DRaAvkttEr9L"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesmith~immoscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesmith-immoscout24-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/scrapesmith~immoscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesmith-immoscout24-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/scrapesmith~immoscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesmith-immoscout24-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": {
          "searchUrl": {
            "title": "Search URL (easiest — paste from browser)",
            "type": "string",
            "description": "Paste a full immobilienscout24.de search URL (apply your filters in the browser, then copy the address bar). Geocode, property type, and any query filters (price, rooms, size, equipment...) are read directly from it."
          },
          "geocode": {
            "title": "Geocode (direct)",
            "type": "string",
            "description": "A location geocode path, e.g. /de/berlin/berlin, /de/bayern/muenchen, or a postcode as /de/10115. Find it by pasting any immobilienscout24.de search URL and copying the path between '/Suche/' and the last segment. Ignored if Search URL is set."
          },
          "latitude": {
            "title": "Latitude (radius search)",
            "type": "number",
            "description": "Center latitude for a radius search. Combine with Longitude and Radius (km). Overrides Geocode."
          },
          "longitude": {
            "title": "Longitude (radius search)",
            "type": "number",
            "description": "Center longitude for a radius search. Combine with Latitude and Radius (km)."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "type": "integer",
            "description": "Search radius in km around Latitude/Longitude.",
            "default": 10
          },
          "listingIds": {
            "title": "Listing IDs (direct)",
            "type": "array",
            "description": "ImmoScout24 expose IDs to fetch directly (skips search entirely). When set, all search/location/filter inputs are ignored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "operation": {
            "title": "Buy or rent",
            "enum": [
              "rent",
              "buy"
            ],
            "type": "string",
            "description": "Whether to search for-sale or for-rent listings.",
            "default": "rent"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartment",
              "house",
              "plot",
              "garage",
              "investment",
              "sharedflat",
              "assistedliving"
            ],
            "type": "string",
            "description": "Type of real estate to search.",
            "default": "apartment"
          },
          "minPrice": {
            "title": "Min price (EUR)",
            "type": "integer",
            "description": "Minimum price (Kaltmiete for rent, purchase price for buy)."
          },
          "maxPrice": {
            "title": "Max price (EUR)",
            "type": "integer",
            "description": "Maximum price (Kaltmiete for rent, purchase price for buy)."
          },
          "minRooms": {
            "title": "Min rooms",
            "type": "number",
            "description": "Minimum number of rooms."
          },
          "maxRooms": {
            "title": "Max rooms",
            "type": "number",
            "description": "Maximum number of rooms."
          },
          "minLivingSpace": {
            "title": "Min living space (m²)",
            "type": "integer",
            "description": "Minimum living space in square meters."
          },
          "maxLivingSpace": {
            "title": "Max living space (m²)",
            "type": "integer",
            "description": "Maximum living space in square meters."
          },
          "minPlotArea": {
            "title": "Min plot size (m²)",
            "type": "integer",
            "description": "Minimum plot/ground size in square meters."
          },
          "maxPlotArea": {
            "title": "Max plot size (m²)",
            "type": "integer",
            "description": "Maximum plot/ground size in square meters."
          },
          "minConstructionYear": {
            "title": "Min construction year",
            "type": "integer",
            "description": "Earliest construction year."
          },
          "maxConstructionYear": {
            "title": "Max construction year",
            "type": "integer",
            "description": "Latest construction year."
          },
          "energyEfficiencyClasses": {
            "title": "Energy efficiency classes",
            "type": "array",
            "description": "Filter by EU EPC energy efficiency class.",
            "items": {
              "type": "string",
              "enum": [
                "a_plus",
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h"
              ],
              "enumTitles": [
                "A+",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H"
              ]
            }
          },
          "equipment": {
            "title": "Equipment",
            "type": "array",
            "description": "Filter by equipment/amenities.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "builtInKitchen",
                "garden",
                "parking",
                "cellar",
                "lift",
                "guestToilet",
                "handicappedaccessible"
              ],
              "enumTitles": [
                "Balcony/Terrace",
                "Fitted kitchen",
                "Garden",
                "Garage/Parking space",
                "Cellar",
                "Elevator",
                "Guest toilet",
                "Step-free access"
              ]
            }
          },
          "apartmentTypes": {
            "title": "Apartment types",
            "type": "array",
            "description": "Filter by apartment sub-type.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "groundfloor",
                "halfbasement",
                "loft",
                "maisonette",
                "other",
                "penthouse",
                "raisedgroundfloor",
                "roofstorey",
                "terracedflat"
              ],
              "enumTitles": [
                "Apartment",
                "Ground floor",
                "Half basement",
                "Loft",
                "Maisonette",
                "Other",
                "Penthouse",
                "Raised ground floor",
                "Roof storey",
                "Terraced flat"
              ]
            }
          },
          "buildingTypes": {
            "title": "Building types",
            "type": "array",
            "description": "Filter by building sub-type (for houses).",
            "items": {
              "type": "string",
              "enum": [
                "apartmentbuilding",
                "blockhouse",
                "bungalow",
                "cityvilla",
                "countryhouse",
                "farmhouse",
                "multifamilyhouse",
                "nondetachedhouse",
                "onefamilyhouse",
                "semidetachedhouse",
                "singlefamilyhouse",
                "terracehouse",
                "villa"
              ],
              "enumTitles": [
                "Apartment building",
                "Block house",
                "Bungalow",
                "City villa",
                "Country house",
                "Farmhouse",
                "Multifamily house",
                "Non-detached house",
                "One family house",
                "Semi-detached house",
                "Single family house",
                "Terrace house",
                "Villa"
              ]
            }
          },
          "newBuilding": {
            "title": "New builds only",
            "type": "boolean",
            "description": "Only include new-build / project listings.",
            "default": false
          },
          "sorting": {
            "title": "Sort order",
            "type": "string",
            "description": "Sort order value as used by ImmoScout24 (e.g. -firstactivation for newest first). Leave empty for default relevance sorting."
          },
          "fetchDetails": {
            "title": "Fetch full listing details",
            "type": "boolean",
            "description": "Fetch the full expose detail page for every listing (price breakdown, energy data, description, photos, agent contact). Turn off for a faster, lighter search-only run.",
            "default": true
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to return.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy (optional — not needed by default)",
            "type": "object",
            "description": "ImmoScout24's public listing API works cleanly without a proxy. Only set this if you're running very high volumes and want extra IP diversity."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}