Discover/Immoscout24 API
live

Immoscout24 APIimmoscout24.de

Search and retrieve real estate listings from Immobilienscout24.de. Filter by location, property type, rent or sale. Returns price, rooms, space, and full property details.

Endpoint health
verified 7d ago
get_listing_details
search_listings
2/2 passing latest checkself-healing
Endpoints
2
Updated
22d ago

What is the Immoscout24 API?

The Immobilienscout24 API provides access to German property listings via 2 endpoints covering search and detail retrieval. The search_listings endpoint returns paginated summaries — title, address, price, living space, and room count — for apartments and houses across Germany, while get_listing_details returns a flat object with over a dozen property attributes including rent components, balcony availability, postal code, and geographic region fields.

Try it
Page number for pagination, starting from 1.
Location path in the format 'state/city' or 'state/city/district', e.g. 'berlin/berlin', 'bayern/muenchen', 'nordrhein-westfalen/koeln'.
Type of real estate listing. Accepted values: 'wohnung-mieten' (apartment rent), 'wohnung-kauf' (apartment buy), 'haus-mieten' (house rent), 'haus-kauf' (house buy).
api.parse.bot/scraper/643cd5c4-de62-4953-9dd5-f0cf43c84927/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/643cd5c4-de62-4953-9dd5-f0cf43c84927/search_listings?page=1&location=berlin%2Fberlin&real_estate_type=wohnung-mieten' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace immoscout24-de-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Immobilienscout24 SDK — search listings and inspect details."""
from parse_apis.immobilienscout24_api import (
    Immobilienscout24, RealEstateType, ListingNotFound
)

client = Immobilienscout24()

# Search for apartments to rent in Berlin — limit= caps total items fetched.
for listing in client.listingsummaries.search(
    location="berlin/berlin",
    real_estate_type=RealEstateType.APARTMENT_RENT,
    limit=5,
):
    print(listing.title, listing.price, listing.address.city)

# Drill-down: take ONE listing and fetch its full details.
result = client.listingsummaries.search(
    location="hamburg/hamburg",
    real_estate_type=RealEstateType.HOUSE_BUY,
    limit=1,
).first()

if result:
    detail = result.details()
    print(detail.obj_scoutId, detail.obj_baseRent, detail.obj_livingSpace)

# Direct lookup by ID via the listings collection.
try:
    full = client.listings.get(id="164121835")
    print(full.obj_street, full.obj_zipCode, full.obj_noRooms)
except ListingNotFound as exc:
    print(f"Listing gone: {exc}")

print("exercised: listingsummaries.search / listing.details / listings.get")
All endpoints · 2 totalmissing one? ·

Search for real estate listings in Germany by region and type. Returns paginated results with listing summaries including title, address, price, living space, and room count. The base pagination unit is 20 listings per page. Results are drawn from the embedded search model on the IS24 search page.

Input
ParamTypeDescription
pageintegerPage number for pagination, starting from 1.
locationstringLocation path in the format 'state/city' or 'state/city/district', e.g. 'berlin/berlin', 'bayern/muenchen', 'nordrhein-westfalen/koeln'.
real_estate_typestringType of real estate listing. Accepted values: 'wohnung-mieten' (apartment rent), 'wohnung-kauf' (apartment buy), 'haus-mieten' (house rent), 'haus-kauf' (house buy).
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "type": "string real estate type used in the search",
    "count": "integer total number of matching listings across all pages",
    "listings": "array of listing objects with id, expose_id, title, address, price, currency, price_interval, living_space, number_of_rooms, url",
    "location": "string location path used in the search",
    "total_pages": "integer total number of pages available"
  },
  "sample": {
    "data": {
      "page": 1,
      "type": "wohnung-mieten",
      "count": 7948,
      "listings": [
        {
          "id": "131006270",
          "url": "https://www.immobilienscout24.de/expose/131006270",
          "price": 1273.06,
          "title": "Einzigartige Dachgeschosswohnung im Neubau am Tegeler See mit 2 Balkonen und Einbauküche",
          "address": {
            "city": "Berlin",
            "street": "Wilkestraße",
            "quarter": "Tegel (Reinickendorf)",
            "postcode": "13507",
            "house_number": "2"
          },
          "currency": "EUR",
          "expose_id": "131006270",
          "living_space": 48.04,
          "price_interval": "MONTH",
          "number_of_rooms": 2
        }
      ],
      "location": "berlin/berlin",
      "total_pages": 379
    },
    "status": "success"
  }
}

About the Immoscout24 API

Search Listings

The search_listings endpoint accepts a location parameter in state/city or state/city/district format (e.g. berlin/berlin, bayern/muenchen) and a real_estate_type parameter that controls whether you're querying rental apartments (wohnung-mieten), apartments for purchase (wohnung-kauf), rental houses (haus-mieten), or houses for sale (haus-kauf). Results are paginated at 20 listings per page using the page parameter. Each listing object in the listings array includes an id, expose_id, title, address, price, currency, price_interval, living_space, number_of_rooms, and a direct url to the listing. The response also returns count (total matching listings) and total_pages so you can iterate programmatically.

