Bien'ici Scraper — French Property Listings & Prices
Pricing
from $2.00 / 1,000 results
Bien'ici Scraper — French Property Listings & Prices
Scrape French property listings from Bien'ici: sale & rental prices, price per m², surface, rooms, DPE energy rating, price-drop signals, district & photos. Filter by city, price, area and type across France. Export to JSON, CSV or Excel for market research & valuation.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bien'ici Scraper — French Property Listings & Prices 🇫🇷🏠
Turn Bien'ici — one of France's largest property portals — into clean, structured data. Collect sale and rental listings with prices, price per m², surface, rooms, DPE energy ratings, price-drop signals, precise location and photos. Built for real-estate analytics, price benchmarking, investment research, market monitoring and property aggregators.
No account or setup needed. Type a city (e.g. Paris), pick your filters, press Start, and export to JSON, CSV, Excel — or pull it straight into your app via API.
✨ Why this scraper
- 🏙️ Nationwide coverage — search any city, district, department or region in France, or scan the whole country.
- 💶 Full pricing intelligence — price, price per m², and a price-drop flag that highlights listings whose price recently fell (great for spotting deals and motivated sellers).
- 📐 Rich property detail — surface area, land area, rooms, bedrooms, bathrooms, floor, year built, garden, pool, terrace, balcony, parking, cellar and more.
- ⚡ DPE & GES energy ratings — the official French energy class and greenhouse-gas class for each property.
- 📍 Precise location — city, postal code, district/neighborhood name, INSEE code and map coordinates.
- 🏢 Seller type — whether the listing comes from a professional agency or a private seller.
- 🖼️ Media & dates — photo URLs, publication and last-modified dates.
- 🚀 Fast, reliable & deduplicated — pure data extraction with automatic 0-duplicate output.
📦 What you get per listing
| Field | Description |
|---|---|
adType | buy or rent |
propertyType | flat, house, land, parking, etc. |
title, description | Listing title & full text |
price, priceMin, priceMax | Price (a range for new-build programmes) |
pricePerSquareMeter | Price per m² |
priceHasDecreased | True if the price recently dropped |
surfaceArea, landSurfaceArea | Living & land area (m²) |
roomsQuantity, bedroomsQuantity, bathroomsQuantity | Room counts |
terracesQuantity, balconyQuantity, parkingPlacesQuantity | Extra spaces |
yearOfConstruction, floor | Build year & floor |
energyClassification, energyValue | DPE energy rating |
greenhouseGazClassification, greenhouseGazValue | GES emissions rating |
hasGarden, hasPool, hasTerrace, hasBalcony, hasCellar, chargingStations | Feature flags |
city, postalCode, district, inseeCode | Location |
coordinates | Approximate map position |
accountType, createdByPro | Agency vs. private seller |
isBienIciExclusive, isExclusiveSaleMandate, newProperty | Listing flags |
photos, photosCount | Image URLs |
publicationDate, modificationDate | Timestamps |
url, reference | Link & agency reference |
🚀 Quick start
- Enter one or more Locations (e.g.
Paris,Lyon 6,Bordeaux). - Choose Transaction (for sale / for rent) and any property types.
- Add optional filters — price, area, rooms, or only price reductions.
- Set Maximum listings and click Start.
Example input
{"searchLocations": ["Paris"],"filterType": "buy","propertyTypes": ["flat"],"minPrice": 300000,"maxPrice": 600000,"minArea": 50,"sortBy": "newest","maxItems": 1000}
Find price reductions in a whole department
{"searchLocations": ["Hauts-de-Seine"],"filterType": "buy","onlyPriceDrops": true,"maxItems": 500}
Rentals in several cities
{"searchLocations": ["Lyon", "Villeurbanne"],"filterType": "rent","propertyTypes": ["flat", "house"],"maxPrice": 1500,"maxItems": 800}
📤 Example output
{"id": "example-202_750_27604","url": "https://www.bienici.com/annonce/achat/paris-75011/flat/example-202_750_27604","adType": "buy","propertyType": "flat","title": "Beautiful 3-room apartment with balcony","price": 545000,"priceMin": null,"priceMax": null,"pricePerSquareMeter": 8770,"priceHasDecreased": true,"surfaceArea": 62,"roomsQuantity": 3,"bedroomsQuantity": 2,"energyClassification": "D","greenhouseGazClassification": "B","yearOfConstruction": 1930,"hasBalcony": true,"city": "Paris 11e","postalCode": "75011","district": "Paris 11e Arrondissement - Bastille","coordinates": { "lat": 48.8578, "lon": 2.3792, "approximate": true },"accountType": "agency","createdByPro": true,"photos": ["https://…/photo1.jpg"],"publicationDate": "2026-08-01T09:12:00.000Z"}
💡 Popular use cases
- Price benchmarking — track €/m² by city, district, property type and transaction.
- Investment & deal-hunting — surface price reductions and undervalued listings automatically.
- Market monitoring — build time series of supply, prices and days-on-market.
- Property portals & aggregators — enrich or backfill your own listings.
- Energy analytics — study DPE/GES distributions across the French housing stock.
- Valuation & CMA — assemble comparable-sales datasets for a target area.
🔌 Run via API
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("YOUR_ACTOR_ID").call(run_input={"searchLocations": ["Marseille"],"filterType": "buy","propertyTypes": ["flat", "house"],"maxItems": 500,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["city"], item.get("price"), "€", item.get("pricePerSquareMeter"), "€/m²")
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('YOUR_ACTOR_ID').call({searchLocations: ['Nice'],filterType: 'rent',maxItems: 400,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🗺️ Locations you can search
Enter any of these — the actor resolves them automatically:
- Cities —
Paris,Lyon,Marseille,Toulouse,Nantes,Bordeaux… - Arrondissements / districts —
Paris 15,Lyon 6,Marseille 8 - Departments —
Hauts-de-Seine,Gironde,Bouches-du-Rhône - Regions —
Île-de-France,Occitanie,Provence-Alpes-Côte d'Azur
Leave Locations empty to scan all of France.
🧾 Output formats
Every run can be exported as JSON, CSV, Excel, HTML or RSS, or accessed through the Apify API. Data is stored in the run's dataset and never expires until you delete it.
❓ FAQ
Do I need an account or login? No. Just set your filters and run.
Can I get both sale and rental data?
Yes — set filterType to buy or rent. Run it twice to collect both.
How do I find only discounted properties?
Enable Only price reductions (onlyPriceDrops) to keep listings whose price recently dropped.
How precise is the location? You always get city, postal code and district. Map coordinates are approximate, as published by the source.
Are seller phone numbers included? No — the source does not publish direct contact numbers in its listing data, so they are not part of the output. You do get the seller type (agency vs. private) and the agency reference.
How many listings can I collect?
Set maxItems to whatever you need. Very large result sets are supported.
⚖️ Legal & responsible use
This actor collects publicly available property-listing information for legitimate purposes such as market research, analytics and price benchmarking. It does not access private or personal data. It is not affiliated with, endorsed by, or connected to Bien'ici or its operators — all product and company names are trademarks of their respective owners.
You are responsible for how you use the collected data. Use it in compliance with applicable laws (including the GDPR), the target website's Terms of Service, and relevant data-protection rules. Respect rate limits and use the data ethically.
💬 Support & feedback
Need an extra field, a new filter or a different portal? Open an issue or send a message — feature requests are welcome and the actor is actively maintained.