Is there an ImmoScout24 API?

ImmoScout24 data access: the official API with OAuth keys for agents' own listings, the Search and Expose API for searching one property type, and a scraper for public search results, next to a JSON property listing record

Yes, there is an official ImmoScout24 API, but it is built for estate agents and their software suppliers. You register for keys, and the API serves the objects of an ImmoScout24 customer who authorises your application.

We found no public API that returns search results across all of Germany (checked on 23 October 2026). If you need the listings themselves, a scraper reads the same public search pages you see in the browser.

Official ImmoScout24 API

The ImmoScout24 API Developer Portal documents the API. Authentication is OAuth 1.0a. Your application gets a consumer key and a consumer secret. For anything that acts on a customer's account, the customer also has to log in once and authorise your application, which gives you an access token.

The Customer Website tutorial describes two APIs for showing a customer's objects on their own website:

Search and Expose APIImport/Export API
Suited toRealtors with more than 100 objectsSmaller realtors
ResultSearch results and single objectsAll objects in one request
Search, paging, sortingYes, within one real estate typeNo

The registration form asks what you are building. The tutorial says to choose "Kundenwebsite / Immobilienverwaltungssoftware" so that the key has the right permissions. Both APIs are about the objects of ImmoScout24 customers. The portal shows no endpoint that exports the whole marketplace.

So the official API suits a property management tool that shows or syncs one agent's listings. It does not help an analyst who wants rents across a city.

ImmoScout24 listings without an API

Our ImmobilienScout24 Scraper reads the public search results on immobilienscout24.de. You give it a city, a property type and rent or buy, or you paste a search URL. It returns the listings as a spreadsheet or JSON.

50listings in 78 seconds
$0.005per listing
23fields per listing
No keyor account needed

The Berlin rental run used this input:

{
    "location": "berlin",
    "propertyType": "wohnung",
    "listingType": "mieten",
    "maxResults": 50
}

One listing from it, trimmed to the main fields:

{
    "title": "Leben im Neuen Gartenfeld/ Neubauwohnung im Erstbezug / WBS erforderlich",
    "price": 896.08,
    "currency": "EUR",
    "listingType": "rent",
    "propertyType": "apartment",
    "address": "Alandstr. 69",
    "city": "Berlin",
    "postalCode": "13599",
    "bedrooms": 3,
    "surface": 77.92,
    "buildYear": 2026,
    "agencyName": "Gewobag Wohnungsbau-Aktiengesellschaft Berlin",
    "url": "https://www.immobilienscout24.de/expose/169486775"
}

The same input works for houses (haus), land (grundstueck), rooms, shared flats, garages and offices, and for buying (kaufen).

Search by URL

Filters for price, rooms and district are easiest to set on immobilienscout24.de itself. Copy the URL of the result page into startUrls and the actor uses every filter in it. This is also the route for any city outside Berlin, Hamburg and Bremen (see Limits).

{
    "startUrls": [
        { "url": "https://www.immobilienscout24.de/Suche/de/bayern/muenchen/wohnung-mieten" }
    ],
    "maxResults": 50
}

Field coverage

How often each field came back filled in the Berlin rental run (filled rows / all rows):

FieldBerlin rent, 50 rows
Title, price, city, postal code, surface, bedrooms, URL50/50
Photos48/50
Street address42/50
Latitude and longitude40/50
Build year36/50
Agency name33/50
Description, energy rating, bathrooms, land surface, agency URL0/50

Limits

  • The location field only works for Berlin, Hamburg and Bremen. A search with location: muenchen returned 0 listings in two runs. The same search as a pasted URL (/Suche/de/bayern/muenchen/wohnung-mieten) returned 20 listings. We filed this as a bug on the actor. Until it is fixed, use startUrls for other cities.
  • A run can return fewer listings than maxResults. With maxResults 30, the Munich URL run and a Berlin house-buy run each returned 20.
  • No description text, energy rating or bathroom count. These fields exist in the output but came back empty in every row.
  • Terms of use. Read the ImmoScout24 terms of use before you use the data in a product.
  • Prices are the advertised amount. For rentals this is the rent as listed, and the page decides whether that means cold or warm rent.

Cost

The actor charges $0.005 per listing plus $0.01 per run. The run fee is $0.01 per GB of memory and the actor starts with 1 GB. 100 listings cost about $0.51 and 1,000 listings about $5.01. A run that returns no listings still pays the run fee.

For commercial property see ImmoScout24 Gewerbe Scraper. For Austria see ImmoScout24 Austria Scraper. If you need listings delivered on a schedule, we also run managed feeds: hello@studioamba.dev.

The actor is on the Apify Store: apify.com/studio-amba/immoscout24-scraper