SeLoger, Leboncoin, Bien'ici, PAP & Logic-Immo Scraper
Pricing
from $1.60 / 1,000 property listings
SeLoger, Leboncoin, Bien'ici, PAP & Logic-Immo Scraper
French property listings from Leboncoin, SeLoger, Bien'ici, PAP and Logic-Immo in one run, one format: price, m², rooms, DPE, photos, agency, compared with real sale prices (DVF). Buy or rent, any city, postcode or département. Only-new mode for alerts.
Pricing
from $1.60 / 1,000 property listings
Rating
0.0
(0)
Developer
Ken Digital
Maintained by CommunityActor stats
1
Bookmarked
37
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
French property listings from Leboncoin, SeLoger, Bien'ici, PAP and Logic-Immo in a single run and a single format. Every row has price, €/m², surface, rooms, bedrooms, floor, DPE energy class, photos, publication date and seller type. Each sale listing is also compared with the real prices paid nearby, from the government's DVF register of property sales. Search to buy or to rent, by city, postcode or département. Turn on Only new listings and schedule it for property alerts that never repeat a listing.
New name: this actor is now
cycha/france-real-estate-scraper(it wasjoyouscam35875/france-real-estate-scraperuntil 21 October 2026). If an API call or integration stopped working, update the name, or use the actor IDu5Ywbqhs8BTWEOZKI, which never changes.
Annonces immobilières Leboncoin, SeLoger, Bien'ici, PAP et Logic-Immo en une seule recherche : prix, €/m², surface, pièces, DPE, photos, agence, comparées aux prix de vente réels (DVF). Achat ou location, par ville, code postal ou département. Mode « nouvelles annonces uniquement » pour des alertes.
- Five sites, one schema. Same fields whatever the site;
sourcetells you where each listing came from. A flat posted on several sites is returned once. - Market check included. For sales,
marketPricePerSqmis the median €/m² actually paid for the same type of home in the same postcode over the last two years, andpriceVsMarketis this listing's €/m² divided by it (0.85 = 15% below the market). Viagers, bare-ownership sales and auctions list only part of the price: they are marked insaleTypeand get nopriceVsMarket, so they never pose as bargains. - Real filters: buy or rent, apartment / house / land / parking, price, surface, rooms.
- Only new listings remembers what earlier runs delivered, so scheduled runs return and bill only fresh listings.
- No login, no account, no proxy setup. The actor handles access to every site itself.
Sample output
Five apartments for sale in Nantes from a real run (one per site). vs market is the listing's €/m² divided by the median €/m² actually paid in the same postcode (DVF): 0.85 means 15% below the market. Each row also has photos, floor, bedrooms, agency, coordinates and publication date.
| Site | City | Price | m² | €/m² | Rooms | DPE | Market €/m² | vs market |
|---|---|---|---|---|---|---|---|---|
| Leboncoin | Nantes 44000 | €322,090 | 76 | €4,238 | 2 | — | €3,781 | 1.12 |
| SeLoger | Nantes 44000 | €286,200 | 70.76 | €4,044 | 3 | C | €3,781 | 1.07 |
| Bien'ici | Nantes 44300 | €87,900 | 19.44 | €4,521 | 1 | E | €3,125 | 1.45 |
| PAP | Nantes 44000 | €730,000 | 140 | €5,214 | 4 | C | €3,781 | 1.38 |
| Logic-Immo | Nantes 44000 | €257,000 | 80.34 | €3,198 | 3 | D | €3,781 | 0.85 |
Quick start
{"location": "Lyon","transactionType": "buy","propertyTypes": ["apartment"],"maxPrice": 350000,"minSurface": 50,"maxResults": 200}
Daily alert: add "onlyNewListings": true, save as a task, schedule it every morning, and connect Slack, email or Google Sheets from the task's Integrations tab.
Input
| Field | Type | Default | Description |
|---|---|---|---|
location | string | required | City (Lyon, Saint-Étienne), postcode (75011, 69003) or département (33, Gironde). One per line for several searches. |
transactionType | string | buy | buy or rent. |
propertyTypes | array | apartment, house | apartment, house, land, parking, other. |
minPrice / maxPrice | integer | Sale price, or monthly rent. | |
minSurface / maxSurface | integer | Living area in m². | |
minRooms | integer | Pièces (T3 = 3). | |
sources | array | all five | leboncoin, seloger, bienici, pap, logicimmo. |
maxResults | integer | 100 | Per location, shared across the selected sites. 0 = everything (up to 5,000). |
marketComparison | boolean | true | Add DVF market prices to sale listings. |
onlyNewListings | boolean | false | Return only listings not delivered by earlier runs of the same searches (one found by two searches is sent once). |
Earlier inputs (propertyType as a single value) still work, and rows keep the earlier location, dvfMedianPrice and opportunityScore fields for existing integrations.
Output
{"listingId": "seloger:268MUDI8TF75","source": "seloger","url": "https://www.seloger.com/annonce/achat/auvergne-rhone-alpes/rhone-69/lyon-69000/268MUDI8TF75","title": "Superbe 3 pièces","transactionType": "buy","propertyType": "apartment","price": 189000,"pricePerSqm": 2739.13,"surface": 69,"rooms": 3,"bedrooms": 2,"floor": "2/5","energyClass": "A","newBuild": true,"city": "Lyon 8ème arrondissement","postalCode": "69008","departmentCode": "69","description": "Lyon 8ème : Appartement T3 Neuf – Éclat et Confort à Proximité des Transports...","photos": ["https://..."],"sellerType": "agency","agencyName": "Example Immobilier","publishedAt": "2026-10-01T09:12:00Z","marketPricePerSqm": 4310,"marketSampleSize": 812,"marketScope": "postcode","priceVsMarket": 0.636,"searchLocation": "Lyon","scrapedAt": "2026-10-07T10:00:00+00:00"}
Fields a site does not publish are null: Leboncoin and SeLoger give the most detail; PAP cards have no floor or agency, since PAP sellers are private individuals. sellerType is agency or private. Names of private sellers are never exported.
Pricing
Pay per event: one result event per listing row, market comparison included, plus a tiny actor-start fee. With Only new listings on, a run with nothing new costs only the start fee.
Use cases
- Property alerts for a city and budget, every morning, across five sites at once
- Deal hunting for investors: sort by
priceVsMarketto see listings priced under what homes actually sold for nearby - Agencies and mandate hunters: new private-seller listings (
sellerType: private) from PAP and Leboncoin - Market studies: asking prices vs. sale prices, €/m² by postcode, DPE mix, supply by site
Integrations
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("cycha/france-real-estate-scraper").call(run_input={"location": "Bordeaux","propertyTypes": ["apartment"],"maxPrice": 300000,"onlyNewListings": True,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["source"], row["price"], row["surface"], row["priceVsMarket"], row["url"])
Works with Make, Zapier, n8n, Google Sheets, schedules and webhooks, and as an MCP tool for AI agents.
FAQ
How is priceVsMarket computed? From DVF, the public register of every property sale in France. The actor reads the two latest full years for the département, keeps sales of exactly one apartment or house, and takes the median €/m² for the listing's postcode (or its commune or département when the postcode has fewer than 5 sales). It is a first filter, not a valuation: condition, floor and view are not in DVF.
Why do I sometimes get fewer listings from one site? Real-estate sites protect their pages against automated traffic. The actor retries with fresh connections, but a site can still refuse a run now and then. When that happens the run still succeeds with the other sites, and the status message names the site that was unavailable. Re-running usually works.
How are duplicates detected? Same postcode, same price and same surface. When a listing is on several sites, the first site to return it wins.
What if my run has a short timeout? The actor stops shortly before it, keeps every listing already saved, and ends successfully with a message saying so.
Is it legal? The actor reads publicly visible listings and does not export private sellers' names or contact details. You are responsible for how you use the data and for complying with each site's terms and the GDPR.
Feedback
Missing a field or a site? Open an issue on the actor's Issues tab. If this scraper saved you time, a short review on the Store page helps other people find it.
Related actors by the same developer
| Actor | What it does |
|---|---|
| Welcome to the Jungle, France Travail, Hellowork & Cadremploi | French job offers from four sites, only-new mode |
| LinkedIn Jobs Scraper | LinkedIn jobs with full descriptions and only-new mode |
| Google Maps Scraper | Businesses, ratings and contact details from Google Maps |