# Leboncoin Immobilier Search

Search property listings across the French market. Every listing comes back with its full description, price, location, images, seller identity and structured property attributes such as surface, rooms and energy rating. Read-only public listing data; no Leboncoin account required.

- **Documentation:** [https://scrappa.co/docs/leboncoin-immo-api/leboncoin_immo_search](https://scrappa.co/docs/leboncoin-immo-api/leboncoin_immo_search)
- **API group:** Leboncoin Immobilier API
- **Endpoint:** `GET https://scrappa.co/api/leboncoin-immo/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 |
| --- | --- | --- | --- |
| `vertical` | string | Yes | sale, rent, colocation, commercial, or all for every real-estate listing. |
| `page` | integer | No | 1-based page number. |
| `limit` | integer | No | Listings per page, 1-100. Default 20. |
| `price_min` | integer | No | Minimum price in euros. |
| `price_max` | integer | No | Maximum price in euros. |
| `surface_min` | integer | No | Minimum surface in square metres. |
| `surface_max` | integer | No | Maximum surface in square metres. |
| `property_type` | string | No | 1 house, 2 apartment, 3 land, 4 parking, 5 other. |
| `furnished` | string | No | 1 furnished, 2 unfurnished. Applies to rental verticals. |
| `rooms_min` | integer | No | Minimum room count. |
| `rooms_max` | integer | No | Maximum room count. |
| `query` | string | No | Free-text search term. |
| `query_scope` | string | No | subject to search titles only, or all to search the full listing text. |
| `location` | string | No | Location label from the locations endpoint. |
| `seller` | string | No | all, pro for agencies and professionals, or private. |
| `sort` | string | No | relevance, time, price or proximity. |
| `order` | string | No | asc or desc. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/leboncoin-immo/search?vertical=sale&price_min=200000&price_max=400000&limit=3"
```

## Example response

```json
{
    "success": true,
    "data": {
        "results": [
            {
                "list_id": 3282271360,
                "subject": "Maison 5 pieces",
                "body": "Full listing description as published.",
                "price": 305000,
                "price_cents": 30500000,
                "location": {
                    "city": "La Baule-Escoublac",
                    "zipcode": "44500",
                    "lat": 47.285,
                    "lng": -2.36543
                },
                "images": {
                    "nb_images": 8
                },
                "owner": {
                    "type": "pro",
                    "siren": "938018017"
                },
                "attributes": {
                    "square": {
                        "value": 95
                    }
                }
            }
        ],
        "total": 336403,
        "total_pro": 210000,
        "total_private": 126403,
        "max_pages": 1750
    },
    "meta": {
        "endpoint_family": "search",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | The requested property listing was not found. This response is not billable. |
| 422 | Validation Error | A public parameter is invalid. This response is not billable. |
| 503 | Service Unavailable | The service could not obtain a complete result. 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)