Listing Details

The get_listing_details endpoint accepts a numeric Scout ID string (obtained from search_listings results as the id field) and returns a flat key-value object. Property attributes use an obj_ prefix: obj_baseRent and obj_totalRent give the base and total monthly rent in EUR, obj_livingSpace is the area in square meters, obj_noRooms is the room count, and obj_balcony is a y/n flag. Address data is broken into obj_street, obj_zipCode, obj_regio1, and obj_regio2 for region hierarchy. This flat structure makes it straightforward to map into a database schema without deep nesting.

Coverage and Scope

The API covers Immobilienscout24.de, Germany's largest property portal. The location parameter supports German states and cities using URL-slug format. There is no built-in price-range filter parameter in the current endpoints — filtering by price requires post-processing the results client-side after retrieving the paginated listings.

Reliability & maintenanceVerified

The Immoscout24 API is a managed, monitored endpoint for immoscout24.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when immoscout24.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official immoscout24.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate rental apartment listings in Berlin or Munich filtered by district using the location parameter
  • Build a price-per-square-meter dataset by combining obj_baseRent and obj_livingSpace from detail responses
  • Track listing availability over time using expose_id and obj_scoutId as stable identifiers
  • Compare total rent (obj_totalRent) vs base rent (obj_baseRent) across neighborhoods to estimate service charge norms
  • Feed a property alert system that notifies users when new listings match a given location and real_estate_type
  • Populate a map layer with property locations using obj_zipCode, obj_regio1, and obj_regio2 fields
  • Analyze room count distributions across property types by iterating obj_noRooms from detail responses
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Immobilienscout24 have an official public developer API?+
Immobilienscout24 previously offered a partner API at api.immobilienscout24.de aimed at real estate software vendors, but it required a formal partnership agreement and was not freely accessible to individual developers. This Parse API provides access to the same listing data without that partnership requirement.
What does `get_listing_details` return beyond what `search_listings` already includes?+
search_listings returns summary fields: title, address, price, living space, and room count. get_listing_details goes further with broken-out address components (obj_street, obj_zipCode, obj_regio1, obj_regio2), separate rent figures (obj_baseRent vs obj_totalRent), and amenity flags like obj_balcony. You need the Scout ID from a search result to call the detail endpoint.
Can I filter search results by price range or minimum room count directly in the API?+
Not currently. The search_listings endpoint filters by location and real_estate_type only. Price and room count filtering requires retrieving results and applying those conditions client-side. You can fork this API on Parse and revise it to add price or room-count filter parameters to the endpoint.
Does the API cover commercial real estate or new-development listings?+
The current real_estate_type values cover residential rentals and purchases (apartments and houses). Commercial properties and new-development projects are not covered by the existing endpoints. You can fork this API on Parse and revise it to target those listing categories.
How does pagination work in `search_listings`?+
Each page returns up to 20 listings. The response includes total_pages and count (total matching listings), so you can calculate how many pages to iterate. Pass the page parameter starting from 1. If page is omitted, the first page is returned.
Page content last updated . Spec covers 2 endpoints from immoscout24.de.
Related APIs in Real EstateSee all →
immobilienscout24.de API
Access Germany's largest real estate portal to retrieve geocode suggestions, detailed listing information, property images, and realtor contact details. Browse ImmobilienScout24.de properties with comprehensive data on locations, descriptions, photos, and agent information at your fingertips.
immoscout24.ch API
Search residential and commercial property listings on ImmoScout24 by location, price, and room count, then access detailed information including images, company details, and property types. Find your ideal property with comprehensive filtering options and complete listing data all in one place.
immowelt.de API
Search and browse real estate listings across Germany on Immowelt.de, with access to property details, images, and features for both rentals and sales. Filter results by location and sorting preferences to find properties that match your needs.
immonet.de API
Search real estate listings across Germany and retrieve detailed property information including pricing, features, and location data from immonet.de. Find properties for sale or rent with comprehensive market data.
autoscout24.com API
Search millions of car listings on AutoScout24 and filter results by make, model, price, mileage, and other vehicle specifications. Explore vehicle taxonomy and aggregated data to discover market trends and compare automotive options across Europe's largest car marketplace.
wg-gesucht.de API
Search and filter housing listings on WG-Gesucht.de to find shared apartments and rooms that match your budget, location, and availability preferences. Retrieve detailed listing information including rent, room size, district, and contact details.
inberlinwohnen.de API
Search and browse affordable apartment listings from Berlin's state-owned housing companies, view detailed property information, and access company profiles and tenant guides. Find your next home in Berlin with comprehensive data on available rentals and housing provider information in one place.
kleinanzeigen.de API
Search and retrieve classified ad listings from kleinanzeigen.de. Filter by keyword, category, price range, and sorting order. Supports vehicles, real estate, jobs, electronics, and general products, with full listing details including title, price, description, location, and seller information.