Bien'ici Scraper — French Property Listings & Prices avatar

Bien'ici Scraper — French Property Listings & Prices

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Bien'ici Scraper — French Property Listings & Prices

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

Haketa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

19 hours ago

Last modified

Categories

Features

Limited permissions

Share

Bien'ici Scraper — French Property Listings, Prices & DPE Energy Ratings 🇫🇷🏠

Turn Bien'ici — one of France's premier real estate portals — into structured property market intelligence. This Bien'ici scraper extracts active sale and rental property listings across France, capturing transaction prices, price per square meter (€/m²), living area, room counts, official DPE energy efficiency ratings (A-G), greenhouse gas emissions (GES), monthly charges, price-reduction flags, professional agency details, geographic districts, and high-resolution photo galleries. No login, no coding, no captcha.

Export to JSON, CSV, Excel, or API — or connect directly into PostgreSQL, BigQuery, Airtable, Google Sheets, Make, Zapier, and n8n.

Apify Actor

Built for: real estate investors, PropTech developers, valuation & CMA appraisers, mortgage brokers, housing market analysts, data journalists, and asset management funds tracking French residential and commercial property markets.


⚡ At a glance

FeatureDetails
Data SourceBien'ici (bienici.com) — Premier French Real Estate Marketplace
Geographic ScopeAll 101 French departments, major metros (Paris, Lyon, Marseille, Bordeaux, Toulouse), and overseas territories
Transaction TypesProperties for sale (buy), rentals (rent), and life annuity sales (viager)
Property TypesFlats/Apartments, Houses, Lofts, Townhouses, Castles (Châteaux), Entire Buildings, Land (Terrain), Offices
Key Output FieldsListing ID, canonical URL, transaction type, property category, title, price, €/m², surface area, rooms, DPE, location
Energy MetricsOfficial French DPE rating (A to G) and value (kWh/m²/year), GES rating and value (kg CO₂/m²/year)
Price Drop SignalAutomatic tracking of price reduction flags (priceHasDecreased: true) to identify motivated sellers
Export FormatsJSON, CSV, Excel (XLSX), XML, HTML table, webhook & REST API
Max CapacityScalable from 100 sample records to 1,000+ listings with automatic multi-city expansion
Execution SpeedUp to 500 listings per request; fast prefill runs finish in under 15 seconds

🔎 Why scrape Bien'ici?

Bien'ici is one of the most comprehensive property portals in France, founded by major real estate federations and syndicates (including FNAIM, SNPI, and UNIS). It aggregates hundreds of thousands of residential and commercial listings directly from verified estate agencies (agences immobilières) and developers across metropolitan France.

Unlike generic classifieds, Bien'ici listings carry standardized, high-integrity regulatory attributes:

  • Comparable Market Analysis (CMA) & Property Valuation: Real estate agents, surveyors, and automated valuation models (AVMs) require verified asking prices and calculated price per square meter (pricePerSquareMeter) across specific arrondissements and neighborhoods to benchmark true market value.
  • Energy Efficiency & Renovation Arbitrage (DPE): Under recent French energy transition legislation (Loi Climat et Résilience), properties with poor energy ratings (passoires thermiques — classes F and G) face rental restrictions and impending lease bans. Investors use this scraper to identify underpriced F/G properties prime for energy retrofit and capital appreciation.
  • Motivated Seller & Price Drop Alerts: Monitor the priceHasDecreased boolean flag to detect price corrections in cooling markets, allowing buyers and institutional funds to negotiate favorable acquisitions before competing bids emerge.
  • Rental Yield & Cash-Flow Modeling: Compare monthly rental revenues against acquisition costs across student towns (Lille, Rennes, Montpellier) and commercial hubs to calculate gross rental yields.
  • PropTech & Aggregator Feeds: Fuel property search engines, map visualizations, and regional market barometers with clean, de-duplicated listing data.

🗂️ Covered Property Categories

This scraper supports filtering and extraction across all major French property classifications:

  1. Flats & Apartments (flat): Studio apartments, T1/T2/T3/T4/T5 residential flats, duplexes, triplexes, and rooftop penthouses across urban metros.
  2. Houses & Villas (house): Detached single-family homes, suburban pavilions, country properties, and luxury villas.
  3. Lofts & Workshops (loft): Converted industrial lofts and open-plan residential spaces.
  4. Townhouses (townhouse): Historic and modern urban townhomes (hôtels particuliers).
  5. Castles & Manors (castle): French châteaux, historic estates, manoirs, and rural prestige domains.
  6. Investment Buildings (building): Entire residential and mixed-use buildings (immeubles de rapport) for multi-family investors.
  7. Building Land (terrain): Residential plots, subdividable land, and commercial development parcels.
  8. Offices & Retail (office, shop, premises): Commercial workspaces, boutique retail stores, and light industrial facilities.

