Skip to content
Scrappa Get API key
ParuVendu Immobilier API 1 credit/request

ParuVendu Immobilier Property Search API Documentation

GET https://scrappa.co/api/paruvendu-immo/search

ParuVendu Immobilier Property Search API returns property for sale or rent in France as JSON. Filter by place, property type, rooms, price, area, bedrooms, bathrooms and seller, sort by update date, price, area or rooms, and page through up to 5 pages of 30 listings. Each listing carries the id, link, title, price, area, rooms, bedrooms, city, energy class, seller, agency, update date, a text snippet and photos. The response also returns the total count and the price range of the search.

Notes: Filters are always honoured. A listing that breaks a price, area, bedroom, rooms, seller or photo filter is never returned, and search_metadata.filtered_out counts the removed items. A price that the seller did not communicate (NC) is null, never 0. Rent prices include charges (includes_charges); deposit and fees appear only in the description. The site stops after 5 pages, so one query reaches at most 150 listings (reachable_results): slice a bigger market by price band, area or rooms. A page past the real end is an empty page with the true total. The place must be a search_slug from the autocomplete route; a place or filter combination without a result page answers 404 and is not billed. min_bathrooms is applied by the site and cannot be checked on the cards, so bathrooms are only read on the listing route. bathrooms alone returns a 422 error. rooms_filter_applied_to_page_only appears when the site dropped the rooms filter for a house search: listings are still checked one by one and total_results is null.

