{
  "openapi": "3.0.1",
  "info": {
    "title": "ImmobilienScout24 Scraper - German Real Estate, No Login",
    "description": "Get ImmobilienScout24 listings for German property research: price, area, rooms, address and realtor company. Search by city or link. No login.",
    "version": "0.1",
    "x-build-id": "Y33HR3FXboHnHfDmU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cliqtomedia~immobilienscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cliqtomedia-immobilienscout24-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/cliqtomedia~immobilienscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cliqtomedia-immobilienscout24-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/cliqtomedia~immobilienscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cliqtomedia-immobilienscout24-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": {
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region or 5-digit postcode in Germany, for example Berlin, Bayern or 10115. Use this, a radius, or search links."
          },
          "operation": {
            "title": "Rent or buy",
            "enum": [
              "rent",
              "buy"
            ],
            "type": "string",
            "description": "Whether to search listings for rent or for sale. Offices, retail, gastronomy and industry ignore this choice: the source mixes rent and sale there, and the operation field of each row tells which it is.",
            "default": "rent"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartment",
              "house",
              "shared-flat",
              "short-term",
              "plot",
              "garage",
              "office",
              "retail",
              "gastronomy",
              "industry",
              "investment",
              "auction"
            ],
            "type": "string",
            "description": "What kind of property to search. Not every type exists for both rent and buy: auctions and investment are buy only.",
            "default": "apartment"
          },
          "searchUrls": {
            "title": "Search or listing links",
            "maxItems": 100,
            "type": "array",
            "description": "Up to 100 links from immobilienscout24.de: a /Suche/... search or an /expose/<id> listing. Filters below do not change a link: it keeps its own filters. Map-drawn areas are not supported.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many rows. Each search returns the newest listings first by default.",
            "default": 100
          },
          "fetchDetails": {
            "title": "Full listing details",
            "type": "boolean",
            "description": "On: open each listing for rent breakdown, year built, floor, description, images and realtor company. Off: search-page fields only, faster and cheaper, with no realtor company.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new listings",
            "type": "boolean",
            "description": "Return only listings not returned by an earlier run of the same search. The first run returns everything up to the limit.",
            "default": false
          },
          "detectPriceChanges": {
            "title": "Also report price changes",
            "type": "boolean",
            "description": "With \"Only new listings\": also return known listings whose search price changed, with the old price.",
            "default": false
          },
          "detectRemovedListings": {
            "title": "Also report removed listings",
            "type": "boolean",
            "description": "With \"Only new listings\": also return known listings that left the search. Reported only after a full walk of the search, so keep the limit above the search size.",
            "default": false
          },
          "stateName": {
            "title": "History name",
            "pattern": "^[a-z0-9](?:[a-z0-9-]{0,29}[a-z0-9])?$",
            "type": "string",
            "description": "Optional name of the history of seen listings. Runs with the same name share it. Leave empty to keep one history per search. Lowercase letters, digits and hyphens, up to 31 characters."
          },
          "minPrice": {
            "title": "Price from (EUR)",
            "minimum": 0,
            "type": "number",
            "description": "Lowest price. For rent this is the monthly cold rent. Filters work with \"Location\" and radius, not with links."
          },
          "maxPrice": {
            "title": "Price to (EUR)",
            "minimum": 0,
            "type": "number",
            "description": "Highest price."
          },
          "minRooms": {
            "title": "Rooms from",
            "minimum": 0,
            "type": "number",
            "description": "Fewest rooms, for apartments, houses and short-term stays."
          },
          "maxRooms": {
            "title": "Rooms to",
            "minimum": 0,
            "type": "number",
            "description": "Most rooms."
          },
          "minLivingSpace": {
            "title": "Area from (m²)",
            "minimum": 0,
            "type": "number",
            "description": "Smallest area. Living area for homes, floor area for commercial types, plot area for plots."
          },
          "maxLivingSpace": {
            "title": "Area to (m²)",
            "minimum": 0,
            "type": "number",
            "description": "Largest area."
          },
          "minYearBuilt": {
            "title": "Built from (year)",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest construction year, for apartments and houses."
          },
          "maxYearBuilt": {
            "title": "Built to (year)",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest construction year."
          },
          "minFloor": {
            "title": "Floor from",
            "minimum": -5,
            "maximum": 200,
            "type": "integer",
            "description": "Lowest floor, for apartments only."
          },
          "maxFloor": {
            "title": "Floor to",
            "minimum": -5,
            "maximum": 200,
            "type": "integer",
            "description": "Highest floor."
          },
          "equipment": {
            "title": "Equipment",
            "type": "array",
            "description": "Keep only listings with all selected features. An option the chosen property type does not support stops the run with a clear message.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "garden",
                "builtinkitchen",
                "lift",
                "cellar",
                "guesttoilet",
                "parking",
                "handicappedaccessible"
              ],
              "enumTitles": [
                "Balcony or terrace",
                "Garden",
                "Fitted kitchen",
                "Lift",
                "Cellar",
                "Guest toilet",
                "Parking",
                "Step-free access"
              ]
            }
          },
          "apartmentTypes": {
            "title": "Apartment types",
            "type": "array",
            "description": "Keep only these apartment types, for apartments only.",
            "items": {
              "type": "string",
              "enum": [
                "loft",
                "maisonette",
                "penthouse",
                "terracedflat",
                "groundfloor",
                "halfbasement",
                "roofstorey",
                "apartment",
                "raisedgroundfloor",
                "other"
              ],
              "enumTitles": [
                "Loft",
                "Maisonette",
                "Penthouse",
                "Terraced flat",
                "Ground floor",
                "Half basement",
                "Attic flat",
                "Standard apartment",
                "Raised ground floor",
                "Other"
              ]
            }
          },
          "energyEfficiencyClasses": {
            "title": "Energy classes",
            "type": "array",
            "description": "Keep only these energy efficiency classes.",
            "items": {
              "type": "string",
              "enum": [
                "a_plus",
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h"
              ],
              "enumTitles": [
                "A+",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H"
              ]
            }
          },
          "excludeNewBuildProjects": {
            "title": "Exclude new-build projects",
            "type": "boolean",
            "description": "Leave out new-build developer projects, for apartments and houses for sale, and apartments for rent.",
            "default": false
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0.1,
            "maximum": 200,
            "type": "number",
            "description": "Search around a point instead of a location. Needs latitude and longitude too."
          },
          "latitude": {
            "title": "Latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Latitude of the point, for example 52.52."
          },
          "longitude": {
            "title": "Longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Longitude of the point, for example 13.405."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "price-asc",
              "price-desc",
              "space-desc",
              "rooms-desc",
              "relevance"
            ],
            "type": "string",
            "description": "Order of listings. Applies to \"Location\" and radius searches, and to links that do not set their own order. The source does not offer every order for every property type: offices, retail, plots and garages cannot sort by area or rooms, and auctions only by newest or relevance. An order the type does not offer stops the run with a clear message that lists the ones it does.",
            "default": "newest"
          },
          "skipItems": {
            "title": "Skip listings",
            "minimum": 0,
            "type": "integer",
            "description": "Skip this many listings at the start of each search.",
            "default": 0
          },
          "language": {
            "title": "Text language",
            "enum": [
              "de",
              "en"
            ],
            "type": "string",
            "description": "Language of labels from the source. Titles and descriptions stay as the advertiser wrote them.",
            "default": "de"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed in normal use. Set a proxy only if the source starts refusing requests from Apify."
          },
          "deliveryConnector": {
            "title": "Send results to (optional)",
            "type": "string",
            "description": "Your Slack, Notion or other MCP connector. After the run the Actor posts a short summary there. Connect services once in Apify Console → MCP connectors."
          },
          "deliveryTarget": {
            "title": "Notion page or channel (optional)",
            "type": "string",
            "description": "Where to post the summary: a Notion page link (each run is added on top of that page) or a Slack channel ID. Leave empty to let the connector decide."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}