{
  "openapi": "3.0.1",
  "info": {
    "title": "ImmobilienScout24 Scraper - Germany Real Estate",
    "description": "Scrape Germany property listings from immobilienscout24.de search URLs: price, rooms, size, address, cost breakdown, features, energy data, full description, every photo and the agency contact. Buy or rent: apartments, houses, plots and more. Independent tool, not affiliated with ImmobilienScout24.",
    "version": "0.1",
    "x-build-id": "ada19T3tibXiWAEhR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~immobilienscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-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/scrapesage~immobilienscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-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/scrapesage~immobilienscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-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": {
          "startUrls": {
            "title": "immobilienscout24.de search URLs",
            "type": "array",
            "description": "immobilienscout24.de search URLs, one per line. Run a search on immobilienscout24.de (city or district, buy or rent, price, size, rooms, features ...), then paste the URL from the address bar. Apartments, houses, plots, garages, shared-flat rooms and short-term rentals for sale and rent all work. Single listing pages (<code>/expose/...</code>) are skipped at no cost. <b>Leave empty and the run returns a small sample.</b>",
            "items": {
              "type": "string"
            }
          },
          "startUrlsFromFile": {
            "title": "Import URLs from a file",
            "type": "string",
            "description": "Bulk-load immobilienscout24.de search URLs. Either <b>paste the whole list</b> (one per line), or give <b>a single link</b> to a public <code>.txt</code>/<code>.csv</code>, a Google Sheet/Drive link, or an Apify key-value-store record. A file that cannot be read says so and charges nothing."
          },
          "maxPagesPerUrl": {
            "title": "Max pages per URL",
            "minimum": 1,
            "type": "integer",
            "description": "How many result pages to follow for each search URL (20 listings per page). The run stops on its own at the end of the search.",
            "default": 10
          },
          "maxItems": {
            "title": "Max listings (total)",
            "minimum": 1,
            "type": "integer",
            "description": "Overall cap across all URLs. You are only charged for listings actually saved.",
            "default": 1000
          },
          "includeDetails": {
            "title": "Include full listing details",
            "type": "boolean",
            "description": "Read each listing's full record: description texts, every photo, the cost breakdown (cold rent, service charge, deposit, buyer commission), features (balcony, lift, cellar, kitchen ...), year built, condition, heating, energy data, floor, bedrooms and bathrooms, and the agency with its contact person and phone. Turn off for a faster run with search-page data only (price, size, rooms, address, energy class, one photo). The price per listing is the same either way.",
            "default": true
          },
          "outputFields": {
            "title": "Output fields (leave empty for all)",
            "type": "array",
            "description": "Pick the fields you want and every record is trimmed to exactly those - handy for lean CSV/Sheets exports.",
            "items": {
              "type": "string",
              "enum": [
                "type",
                "id",
                "url",
                "title",
                "propertyType",
                "marketingType",
                "price",
                "currency",
                "priceIntervalType",
                "pricePerSqm",
                "totalRent",
                "livingSpaceSqm",
                "plotAreaSqm",
                "rooms",
                "street",
                "houseNumber",
                "postcode",
                "city",
                "quarter",
                "fullAddress",
                "latitude",
                "longitude",
                "energyEfficiencyClass",
                "hasEnergyCertificate",
                "constructionYear",
                "builtInKitchen",
                "balcony",
                "garden",
                "lift",
                "guestToilet",
                "cellar",
                "barrierFree",
                "commissionFree",
                "privateOffer",
                "agentCompany",
                "contactName",
                "contactPhone",
                "tags",
                "images",
                "image",
                "hasFloorplan",
                "hasVideo",
                "listingTier",
                "isNewBuildProject",
                "projectName",
                "projectUrl",
                "groupedCount",
                "isOnlyOnIs24",
                "isNewListing",
                "publishedAt",
                "modifiedAt",
                "attributes",
                "sourceUrl",
                "scrapedAt",
                "publishedText",
                "publishedDate",
                "detailsIncluded",
                "description",
                "equipmentDescription",
                "locationDescription",
                "otherDescription",
                "apartmentType",
                "floor",
                "numberOfFloors",
                "bedrooms",
                "bathrooms",
                "availableFrom",
                "condition",
                "interiorQuality",
                "lastRefurbishment",
                "heatingType",
                "energySource",
                "energyConsumption",
                "energyCertificateType",
                "baseRent",
                "serviceCharge",
                "heatingCosts",
                "deposit",
                "buyerCommission",
                "usableAreaSqm",
                "parkingSpaces",
                "parkingType",
                "objectNumber",
                "agentRating",
                "agentProfileUrl",
                "floorplanUrl",
                "energyCertificateUrl",
                "hasVirtualTour",
                "houseBuilderOffer",
                "petsAllowed"
              ],
              "enumTitles": [
                "Record type (type)",
                "Listing id (id)",
                "Listing URL (url)",
                "Title (title)",
                "Property type (propertyType)",
                "Buy or rent (marketingType)",
                "Price / base rent (price)",
                "Currency (currency)",
                "Price interval (priceIntervalType)",
                "Price per m2 (pricePerSqm)",
                "Total rent incl. costs (totalRent)",
                "Living space m2 (livingSpaceSqm)",
                "Plot area m2 (plotAreaSqm)",
                "Rooms (rooms)",
                "Street (street)",
                "House number (houseNumber)",
                "Postcode (postcode)",
                "City (city)",
                "Quarter / district (quarter)",
                "Full address (fullAddress)",
                "Latitude (latitude)",
                "Longitude (longitude)",
                "Energy class (energyEfficiencyClass)",
                "Energy certificate (hasEnergyCertificate)",
                "Construction year (constructionYear)",
                "Built-in kitchen (builtInKitchen)",
                "Balcony (balcony)",
                "Garden (garden)",
                "Lift (lift)",
                "Guest toilet (guestToilet)",
                "Cellar (cellar)",
                "Barrier-free (barrierFree)",
                "No buyer commission (commissionFree)",
                "Private offer (privateOffer)",
                "Agent / company (agentCompany)",
                "Contact name (contactName)",
                "Contact phone (contactPhone)",
                "Badges (tags)",
                "Image URLs (images)",
                "Main image (image)",
                "Has floorplan (hasFloorplan)",
                "Has video (hasVideo)",
                "Listing tier (listingTier)",
                "New-build project (isNewBuildProject)",
                "Project name (projectName)",
                "Project URL (projectUrl)",
                "Units in the same project (groupedCount)",
                "Only on IS24 (isOnlyOnIs24)",
                "New listing flag (isNewListing)",
                "Published at (publishedAt)",
                "Modified at (modifiedAt)",
                "All listed attributes (attributes)",
                "Source URL (sourceUrl)",
                "Scraped at (scrapedAt)",
                "Online since, as shown (publishedText)",
                "Published date (publishedDate)",
                "Details included (detailsIncluded)",
                "Description (description)",
                "Equipment description (equipmentDescription)",
                "Location description (locationDescription)",
                "Other notes (otherDescription)",
                "Apartment / house type (apartmentType)",
                "Floor (floor)",
                "Number of floors (numberOfFloors)",
                "Bedrooms (bedrooms)",
                "Bathrooms (bathrooms)",
                "Available from (availableFrom)",
                "Condition (condition)",
                "Interior quality (interiorQuality)",
                "Last refurbishment (lastRefurbishment)",
                "Heating type (heatingType)",
                "Energy source (energySource)",
                "Energy consumption (energyConsumption)",
                "Energy certificate type (energyCertificateType)",
                "Cold rent (baseRent)",
                "Service charge (serviceCharge)",
                "Heating costs (heatingCosts)",
                "Deposit (deposit)",
                "Buyer commission (buyerCommission)",
                "Usable area m2 (usableAreaSqm)",
                "Parking spaces (parkingSpaces)",
                "Parking type (parkingType)",
                "Advertiser object number (objectNumber)",
                "Agent rating (agentRating)",
                "Agent profile (agentProfileUrl)",
                "Floor plan image or PDF (floorplanUrl)",
                "Energy certificate PDF (energyCertificateUrl)",
                "Has virtual tour (hasVirtualTour)",
                "House-builder offer (houseBuilderOffer)",
                "Pets allowed (petsAllowed)"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}