Pricing
from $0.50 / 1,000 results
Bienici Scraper
Scrapes realestate listings from Bienici.com website. Supports keyword search, categories, price filters, item conditions, pagination, and rate-limit handling. Designed for stable, production-scale scraping.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bienici Scraper — French Real Estate Listings API
Extract structured property data from Bienici.com, France's leading real estate aggregator. Scrape apartments, houses, and villas listed for sale or rent across all French cities — no API key, no login, no limits.
Performance Overview:
This run demonstrates the actor’s production-grade efficiency, processing 3000 listings in 23 seconds with low memory usage (~90 MB avg) and stable CPU utilization, confirming strong scalability and I/O-optimized architecture.
What This Actor Does
The Bienici Scraper sends requests directly to Bienici's internal search API and returns clean, structured JSON for every listing it finds. You control what you scrape: transaction type (buy or rent), property type (apartment, house, land…), sort order, and how many results you need.
Each output record contains everything a real estate data pipeline needs: price, surface area, number of rooms, GPS coordinates, energy rating (DPE), condominium fees, photos, and publication date — ready to load into a database, spreadsheet, or BI tool.
Key Features
- Buys and rentals — scrape
buyandrentlistings independently or together - All property types — apartments, houses, lofts, land, parking, buildings, castles ...
- Flexible sorting — by publication date, price, surface area, or price per m²
- Up to 15,000 listings per run — configurable batch size for safe, respectful scraping
- Automatic retries — exponential back-off on rate limits and server errors
- Clean output — nested JSON flattened into analysis-ready fields
Output Fields
Each scraped listing returns a flat JSON object with the following fields:
| Field | Type | Description |
|---|---|---|
id | string | Bienici listing ID |
reference | string | Agency reference number |
title | string | Listing title |
description | string | Full listing description |
adType | string | buy or rent |
propertyType | string | flat, house, loft, etc. |
city | string | City name |
postalCode | string | French postal code |
district | string | Neighborhood name |
departmentCode | string | French department number |
lat / lon | float | Approximate GPS coordinates |
price | integer | Listing price in EUR |
pricePerSquareMeter | float | EUR/m² |
priceWithoutFees | integer | Price net of agency fees |
feesChargedTo | string | seller or buyer |
annualCondominiumFees | integer | Annual copro charges in EUR |
surfaceArea | float | Total area in m² |
roomsQuantity | integer | Total rooms |
bedroomsQuantity | integer | Bedrooms |
floor | integer | Floor number |
floorQuantity | integer | Building floors |
yearOfConstruction | integer | Year built |
hasElevator | boolean | Elevator in building |
hasCellar | boolean | Private cellar |
parkingPlacesQuantity | integer | Parking spots |
heating | string | Heating type description |
energyClassification | string | DPE energy class (A–G) |
greenhouseGazClassification | string | GES class (A–G) |
energyValue | integer | Primary energy consumption (kWh/m²/year) |
newProperty | boolean | New-build flag |
isInCondominium | boolean | Part of a condominium |
accountType | string | agency or private |
publicationDate | ISO 8601 | Date listed |
modificationDate | ISO 8601 | Date last updated |
photos | array | List of photo URLs |
photoCount | integer | Number of photos |
opticalFiberStatus | string | Fiber availability status |
Sample Output
{"id":"immo-facile-60851947","reference":"P20590","title":"Appartement Troyes 4 pièce(s)","adType":"buy","propertyType":"flat","city":"Troyes","postalCode":"10000","district":"Troyes - Charmilles","departmentCode":"10","lat":48.29785,"lon":4.09137,"price":160000,"pricePerSquareMeter":2170.67,"priceWithoutFees":160000,"feesChargedTo":"seller","annualCondominiumFees":936,"surfaceArea":73.71,"roomsQuantity":4,"bedroomsQuantity":2,"floor":1,"floorQuantity":4,"yearOfConstruction":1955,"hasElevator":false,"hasCellar":true,"parkingPlacesQuantity":1,"heating":"radiateur gaz individuel","energyClassification":"C","greenhouseGazClassification":"C","energyValue":122,"newProperty":false,"isInCondominium":true,"accountType":"agency","publicationDate":"2026-06-24T09:23:26.519Z","photos":["https://file.bienici.com/photo/immo-facile-60851947_..._a.jpg","https://file.bienici.com/photo/immo-facile-60851947_..._b.jpg"],"photoCount":10,"opticalFiberStatus":"en cours de deploiement"}
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
adType | array | ✅ | ["buy"] | Transaction type: buy, rent, or both |
propertyTypes | array | ✅ | ["flat"] | Property types to scrape (see options below) |
sortBy | string | publicationDate | Sort field | |
sortOrder | string | desc | asc or desc | |
maxItems | integer | 500 | Max listings per transaction type (500 – 15,000) |
Supported Property Types
| Value | Label |
|---|---|
flat | Apartment |
house | House / Villa |
parking | Parking space |
terrain | Land / Plot |
loft | Loft |
building | Entire building |
castle | Castle |
prestige | Prestige property |
townhouse | Townhouse |
shop | Shop |
premise | Local Commercial |
office | Offices |
others | Others |
How to Use
Via Apify Console
- Click Try for free
- Select your transaction type and property types
- Set
maxItems(start with 500 to test) - Click Start and wait for results
- Export as JSON, CSV, or connect directly via the Apify API
Common Use Cases
Market analysis — pull all listings in a département, calculate median price/m², track how prices change week over week.
Lead generation for real estate agencies — identify newly listed properties in a target area sorted by publicationDate desc to catch fresh inventory before competitors.
Investment research — filter apartments in a city, cross-reference DPE ratings with price to find undervalued energy-efficient properties.
Automated price alerts — schedule daily runs, compare new listings against a stored baseline, trigger a webhook when a property matches your criteria.
Training data for property valuation models — collect thousands of labeled examples (price, surface, location, features) to train regression or neural network models.
Rental yield mapping — combine buy and rent prices for the same zones to estimate gross rental yields by city or neighborhood.
Scheduler & Automation Tips
- Freshness monitoring: schedule a daily run with
sortBy: publicationDate,sortOrder: desc,maxItems: 500to capture new listings - Full market snapshot: run weekly with
maxItems: 15000across all property types for a complete dataset - Incremental deduplication: use the
idfield as a unique key to upsert into your database and avoid duplicate records - Webhook integration: connect to Zapier, Make, or a custom endpoint via Apify's built-in webhook system to trigger actions on new data
Performance & Reliability
- Each API request fetches up to 500 listings
- Automatic exponential back-off on
429,403, and5xxresponses (up to 5 retries) - A run of 3000 listings completes in under 23 seconds
- A full run of 15,000 listings typically completes in under 3 minutes
- Results are pushed to Apify's dataset in batches of 50, so partial results are always saved even if a run is interrupted
Legal & Ethical Use
This actor accesses publicly available listing data that Bienici displays to all visitors. It respects the site's rate limits through automatic throttling and does not access any authenticated or private content.
Users are responsible for ensuring their use of scraped data complies with applicable laws (including GDPR for personal data) and Bienici's terms of service. This actor is intended for research, analytics, and business intelligence use cases.
Support
Found a bug or need a custom field? Open an issue or reach out via the Apify contact form on this actor's page. Feature requests (additional filters, webhook support, Google Sheets integration) are welcome.
