Property Search
/api/bienici/search
Search achat, location, and neuf listings by zone, property type, price, area, rooms, and features
Scrappa is an independent Bien'ici API with 7 read-only endpoints covering the whole French property search cycle: search properties for sale (achat), for rent (location), and new builds (neuf); read a single listing in full; check which individual lots are still available inside a new-build programme; list one agency's ads; and resolve place names to the zone ids a scoped search consumes. Scrappa is not affiliated with or endorsed by Bien'ici.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/bienici/search?transaction_type=rent&zone_ids[]=-7444&size=2" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"data": {
"realEstateAds": [
{
"id": "ag750725-49688129",
"reference": "602996",
"transactionType": "rent",
"propertyType": "flat",
"price": {"min": null, "max": null, "currency": null, "disclosed": false, "unit": "total"},
"surfaceArea": 40,
"roomsQuantity": 2,
"city": "Paris",
"postalCode": "75007"
}
],
"returnedCount": 1
},
"meta": {"endpoint_family": "search"}
}
Structured data for real applications. Here are some ideas.
Build an apartment or house finder for France with live achat and location ads, filtered by price, area, rooms, bedrooms, energy class, and features.
Show which flats, parking spaces, and cellars are still available in a new-build programme, with per-lot price ranges, status, and delivery dates.
Track the ad inventory of a specific agency or network and follow how its buy and rent listings change over time.
Turn a French place name into the zone ids, INSEE code, and postal codes a scoped search consumes, for search forms and relocation tools.
Everything you need in one API.
/api/bienici/search
Search achat, location, and neuf listings by zone, property type, price, area, rooms, and features
/api/bienici/listing
Full detail for one listing including description, photos, energy rating, and coordinates
/api/bienici/programme-units
Per-lot availability inside a new-build programme with price ranges and delivery dates
/api/bienici/agency-listings
Listings published by one agency, keyed on its Bien'ici account id
/api/bienici/locations
Resolve a French place name into zone ids, INSEE codes, and postal codes
/api/bienici/place
Resolve a French place name to a single record with its zone ids and bounding box
/api/bienici/place-details
Department hierarchy with the cities and zone ids a scoped search consumes
See how Scrappa compares to the official API.
| Feature | Scrappa | Bien'ici partner data access |
|---|---|---|
| Search all public listings | Own listings only | |
| Achat, location, and neuf | Feed limited to your own stock | |
| New-build programme lots | Not included | |
| Authentication | API key only | Contract and integration review |
| Partner agreement needed | ||
| Location zone id resolution | Not exposed | |
| Price per 1k requests | $0.20 | Contract pricing |
| Setup time | Minutes | Weeks (contract) |
Resolve the place name with the locations endpoint first to get its zone ids, then pass those as zone_ids on the search endpoint. Search deliberately does not resolve free text for you, because that would spend a second upstream lookup inside one billable request. The locations call is a separate endpoint with its own credit.
New-build listings price as a range while ordinary listings price as a single figure, so the raw value is either a number or a range. Every ad is normalized into the same shape. When an owner has not published a figure, disclosed is false and min and max are null rather than 0.
The structured agent contact block is not returned — it is removed from every response. Each ad's description is the seller's own upstream text, passed through unchanged, so a phone number or email address the seller typed into the ad text is published as written. The agency business identifier is kept, because that is what the agency listings endpoint needs to scope results to one agency.
Yes. Search with transaction_type=new_build, take a programme ad id, and pass it to the programme units endpoint to get the individual flats, parking spaces, and cellars still available, each with its own price range, status, and delivery date.
Fields depend on what the owner or agency filled in, so optional values such as land surface area or year of construction are null when absent. Read every field by name and treat a null as not supplied.
Yes. Every Scrappa account includes 500 free credits per month, so you can test the 7 Bien'ici endpoints before buying credit packs or moving to a subscription.
Each request uses one Scrappa credit, and paid usage starts at $0.20 per 1,000 requests. Failed requests are not billed.