✨ Key Features & Capabilities

  • ✅ Automatic Location Resolution: Type any French city name (e.g., "Paris", "Lyon", "Bordeaux", "Nice"), district, or department code; the scraper automatically maps it to official Bien'ici geographic zone identifiers.
  • ✅ Deep 1,000+ Record Pagination: Unlocked pagination engine retrieves hundreds of records per batch and scales smoothly to 1,000+ listings without hitting arbitrary limits.
  • ✅ Calculated Price per m²: Computes accurate €/m² metrics for every listing based on declared living surface area and purchase or rental figures.
  • ✅ Full DPE & GES Climate Ratings: Extracts standardized energy classifications (energyClassification) and greenhouse gas emission scores (greenhouseGazClassification).
  • ✅ Detailed Architectural Features: Captures floor number, total building floors, construction year, heating type, elevator presence, balconies, terraces, and private gardens.
  • ✅ Condominium Financials: Extracts annual co-ownership charges (charges annuelles de copropriété) and security deposits for rental listings.
  • ✅ Zero Duplicates Guarantee: Maintains an in-memory SHA-based ID index across pagination pages to guarantee 100% unique records in every dataset.

📊 Extracted Data Fields

The scraper maps raw portal listings into a unified, developer-ready schema:

🏠 Property Identification & Core Attributes

FieldCoverageDescription
id🟢 High (100%)Unique Bien'ici listing identifier (e.g., bienici-1234567)
url🟢 High (100%)Canonical URL to the live listing page on Bien'ici
adType🟢 High (100%)Transaction classification: buy (sale), rent (rental), or lifeAnnuitySale
propertyType🟢 High (100%)Standardized property type: flat, house, loft, building, terrain, etc.
title🟢 High (100%)Headline listing title provided by the marketing agency
description🟢 High (98%)Full textual property description formatted in clean text

💶 Pricing & Transaction Intelligence

FieldCoverageDescription
price🟢 High (99%)Total sale price or monthly rent in Euros (€)
pricePerSquareMeter🟢 High (98%)Computed price per square meter in €/m²
priceHasDecreased🟢 High (100%)Boolean flag: true if listing price was recently marked down
priceWithoutFees🟡 ConditionalNet seller price excluding agency commissions (prix net vendeur)
annualCondominiumFees🟡 ConditionalDeclared annual building co-ownership maintenance fees (charges)
guaranteeAmount🟡 ConditionalSecurity deposit amount required for rental leases

📐 Space, Layout & Interior Specifications

FieldCoverageDescription
surfaceArea🟢 High (99%)Living interior surface area in square meters (m²)
landSurfaceArea🟡 ConditionalTotal exterior plot or garden area in m² (houses and land)
roomsQuantity🟢 High (99%)Total number of rooms (T1, T2, T3, etc.)
bedroomsQuantity🟢 High (92%)Dedicated bedroom count
floor🟡 ConditionalSpecific floor level in multi-story residential buildings
floorQuantity🟡 ConditionalTotal number of floors in the residential building
yearOfConstruction🟡 ConditionalOriginal building construction year
heating🟡 ConditionalHeating type (collective, individual electric, gas radiator, heat pump)
features🟢 High (100%)Array of amenities: garden, terrace, balcony, cellar, elevator, parking, etc.

⚡ DPE & GES Environmental Ratings

FieldCoverageDescription
energyClassification🟢 High (90%)Official French DPE energy label: A, B, C, D, E, F, G
energyValue🟢 High (85%)Energy consumption value measured in kWh/m²/year
greenhouseGazClassification🟢 High (88%)Greenhouse gas emissions rating: A to G
greenhouseGazValue🟢 High (83%)Climate impact measured in kg CO₂/m²/year

📍 Location & Agency Details

FieldCoverageDescription
city🟢 High (100%)Municipality name (e.g., Paris, Lyon 6e Arrondissement)
postalCode🟢 High (100%)Official 5-digit French postal code (e.g., 75011, 69006)
district🟡 ConditionalSpecific neighborhood or micro-district name
latitude🟢 High (95%)Approximate latitude for GIS mapping and geographic clustering
longitude🟢 High (95%)Approximate longitude for GIS mapping and geographic clustering
accountName🟡 ConditionalName of the listing real estate agency or network
accountType🟢 High (100%)Entity type: agency (professional) or individual
photos🟢 High (98%)Array of high-resolution property image URLs
scrapedAt🟢 High (100%)ISO 8601 UTC timestamp of record extraction

