# Green-Acres Property Search API Documentation

Scrappa's `GET /api/green-acres/search` returns Green-Acres property for sale in one French location as structured JSON. Green-Acres.fr sells property only, so there is no rent mode.

## What you get

One request returns one page of up to 24 listings and the site's own match count in `pagination.total`. Each item has `listing_id`, `url`, `title`, `price` in EUR, `price_on_request`, `price_from` (a starting price for a new-build programme), `price_per_m2`, `price_drop_percent`, `city`, `department`, `property_type`, `is_new_build`, `is_exclusive`, `rooms`, `bedrooms`, `living_area_m2`, `land_area_m2` (always in m2), `description_snippet`, `photo_count`, `thumbnails` and the `agency`. A programme with several units shows a range: the `_max` field holds the upper end. Fields a card does not show are null, never 0. Call the listing endpoint for bathrooms, features, energy label and the whole photo gallery.

## Filters are honoured

Every filter is applied by Green-Acres and checked again on each item. An item that shows a value breaking a filter is removed and counted in `items_dropped`. A card that shows no value for a field is kept, because Green-Acres already filtered it. A price filter also removes a card with a price on request. Bathrooms cannot be checked on a card, so that filter relies on Green-Acres. `pagination.total` stays the site's count, and `total_includes_dropped` says when it contains removed items.

## Pagination

`page` is 1 to 20. Green-Acres serves 480 results per query: when `pagination.capped` is true, narrow the filters, for example with a price band. A page past the last page returns `422` `PAGE_OUT_OF_RANGE`. It never returns another page's listings under that page number.

## Sort

relevance (default), price_asc, price_desc, surface_asc, surface_desc, price_per_m2_asc, price_per_m2_desc or newest.

- **Documentation:** [https://scrappa.co/docs/green-acres-api/green_acres_search](https://scrappa.co/docs/green-acres-api/green_acres_search)
- **API group:** Green-Acres API
- **Endpoint:** `GET https://scrappa.co/api/green-acres/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 |
| --- | --- | --- | --- |
| `location` | string | Yes | Location id from the autocomplete endpoint, for example dp_07 (department), city_36662 (city) or gr_3252 (city group). |
| `property_type` | string | No | house, apartment, castle, land, commercial, new_build, building, parking or other. Leave out for all types. |
| `price_min` | integer | No | Minimum price in EUR. Checked again on every item. |
| `price_max` | integer | No | Maximum price in EUR. Checked again on every item. |
| `living_area_min` | integer | No | Minimum living area in m2. Checked again on every item. |
| `living_area_max` | integer | No | Maximum living area in m2. Checked again on every item. |
| `land_area_min` | integer | No | Minimum land area in m2. Checked again on every item. |
| `land_area_max` | integer | No | Maximum land area in m2. Checked again on every item. |
| `rooms_min` | integer | No | Minimum number of rooms (pieces). Checked again on every item. |
| `rooms_max` | integer | No | Maximum number of rooms (pieces). Checked again on every item. |
| `bedrooms_min` | integer | No | Minimum number of bedrooms. Checked again on every item. |
| `bedrooms_max` | integer | No | Maximum number of bedrooms. Checked again on every item. |
| `bathrooms_min` | integer | No | Minimum number of bathrooms and shower rooms. |
| `bathrooms_max` | integer | No | Maximum number of bathrooms and shower rooms. |
| `sort` | string | No | relevance (default), price_asc, price_desc, surface_asc, surface_desc, price_per_m2_asc, price_per_m2_desc or newest. |
| `page` | integer | No | Result page, 1 to 20. A page holds up to 24 listings. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/green-acres/search?location=dp_07&property_type=house&bedrooms_min=3&price_max=400000&sort=price_asc"
```

## Example response

```json
{
    "success": true,
    "data": {
        "items": [
            {
                "listing_id": "A3nj6wezmd7cep29",
                "url": "https://www.green-acres.fr/fr/properties/immobilier/chassiers/A3nj6wezmd7cep29.htm",
                "title": "Sud Ardeche-Chassiers 07110",
                "price": 233000,
                "currency": "EUR",
                "price_on_request": false,
                "price_from": false,
                "price_per_m2": 3107,
                "price_drop_percent": null,
                "city": "Chassiers",
                "department": "Ard\u00e8che",
                "property_type": "Mas proven\u00e7al",
                "is_new_build": false,
                "is_exclusive": true,
                "rooms": 4,
                "rooms_max": null,
                "bedrooms": 2,
                "bedrooms_max": null,
                "living_area_m2": 75,
                "living_area_max_m2": null,
                "land_area_m2": 4160,
                "lots": null,
                "description_snippet": "Mas en pierre avec vue d\u00e9gag\u00e9e Chassiers (07110)...",
                "photo_count": 12,
                "thumbnails": [
                    "https://lb1.green-acres.com/1140632a/A3nj6wezmd7cep29/miniPhotos/A3nj6wezmd7cep29_1.jpg"
                ],
                "agency": {
                    "name": "Said El marrahi",
                    "parent": "Renaissance Immobilier",
                    "logo": "https://lb1.green-acres.com/ClientLogos/386262.png",
                    "account_id": "1140632a"
                }
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 24,
            "total": 172,
            "total_pages": 8,
            "max_pages": 20,
            "capped": false,
            "has_next_page": true
        },
        "items_dropped": 0,
        "total_includes_dropped": false,
        "applied_filters": {
            "location": "dp_07",
            "sort": "price_asc",
            "property_type": "house",
            "bedrooms_min": 3,
            "price_max": 400000
        }
    },
    "meta": {
        "endpoint_family": "search",
        "billable": true,
        "attempts": 1,
        "items_dropped": 0
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | Green-Acres has no results page for that location or filter combination (`NOT_FOUND`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters and unknown values are rejected, never ignored. Non-billable. |
| 422 | Page Out of Range | The page is past the last page of results (`PAGE_OUT_OF_RANGE`). Green-Acres serves at most 20 pages (480 results) per query: narrow the filters, for example with a price band. Non-billable. |
| 503 | Upstream Unavailable | Green-Acres could not be reached, refused the request or answered with a page this API could not read (`UPSTREAM_UNAVAILABLE`). Retryable and never billed. Clients are never rate limited. |

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