# Immovlan Agency Listings API Documentation

<p><strong>Immovlan Agency Listings API</strong> List the properties of one agency for sale, for rent and in public sale. It takes the same filters, sort and page as the search endpoint and returns the same listing rows. The transaction is optional here.</p>

- **Documentation:** [https://scrappa.co/docs/immovlan-api/immovlan_agency_listings](https://scrappa.co/docs/immovlan-api/immovlan_agency_listings)
- **API group:** Immovlan API
- **Endpoint:** `GET https://scrappa.co/api/immovlan/agency/listings`

## 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 |
| --- | --- | --- | --- |
| `agency_id` | integer | Yes | Agency id from a search result (agency.id). |
| `transaction` | string | No | for-sale, for-rent or in-public-sale (default all). |
| `property_type` | string | No | One or more, comma separated: house, apartment, land, garage, student-housing, business, investment-property, miscellaneous. |
| `property_subtype` | string | No | One or more, comma separated, e.g. residence, villa, bungalow, penthouse, duplex, studio, loft, ground-floor, development-site. |
| `municipal` | string | No | Municipality slugs from the autocomplete endpoint (type municipality), comma separated, e.g. antwerp. |
| `town` | string | No | Town slugs from the autocomplete endpoint (type town), comma separated, e.g. 2018-antwerp. |
| `province` | string | No | Province slugs from the autocomplete endpoint, comma separated, e.g. antwerp. |
| `region` | string | No | Region slugs from the autocomplete endpoint, comma separated, e.g. brussels-region. |
| `price_min` | integer | No | Minimum price in EUR (monthly rent for for-rent). |
| `price_max` | integer | No | Maximum price in EUR (monthly rent for for-rent). |
| `bedrooms_min` | integer | No | Minimum bedrooms. |
| `bedrooms_max` | integer | No | Maximum bedrooms. |
| `bathrooms_min` | integer | No | Minimum bathrooms. |
| `bathrooms_max` | integer | No | Maximum bathrooms. |
| `area_min` | integer | No | Minimum living area in m2. |
| `area_max` | integer | No | Maximum living area in m2. |
| `plot_area_min` | integer | No | Minimum total (plot) area in m2. |
| `plot_area_max` | integer | No | Maximum total (plot) area in m2. |
| `epc_rating` | string | No | One or more, comma separated: excellent, good, poor, bad, unknown. |
| `state` | string | No | One or more, comma separated: new, normal, excellent, to-be-renovated, fully-renovated. |
| `facade` | string | No | One or more, comma separated: 2, 3, 4. |
| `tag` | string | No | Features that must all be present, comma separated, e.g. hasswimmingpool, hasgarden, hasterrace, hasgarage, isfurnished. |
| `seller_type` | string | No | privateuser or prouser. |
| `sort` | string | No | price, bedrooms, area (total area) or zip. Without it the Immovlan order is used. |
| `order` | string | No | asc or desc (default asc, only with sort). |
| `page` | integer | No | Page number, 1 to 50 (default 1). 20 listings per page, so results stop at 1000. |

## Example response

```json
{
    "data": {
        "page": 1,
        "size": 20,
        "count": 17,
        "has_more": false,
        "listings": [
            {
                "id": "RBX23261",
                "url": "https://immovlan.be/en/detail/apartment/for-sale/2170/merksem/rbx23261",
                "tags": [
                    "HasUpsellColor",
                    "HasPicture",
                    "HasEpcCertificate",
                    "IsBestOf",
                    "IsNew",
                    "HasGarden"
                ],
                "image": "https://api-image.immovlan.be/v1/property/RBX23261/thumbnail-webp/Medium?h=280",
                "price": 250000,
                "title": "Apartment for sale",
                "agency": {
                    "id": 48956,
                    "logo": "https://api-image.immovlan.be/v1/prouser/HS355965060308/logo/English/webp/Small",
                    "name": "Onid Real Estate - Merksem",
                    "type": "estateAgents",
                    "phone": "+32 3 289 11 00"
                },
                "status": "published",
                "address": {
                    "zip": "2170",
                    "city": "Merksem",
                    "text": "2170 Merksem",
                    "country": "Belgium"
                },
                "has_epc": true,
                "bedrooms": 1,
                "currency": "EUR",
                "price_to": null,
                "bathrooms": 1,
                "proximity": [
                    {
                        "name": "Bus",
                        "by_car": false,
                        "minutes": 4,
                        "category": "transports"
                    },
                    {
                        "name": "School",
                        "by_car": false,
                        "minutes": 5,
                        "category": "education"
                    },
                    {
                        "name": "Shop",
                        "by_car": false,
                        "minutes": 4,
                        "category": "shop"
                    }
                ],
                "highlights": [
                    {
                        "key": "NrOfBedrooms",
                        "label": "Bedroom(s)",
                        "value": "1"
                    },
                    {
                        "key": "LivableSurface",
                        "label": "m\u00b2",
                        "value": "95"
                    },
                    {
                        "key": "NrOfBathrooms",
                        "label": "Bathroom(s)",
                        "value": "1"
                    }
                ],
                "is_project": false,
                "price_from": null,
                "year_built": 1967,
                "description": "For sale in Merksem, this ground-floor property combines a commercial space with a one-bedroom apartment, garden and garage box. Offered at **250 000 \u20ac**, it presents an opportunity to bring residential and commercial...",
                "living_area": 95,
                "property_id": 10802709,
                "transaction": "sale",
                "published_at": "2026-10-23T19:01:46.000000+00:00",
                "display_price": "250 000 \u20ac",
                "property_type": "appartment",
                "agency_reference": "4493497",
                "property_subtype": "flat",
                "living_area_range": null,
                "recently_modified": true,
                "price_recently_modified": false
            }
        ],
        "total_count": 17,
        "total_pages": 1,
        "transaction": null,
        "filters_applied": {
            "agency_id": 48956
        },
        "reachable_count": 17
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search",
        "duplicates_removed": 0,
        "rows_removed_by_guard": 0
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter is missing or invalid. This response is not billable. |
| 503 | Service Unavailable | Immovlan could not be reached or returned an unreadable page after retries. Retry shortly. This response is not billable. |

## 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)