⚙️ Input Parameters

Configure your crawl easily through the Apify Console or pass JSON parameters via API:

{
"searchLocations": ["Paris", "Lyon"],
"filterType": "buy",
"propertyTypes": ["flat", "house"],
"minPrice": 200000,
"maxPrice": 850000,
"minArea": 40,
"onlyPriceDrops": false,
"sortBy": "relevance",
"maxItems": 500
}
ParameterTypeDefaultDescription
searchLocationsarray["Paris"] (prefill), [] (default)One or more French cities, districts, or departments to search. Leave empty for all of France.
filterTypestring"buy"Transaction filter: "buy" for properties for sale, or "rent" for long-term rentals.
propertyTypesarray["flat", "house"]Selected property categories: flat, house, loft, townhouse, building, terrain, office, etc.
minPriceintegernullMinimum sale price or monthly rent in Euros (€).
maxPriceintegernullMaximum sale price or monthly rent in Euros (€).
minAreaintegernullMinimum living surface area in square meters (m²).
maxAreaintegernullMaximum living surface area in square meters (m²).
minRoomsintegernullMinimum room count.
onlyPriceDropsbooleanfalseWhen true, isolates listings whose price has recently decreased.
sortBystring"relevance"Result ordering: relevance, newest, price-asc, price-desc.
maxItemsinteger100 (prefill), 0 (default)Maximum total listings to return. Set to 0 for unlimited extraction.
proxyConfigurationobject{"useApifyProxy": true}Proxy configuration. Apify Datacenter proxies ensure fast, reliable downloads.

📦 Sample Output

Every extracted listing is normalized into clean JSON:

{
"id": "bienici-immo-98765432",
"url": "https://www.bienici.com/annonce/vente/appartement/paris-11e/bienici-immo-98765432",
"adType": "buy",
"propertyType": "flat",
"title": "Appartement 3 pièces 68 m² Paris 11ème",
"description": "Exclusivité. Au cœur du 11ème arrondissement, magnifique appartement traversant lumineux...",
"price": 645000,
"pricePerSquareMeter": 9485,
"priceHasDecreased": true,
"priceWithoutFees": 620000,
"annualCondominiumFees": 2400,
"surfaceArea": 68.0,
"roomsQuantity": 3,
"bedroomsQuantity": 2,
"floor": 3,
"floorQuantity": 6,
"yearOfConstruction": 1910,
"energyClassification": "D",
"energyValue": 198,
"greenhouseGazClassification": "D",
"greenhouseGazValue": 42,
"features": ["balcony", "cellar", "elevator", "intercom"],
"city": "Paris 11e Arrondissement",
"postalCode": "75011",
"district": "Folie-Méricourt",
"latitude": 48.8654,
"longitude": 2.3762,
"accountName": "AGENCE IMMOBILIERE DE L'EST",
"accountType": "agency",
"createdByPro": true,
"photosCount": 12,
"publicationDate": "2026-10-15T09:30:00Z",
"scrapedAt": "2026-11-10T12:00:00.000Z"
}

💡 Practical Real Estate Use Cases

1. DPE Renovation & Energy Arbitrage Screening

Under the French Climate Law, properties rated G face rental bans starting in 2025, with F following by 2028. Real estate flippers and green retrofit funds can scrape properties for sale with energyClassification in ['F', 'G'] and negotiate aggressive purchase discounts to execute thermal insulation retrofits.

2. Comparable Market Analysis (CMA) for Appraisers

Before listing a property, estate agents can pull all active listings within the same postal code or micro-district. Filter by matching room counts and compare pricePerSquareMeter distributions to establish competitive pricing recommendations.

3. Automated Price Reduction Monitoring

Run a daily scheduled crawl with onlyPriceDrops: true across major French cities. Feed newly reduced properties directly into Telegram, Slack, or CRM channels to contact listing agents ahead of retail buyers.

4. French Buy-to-Let Rental Yield Modeling

Extract rental listings across student cities (e.g., Toulouse, Montpellier, Rennes) to determine median monthly rent per square meter by neighborhood. Cross-reference with asking sale prices to identify sub-markets delivering gross rental yields above 7%.


🗺️ French Regional & Metropolitan Coverage

