# Zimmo Property Search API Documentation

<p><strong>Zimmo Property Search API</strong> Search Zimmo homes, plots, garages and commercial property for sale or for rent in Belgium. Filter by place, category, price, bedrooms, bathrooms, living area, plot area, construction year, EPC, energy label, condition and new construction. Sort by date, price, ranking or energy label and page through the results.</p><p>Each listing has flat fields (<code>id</code>, <code>code</code>, <code>url</code>, <code>title</code>, <code>price</code>, <code>bedrooms</code>, <code>bathrooms</code>, <code>area_m2</code>, <code>lat</code>, <code>lon</code>, <code>main_image</code>, <code>agency</code>) and the full estate record with layout, utilities, energy certificate, flooding and planning data, images in all sizes, documents and price history.</p><p><code>total_count</code> is exact and <code>has_more</code> tells if another page exists. Every row obeys the filters you send. With <code>new_construction=projects</code> a row has <code>kind</code> set to <code>project</code> and a <code>units</code> list instead of an estate. One request is one lookup. Failed requests are not billed.</p>

- **Documentation:** [https://scrappa.co/docs/zimmo-api/zimmo_search](https://scrappa.co/docs/zimmo-api/zimmo_search)
- **API group:** Zimmo API
- **Endpoint:** `GET https://scrappa.co/api/zimmo/search`

## 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 |
| --- | --- | --- | --- |
| `service` | string | Yes | buy or rent. |
| `place_id` | integer | No | Place id from the locations endpoint: a municipality, province or region. Without it the search covers Belgium. |
| `category` | string | No | One or more, comma separated: house, apartment, commercial, garage, plot, room. |
| `sub_type` | string | No | One or more, comma separated, e.g. villa, duplex, loft, penthouse, townhouse, building_plot, office, garage_box. |
| `price_min` | integer | No | Minimum price in EUR. For rent this is the monthly rent. |
| `price_max` | integer | No | Maximum price in EUR. For rent this is the monthly rent. |
| `bedrooms_min` | integer | No | Minimum number of bedrooms. |
| `bedrooms_max` | integer | No | Maximum number of bedrooms. |
| `bathrooms_min` | integer | No | Minimum number of bathrooms. |
| `bathrooms_max` | integer | No | Maximum number of 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 plot area in m2. |
| `plot_area_max` | integer | No | Maximum plot area in m2. |
| `construction_year_min` | integer | No | Earliest construction year, e.g. 2020. |
| `construction_year_max` | integer | No | Latest construction year. |
| `epc_min` | integer | No | Minimum EPC value in kWh/m2. |
| `epc_max` | integer | No | Maximum EPC value in kWh/m2. A low value means an efficient home. |
| `energy_label` | string | No | One or more, comma separated: a_plus_plus, a_plus, a, a_minus, b_plus, b, b_minus, c_plus, c, c_minus, d_plus, d, d_minus, e_plus, e, e_minus, f, g, x. |
| `construction_type` | string | No | One or more, comma separated: open, half_open, closed. |
| `condition` | string | No | One or more, comma separated: to_renovate, to_freshen_up, good_condition, excellent_condition, renewed, new. |
| `new_construction` | string | No | none (no new builds), properties (single new properties), projects (new-build projects, each with its units) or all. A project is returned when at least one unit fits the filters. |
| `agency_id` | string | No | Only listings of this agency. Use an id from the agencies endpoint. |
| `sort` | string | No | date, price, ranking or energy_label. Default date. |
| `order` | string | No | asc or desc. Default asc for price and energy_label, desc for date and ranking. |
| `page` | integer | No | Page number, 1 or more. Default 1. Zimmo returns results up to position 5000, so a deep page gives a 422 with the last page for your size. |
| `size` | integer | No | Rows per page, 1 to 30. Default 10. A Zimmo row is large (about 60 KB), so keep the size small. |
| `locale` | string | No | Language of the flat text fields (title, description, url, city): nl, fr, en or de. Default nl. The full text maps keep all languages. |

## Example response

```json
{
    "data": {
        "page": 1,
        "size": 10,
        "count": 1,
        "service": "buy",
        "has_more": true,
        "listings": [
            {
                "id": "c1f57e0f-12d1-403d-afbc-e67f4fb7c40a",
                "lat": 51.0611833,
                "lon": 3.7286453,
                "url": "https://www.zimmo.be/nl/gent-9000/te-koop/huis/LSOXI",
                "code": "LSOXI",
                "kind": "property",
                "urls": {
                    "fr": "https://www.zimmo.be/fr/gent-9000/a-vendre/maison/LSOXI",
                    "nl": "https://www.zimmo.be/nl/gent-9000/te-koop/huis/LSOXI"
                },
                "price": 675000,
                "title": "Lichtrijke en instapklare woning met charmante gevel en stadstuin nabij het Baudelopark.",
                "agency": {
                    "id": "75d5bb79-4273-4a50-8085-0cbc093e5d57",
                    "lat": 51.0492834,
                    "lon": 3.7271016,
                    "url": "https://www.zimmo.be/nl/vastgoedkantoor/gent-9000/carlo-eggermont-37045",
                    "logo": "https://files.zimmo.be/backend-api/YlO2SpeTAmR9kZXbPVaiNdqohUo=/filters:image-fo...",
                    "name": "Carlo Eggermont",
                    "slug": "carlo-eggermont-37045",
                    "phone": "+32492087047",
                    "address": {
                        "box": null,
                        "city": "Gent",
                        "number": "1-102",
                        "street": "Grote Huidevettershoek",
                        "country": "Belgium",
                        "postal_code": "9000",
                        "country_code": "BE"
                    },
                    "reviews": {
                        "combined": {
                            "max": 10,
                            "count": 65,
                            "score": 8.4
                        },
                        "external": {
                            "max": 5,
                            "count": 63,
                            "score": 4.3
                        },
                        "housematch": {
                            "max": 10,
                            "count": 2,
                            "score": 5.5
                        }
                    },
                    "website": "www.carloeggermont.be",
                    "category": "broker",
                    "mobile_phone": "+32492087047"
                },
                "estate": {
                    "note": "The full estate object follows the upstream record: layout, floors, utilities, flooding, planning and more. Shortened here.",
                    "type": "HOUSE",
                    "price": {
                        "unit": "EUR",
                        "value": 675000
                    },
                    "status": "FOR_SALE",
                    "subType": "HOUSE",
                    "condition": "GOOD_CONDITION",
                    "certificate": {
                        "asBuilt": {
                            "certificateStatus": "NOT_OBTAINED"
                        },
                        "epcCertificate": {
                            "epcValue": {
                                "unit": "kWh/m\u00b2",
                                "value": 118
                            },
                            "energyLabel": "B",
                            "certificateStatus": "OBTAINED",
                            "epcCertificateNumber": "3950907",
                            "renovationObligation": "UNKNOWN"
                        },
                        "electricityCertificate": {
                            "certificateStatus": "OBTAINED",
                            "electricityConformity": "VALID"
                        }
                    },
                    "constructionYear": 1850,
                    "floorspaceSurface": {
                        "unit": "m\u00b2",
                        "value": 209
                    }
                },
                "images": [
                    {
                        "url": "https://files.zimmo.be/backend-api/TlmcSYRp00h_h9_lry7-wj2kq8w=/1300x650/filters:image-format(pjpg)/-/real-estate/customers/b4fa4d68-4bae-11e9-922b-005056b768a1/dealers/75d5bb79-4273-4a50-8085-0cbc093e5d57/listings/c1f57e0f-12d1-403d-afbc-e67f4fb7c40a/images/01a1726f-2138-7b8b-8d2e-b2b53fc54fa3",
                        "order": 1,
                        "thumbnails": {
                            "z-detail-328": "https://files.zimmo.be/backend-api/iW9n6W5mT-3HAhqYtTItXVfMpwE=/328x164/filters:image-format(pjpg)/-/real-estate/customers/b4fa4d68-4bae-11e9-922b-005056b768a1/dealers/75d5bb79-4273-4a50-8085-0cbc093e5d57/listings/c1f57e0f-12d1-403d-afbc-e67f4fb7c40a/images/01a1726f-2138-7b8b-8d2e-b2b53fc54fa3",
                            "z-detail-672": "https://files.zimmo.be/backend-api/DqsYfTErdKbg3gnpTH0d7cmlGeg=/672x336/filters:image-format(pjpg)/-/real-estate/customers/b4fa4d68-4bae-11e9-922b-005056b768a1/dealers/75d5bb79-4273-4a50-8085-0cbc093e5d57/listings/c1f57e0f-12d1-403d-afbc-e67f4fb7c40a/images/01a1726f-2138-7b8b-8d2e-b2b53fc54fa3"
                        }
                    }
                ],
                "status": "FOR_SALE",
                "address": {
                    "box": null,
                    "city": "Gent",
                    "number": "6",
                    "street": "Jakob Van Caeneghemstraat",
                    "country": "Belgium",
                    "postal_code": "9000",
                    "country_code": "BE"
                },
                "area_m2": 209,
                "service": "buy",
                "bedrooms": 2,
                "category": "house",
                "currency": "EUR",
                "stickers": [
                    {
                        "type": "NEW",
                        "until": "2026-11-01T09:40:47Z"
                    }
                ],
                "sub_type": "house",
                "bathrooms": 1,
                "documents": [
                    {
                        "id": "01a1726f-3b3e-7f81-bbf3-01009be97c1c",
                        "url": "https://files.zimmo.be/backend-api/-/real-estate/customers/b4fa4d68-4bae-11e9-922b-005056b768a1/dealers/75d5bb79-4273-4a50-8085-0cbc093e5d57/listings/c1f57e0f-12d1-403d-afbc-e67f4fb7c40a/documents/01a1726f-3b3e-7f81-bbf3-01009be97c1c/2_MVO_Jakob Van Caeneghemstraat 6.pdf",
                        "name": "2_MVO_Jakob Van Caeneghemstraat 6.pdf"
                    }
                ],
                "epc_value": 118,
                "place_ids": [
                    1506,
                    3,
                    4,
                    580
                ],
                "created_at": "2026-10-25T09:40:46Z",
                "main_image": "https://files.zimmo.be/main-image/c1f57e0f-12d1-403d-afbc-e67f4fb7c40a",
                "updated_at": "2026-10-25T09:40:47Z",
                "description": "Lichtrijke en instapklare woning met charmante gevel en stadstuin nabij het Baudelopark.\n\nOp een aantrekkelijke locatie nabij het Industriemuseum en het Baudelopark bevindt zich deze woning, die in 2016 werd gerenoveerd met oog voor hedendaags wooncomfort. Ook Dok Noord, met zijn winkels, restaurant...",
                "energy_label": "B",
                "plot_area_m2": 135,
                "price_period": null,
                "project_link": null,
                "price_history": null,
                "cadastral_income": 642,
                "new_construction": false,
                "construction_year": 1850,
                "publication_start": "2026-10-25T09:40:47Z",
                "external_reference": "4493699",
                "coordinate_precision": "ROOFTOP"
            }
        ],
        "total_count": 307,
        "filters_applied": {
            "sort": "date",
            "order": "desc",
            "service": "buy",
            "place_id": 1506,
            "categories": [
                "HOUSE"
            ]
        }
    },
    "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. |
| 422 | Validation Error | A required parameter is missing or invalid. This response is not billable. |
| 503 | Temporarily Unavailable | Zimmo did not answer or refused the request after several attempts. This response is not billable. Retry after a short pause. |

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