{
  "openapi": "3.0.1",
  "info": {
    "title": "ImmoScout24 Scraper: German Rentals and Homes for Sale",
    "description": "Scrape immobilienscout24.de listings to rent or buy by German city or ImmoScout24 search link. Each row: rent or price, rooms, living space, address, coordinates, energy class, agency and its published phone, photos, description, costs, year built. Private sellers never get a phone. No login.",
    "version": "0.1",
    "x-build-id": "afiXxMgkM1PPNshya"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~immobilienscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-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/themineworks~immobilienscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-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/themineworks~immobilienscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-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": {
          "locations": {
            "title": "Places in Germany",
            "type": "array",
            "description": "One place per line, as you would type it in the ImmoScout24 search box: a city (Berlin, München, Köln) or a district or quarter (München Bogenhausen, Berlin Kreuzberg, Hamburg Altona-Altstadt). Each place is searched with the filters below. When you give nothing at all the actor searches Berlin.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "ImmoScout24 links",
            "type": "array",
            "description": "Optional. Search pages from immobilienscout24.de (https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten?price=-1200.0&numberofrooms=2.0-) are read with the filters already in the link; the filters below do not apply to them. Listing pages (https://www.immobilienscout24.de/expose/168986451) return that one listing in full. Germany only.",
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "To rent or to buy",
            "enum": [
              "rent",
              "sale"
            ],
            "type": "string",
            "description": "Which listings to search for each place.",
            "default": "rent"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartment",
              "house"
            ],
            "type": "string",
            "description": "Apartments or houses.",
            "default": "apartment"
          },
          "minPrice": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. For rents this is the cold rent per month."
          },
          "maxPrice": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. For rents this is the cold rent per month."
          },
          "minRooms": {
            "title": "Minimum rooms",
            "minimum": 0,
            "type": "number",
            "description": "Optional. German room count (Zimmer): living room and bedrooms, without kitchen and bathroom. 2.5 is allowed."
          },
          "maxRooms": {
            "title": "Maximum rooms",
            "minimum": 0,
            "type": "number",
            "description": "Optional."
          },
          "minSize": {
            "title": "Minimum living space (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "maxSize": {
            "title": "Maximum living space (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional."
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "newest",
              "price_low",
              "price_high",
              "size_high"
            ],
            "type": "string",
            "description": "Order of the results. Newest first suits schedules with Only new listings.",
            "default": "newest"
          },
          "maxListingsPerSearch": {
            "title": "Max listings per search",
            "minimum": 20,
            "maximum": 5000,
            "type": "integer",
            "description": "How many listings to collect for each place or search link, 20 to 5,000. ImmoScout24 lists 50 a page.",
            "default": 100
          },
          "includeDetails": {
            "title": "Add the listing page",
            "type": "boolean",
            "description": "On by default. Reads each listing's own page and adds the agency, contact person and the phone the agency publishes, the description, warm rent with service and heating costs and deposit, or commission and maintenance fee for sales, bedrooms, bathrooms, floor, year built, condition, heating, energy certificate, every photo and floor plans. Turn off for a faster run with the search card fields only. Same price per listing.",
            "default": true
          },
          "onlyNewListings": {
            "title": "Only listings not delivered before",
            "type": "boolean",
            "description": "For schedules: skip, and do not charge for, listings an earlier run with the same places and links already delivered. Each run then returns only listings that are new to you.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}