ParuVendu Immobilier Property Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/paruvendu-immo/search
Auth header
x-api-key
Cost
1 credit/request
place = example
Response preview
200 OK
{
    "data": {
        "listings": [
            {
                "url": "https://www.paruvendu.fr/immobilier/vente/appartement/1296518917A1KIVHAP000",
                "city": "Lyon 7",
                "price": {
                    "text": "320 000 \u20ac",
                    "amount": 320000,
                    "per_sqm": 4923,
                    "currency": "EUR",
                    "includes_charges": false
                },
                "rooms": 3,
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

1 required parameter needed before sending a request.

13 optional filters available.

place string Required

Place slug: the search_slug of an autocomplete place. Example: lyon.

Example value example
listing_type string Optional

sale (default) or rent. Example: sale.

Example value example
property_type string Optional

apartment (default), house, studio or land. Example: apartment.

Example value example
rooms string Optional

studio, 2, 3, 4, 5 or 6_plus. Apartment and house only. Example: 3.

Example value example
min_price integer Optional

Minimum price in EUR (rent: monthly rent). Example: 200000.

Example value 10
max_price integer Optional

Maximum price in EUR. Example: 400000.

Example value 10
min_area integer Optional

Minimum area in m2. Example: 40.

Example value 10
max_area integer Optional

Maximum area in m2. Example: 120.

Example value 10
min_bedrooms integer Optional

Minimum bedrooms. Example: 2.

Example value 10
min_bathrooms integer Optional

Minimum bathrooms. Example: 2.

Example value 10
seller string Optional

private for private sellers only. Cannot be combined with with_photos.

Example value example
with_photos boolean Optional

true to keep only listings with photos. Cannot be combined with seller.

Example value true
sort string Optional

newest (default), relevance, price_asc, price_desc, area_desc, area_asc, rooms_desc or rooms_asc.

Example value relevance
page integer Optional

Page 1 to 5 (default 1, 30 results per page). Example: 2.

Example value 1

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data success
JSON Response
200 OK
{
    "data": {
        "listings": [
            {
                "url": "https://www.paruvendu.fr/immobilier/vente/appartement/1296518917A1KIVHAP000",
                "city": "Lyon 7",
                "price": {
                    "text": "320 000 \u20ac",
                    "amount": 320000,
                    "per_sqm": 4923,
                    "currency": "EUR",
                    "includes_charges": false
                },
                "rooms": 3,
                "title": "Appartement 65 m\u00b2 Lyon 7",
                "agency": null,
                "energy": {
                    "class": "C",
                    "kwh_per_sqm_year": null,
                    "kg_co2_per_sqm_year": null
                },
                "photos": [
                    "https://img.paruvendu.fr/media_ext/_https_/media.paruvendu.fr/0d/aa/L21lZGlhLXBhL1dJMTcvOC8wL1dJMTc4MDg5MDgzXzIuanBnPzIwMjYxMDIxMjMwMjEw_rct?func=crop&w=1000&gravity=auto",
                    "https://img.paruvendu.fr/media_ext/_https_/media.paruvendu.fr/96/bb/L21lZGlhLXBhL1dJMTcvOC8wL1dJMTc4MDg5MDgzXzMuanBnPzIwMjYxMDIxMjMwMjEw_rct?func=crop&w=1000&gravity=auto"
                ],
                "area_m2": 65,
                "bedrooms": 2,
                "features": [
                    "Garage"
                ],
                "rooms_max": null,
                "agent_name": null,
                "listing_id": "1296518917A1KIVHAP000",
                "updated_at": "2026-10-21",
                "photo_count": 3,
                "postal_code": null,
                "seller_type": "private",
                "listing_type": "sale",
                "property_type": "apartment",
                "department_code": null,
                "description_snippet": "Vente appartement 2 chambres. T3 de 65 m2, lumineux et r\u00e9nov\u00e9, \u00e0 lyon 7. situ\u00e9 au 1er \u00e9tage avec ascenseur, cet appartement t3 de 65 m\u00b2 s\u00e9duit par sa pi\u00e8ce de v"
            },
            {
                "url": "https://www.paruvendu.fr/immobilier/vente/appartement/1296132798A1KIVHAP000",
                "city": "Lyon 9",
                "price": {
                    "text": "300 000 \u20ac",
                    "amount": 300000,
                    "per_sqm": 2222,
                    "currency": "EUR",
                    "includes_charges": false
                },
                "rooms": 7,
                "title": "Appartement 135 m\u00b2 Lyon 9",
                "agency": {
                    "url": "https://www.paruvendu.fr/immobilier/pro/kahute-champagne-au-mont-d-or-69-68766/",
                    "name": "KAHUTE",
                    "slug": "kahute-champagne-au-mont-d-or-69-68766",
                    "listing_count": 125
                },
                "energy": {
                    "class": "D",
                    "kwh_per_sqm_year": 226,
                    "kg_co2_per_sqm_year": 40
                },
                "photos": [
                    "https://img.paruvendu.fr/media_ext/_https_/media.immo-facile.com/3e/9f/L29mZmljZTIwL2thaHV0ZV8wMjAxMjQvY2F0YWxvZy9pbWFnZXMvcHJfcC82LzEvNi8yLzYvMS8zLzEvNjE2MjYxMzFhLmpwZz9EQVRFTUFKPTA5LzEwLzIwMjYtMTU6MTg6NDgmMjAyNjEwMjYwODA0MDU_rct?func=crop&w=1000&gravity=auto",
                    "https://img.paruvendu.fr/media_ext/_https_/media.immo-facile.com/15/79/L29mZmljZTIwL2thaHV0ZV8wMjAxMjQvY2F0YWxvZy9pbWFnZXMvcHJfcC82LzEvNi8yLzYvMS8zLzEvNjE2MjYxMzFiLmpwZz9EQVRFTUFKPTA5LzEwLzIwMjYtMTU6MTg6NDgmMjAyNjEwMjYwODA0MDU_rct?func=crop&w=1000&gravity=auto"
                ],
                "area_m2": 135,
                "bedrooms": 4,
                "features": [
                    "Garage"
                ],
                "rooms_max": null,
                "agent_name": null,
                "listing_id": "1296132798A1KIVHAP000",
                "updated_at": "2026-10-26",
                "photo_count": 12,
                "postal_code": null,
                "seller_type": "agency",
                "listing_type": "sale",
                "property_type": "apartment",
                "department_code": null,
                "description_snippet": "Cet appartement T7 spacieux se trouve \u00e0 Lyon, \u00e0 10 min \u00e0 pied du centre de Champagne-au-Mont-d'Or. Situ\u00e9 au 3\u00e8me \u00e9tage d'une r\u00e9sidence calme, il comprend 4 cham"
            }
        ],
        "search_metadata": {
            "page": 1,
            "per_page": 30,
            "low_price": 200000,
            "high_price": 400000,
            "filtered_out": 0,
            "has_next_page": true,
            "total_results": 637,
            "upstream_items": 30,
            "reachable_results": 150
        },
        "search_parameters": {
            "page": 1,
            "sort": "newest",
            "place": "lyon",
            "max_price": 400000,
            "min_price": 200000,
            "listing_type": "sale",
            "property_type": "apartment"
        }
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A required parameter or a value is invalid. This response is not billable.

{
    "errors": {
        "field": [
            "The field is invalid."
        ]
    },
    "message": "The request validation failed"
}
404

Not Found

The listing, agency, place or result page does not exist, or the filters match nothing. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": false,
        "endpoint_family": "search"
    },
    "error": {
        "code": "NOT_FOUND",
        "message": "The requested listing, agency or result page was not found. Check the id, slug or place and the filters."
    },
    "success": false
}
503

Upstream Unavailable

ParuVendu Immobilier could not be reached. This response is not billable and is retryable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "ParuVendu Immobilier could not be reached. Please retry shortly."
    },
    "success": false
}
503

Unexpected Upstream Data

ParuVendu Immobilier returned data in an unexpected shape. This response is not billable and is retryable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "INVALID_UPSTREAM_SHAPE",
        "message": "ParuVendu Immobilier returned data in an unexpected shape. Please retry shortly."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.