# Immoweb Discovery API Documentation

Scrappa's `GET /api/immoweb/discovery` endpoint returns Immoweb's own discovery feeds: newest listings, popular listings and similar listings.

## Modules

`newest-classifieds-for-sale` and `popular-classifieds` are the homepage modules and take no parameters. `newest`, `popular` and `similar` are search-derived feeds and require `transactionTypes`.

Each response includes a `search_context` block echoing the exact parameters the feed ran with, which is useful for reproducing a feed's result set as a normal search query.

## Pagination caveat

These feeds are fixed-size by design. `similar` always returns a small fixed number of rows regardless of any page window, and emits no total count — so treat a discovery response as a feed to read, not a result set to page. Use [Immoweb Search](/docs/immoweb-api/immoweb_search) when you need pagination or a total.

## Languages

Pass `language` as `nl`, `fr` or `en`. Bare two-letter codes only.

- **Documentation:** [https://scrappa.co/docs/immoweb-api/immoweb_discovery](https://scrappa.co/docs/immoweb-api/immoweb_discovery)
- **API group:** Immoweb API
- **Endpoint:** `GET https://scrappa.co/api/immoweb/discovery`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `module` | string | Yes | guest, newest-classifieds-for-sale, newest-classifieds-for-rent, popular-classifieds, newest, popular or similar. |
| `transactionTypes` | string | No | FOR_SALE or FOR_RENT. Required for the newest, popular and similar modules. |
| `language` | string | No | nl, fr or en. Bare two-letter codes only; defaults to nl. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/immoweb/discovery?module=newest&transactionTypes=FOR_SALE"
```

## Example response

```json
{
    "success": true,
    "module": "newest",
    "classifieds": [
        {
            "id": 21882350,
            "price": 449000
        }
    ],
    "search_context": null
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | One or more query parameters failed validation. No credits are charged. |
| 503 | Upstream Unavailable | One upstream lookup per request. A failed lookup is never billed. transactionTypes is required for the newest, popular and similar modules. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
