# ImmobilienScout24 Listing Scraper

> ImmobilienScout24 Listing Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured real estate listings (apartments and houses for rent or sale) from ImmobilienScout24 German city search pages

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/immobilienscout?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/immobilienscout24-listing-scraper-8ffe1b02
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dEImPaEPdjZDdulUrPMp8

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability immobilienscout24-listing-scraper-8ffe1b02 -d '<json body>'
```

Example prompt: Scrape up to 200 apartment rental listings from ImmobilienScout24 for Berlin using this search URL: https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten, checking up to 30 regional pages.

## When to prefer this

Use this endpoint when you need structured, machine-readable real estate listing data from ImmobilienScout24 — Germany's largest property portal — across rental and purchase categories for apartments and houses. Prefer it over generic web scrapers when you want normalized JSON output (price, title, listing ID, offer type) without parsing raw HTML. Best suited for German city and district-level searches using ImmobilienScout24's standard search URLs.

## Known failure modes

- Empty result set if the start URL does not match the expected ImmobilienScout24 format or ends in an unsupported path segment
- No listings returned if the city/district has no active listings at query time
- Partial results if maxRegions is set too low to cover all district pages
- Request may time out for very large maxItems or maxRegions values
- Invalid startUrl format returns an error with no charge

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object containing a count of listings found and an array of listing items, each with title, link, price, currency, listing ID, offer type (rent/buy), property type (apartment/house), and price interval (e.g. monthly). The product field confirms 'immobilienscout'. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "maximum": 10000,
   "minimum": 1,
   "description": "Stop after this many unique listing rows. The regional pages may contain fewer listings."
  },
  "startUrl": {
   "type": "string",
   "description": "German city or district search URL ending in wohnung-mieten, wohnung-kaufen, haus-mieten, or haus-kaufen. Regional selections are used; query-string filters are not applied."
  },
  "maxRegions": {
   "type": "integer",
   "default": 25,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum number of city and linked district pages to inspect. More pages may find more unique listings."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "link": null,
    "price": null,
    "title": null,
    "currency": null,
    "listingId": null,
    "offerType": null,
    "propertyType": null,
    "priceInterval": null
   }
  ],
  "product": "immobilienscout"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/immobilienscout24-listing-scraper-8ffe1b02/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