The scraper provides complete coverage across metropolitan France and overseas departments:

  • Île-de-France (Greater Paris): Paris (all 20 arrondissements), Hauts-de-Seine (92), Seine-Saint-Denis (93), Val-de-Marne (94), Yvelines (78), Essonne (91), Val-d'Oise (95), and Seine-et-Marne (77).
  • Auvergne-Rhône-Alpes: Lyon metropolitan area, Villeurbanne, Grenoble, Saint-Étienne, Annecy, and Clermont-Ferrand.
  • Provence-Alpes-Côte d'Azur (PACA): Marseille, Nice, Toulon, Cannes, Antibes, and Aix-en-Provence.
  • Nouvelle-Aquitaine & Occitanie: Bordeaux, Toulouse, Montpellier, Nîmes, Pau, and La Rochelle.
  • Grand Est & Hauts-de-France: Strasbourg, Lille, Reims, Nancy, and Metz.
  • Northwest & Atlantic Coast: Nantes, Rennes, Brest, Angers, and Le Mans.

🚀 How to Run via Apify API

Trigger the actor programmatically from your Node.js, Python, or shell workflows:

Node.js (Apify Client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('haketa/bienici-scraper').call({
searchLocations: ['Bordeaux', 'Toulouse'],
filterType: 'buy',
propertyTypes: ['flat'],
maxPrice: 400000,
maxItems: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} French property listings.`);

Python (Apify Client)

import os
from apify_client import ApifyClient
client = ApifyClient(os.getenv('APIFY_TOKEN'))
run = client.actor('haketa/bienici-scraper').call(run_input={
'searchLocations': ['Lyon'],
'filterType': 'buy',
'minArea': 50,
'onlyPriceDrops': True,
'maxItems': 1000,
})
dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
print(f'Retrieved {len(dataset_items)} price-reduced listings in Lyon.')

cURL

curl -X POST "https://api.apify.com/v2/acts/haketa~bienici-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchLocations": ["Paris"],
"filterType": "buy",
"propertyTypes": ["flat"],
"maxItems": 250
}'

❓ Frequently Asked Questions

Are phone numbers and direct agency email addresses included? Bien'ici routes user inquiries through internal contact forms and obfuscates direct agent phone numbers and emails to protect customer privacy. The scraper extracts the verified agency business name (accountName), agency classification, and direct listing link.

Can I request 1,000+ listings in a single run? Yes. You can set maxItems to 1000, 5000, or 0 (unlimited). When requesting 1,000+ items across broad criteria, the scraper paginates in batches of 500 listings and automatically expands across major French metropolitan zones if your primary search reaches exhaustion.

How does price per m² calculation handle missing values? If the source listing does not explicitly declare a square meter price, the scraper automatically computes pricePerSquareMeter = Math.round(price / surfaceArea) for standard sales and rental properties, ensuring near 100% field coverage.

What is the difference between buy, rent, and life annuity (viager)? buy covers standard freehold acquisitions. rent extracts monthly tenancy listings. lifeAnnuitySale (viager) covers the unique French life-annuity mechanism, where the purchase price represents an initial lump sum (bouquet) accompanied by monthly lifetime rent payments (rente viagère).

How fresh is the listing data? Data is queried live from Bien'ici's active marketplace. Newly published listings, price adjustments, and sold status removals are reflected in real time.


Can I filter by specific Parisian arrondissements? Yes. You can supply specific district names in searchLocations, such as "Paris 11e Arrondissement", "Paris 15", "Paris 18", or search across the entire capital with "Paris".

Can I set up automated webhooks for newly added properties? Yes. Configure an Apify Webhook on your actor run to trigger an HTTP POST to your webhook endpoint (Make, Zapier, Slack, or your internal API) whenever the scraper finishes.

How does the scraper handle non-standard property features? Attributes like private gardens, underground cellars, swimming pools, elevators, and air conditioning are compiled into a normalized features array of clean strings, making filtering trivial in downstream SQL or Pandas code.

Expand your cross-border European property intelligence with these scrapers:


📋 Changelog

Version 1.2 (2026-11)

  • Deep 1,000+ Pagination Unlocked: Fully uncapped listing pagination with automatic multi-city expansion for large-scale French property intelligence.
  • Fast Prefill Optimization: Streamlined default parameters to deliver a rich 100-listing Paris sample in <15 seconds.
  • Enhanced €/m² and DPE Normalization: Improved calculated price per square meter formulas and robust parsing of French climate energy diagnostic ratings.
  • Multi-Zone Query Resolution: Optimized municipal and departmental zone resolution for composite search locations.

Version 1.1 (2026-08)

  • Added support for life annuity sales (viager) and commercial business premises.
  • Integrated priceHasDecreased price reduction tracking.
  • Added comprehensive condominium fees and co-ownership attributes.

Version 1.0 (2026-05)

  • Initial release covering French residential sales and rentals with full DPE ratings and photo galleries.
⌂ 换网址