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

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Bien'ici Scraper — French Property Listings & Prices 🇫🇷🏠

Real estate Sale & rent Price per m² Price drops Format No login Pay per result Maintained Support

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

FieldDescription
adTypebuy or rent
propertyTypeflat, house, land, parking, etc.
title, descriptionListing title & full text
price, priceMin, priceMaxPrice (a range for new-build programmes)
pricePerSquareMeterPrice per m²
priceHasDecreasedTrue if the price recently dropped
surfaceArea, landSurfaceAreaLiving & land area (m²)
roomsQuantity, bedroomsQuantity, bathroomsQuantityRoom counts
terracesQuantity, balconyQuantity, parkingPlacesQuantityExtra spaces
yearOfConstruction, floorBuild year & floor
energyClassification, energyValueDPE energy rating
greenhouseGazClassification, greenhouseGazValueGES emissions rating
hasGarden, hasPool, hasTerrace, hasBalcony, hasCellar, chargingStationsFeature flags
city, postalCode, district, inseeCodeLocation
coordinatesApproximate map position
accountType, createdByProAgency vs. private seller
isBienIciExclusive, isExclusiveSaleMandate, newPropertyListing flags
photos, photosCountImage URLs
publicationDate, modificationDateTimestamps
url, referenceLink & agency reference

🚀 Quick start

  1. Enter one or more Locations (e.g. Paris, Lyon 6, Bordeaux).
  2. Choose Transaction (for sale / for rent) and any property types.
  3. Add optional filters — price, area, rooms, or only price reductions.
  4. 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"
}

  • 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 ApifyClient
client = 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);

Enter any of these — the actor resolves them automatically:

  • CitiesParis, Lyon, Marseille, Toulouse, Nantes, Bordeaux
  • Arrondissements / districtsParis 15, Lyon 6, Marseille 8
  • DepartmentsHauts-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.


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.