SeLoger France Real Estate Listings & Agent Leads Scraper
Pricing
from $24.00 / 1,000 results
SeLoger France Real Estate Listings & Agent Leads Scraper
Scrape SeLoger France property listings for sale or rent: price, price per m2, surface, rooms, bedrooms, property type, city, postal code, energy class, listing URL plus agency name, phone and contact details. Search by city or paste search URLs. Export to JSON, CSV or Excel.
Pricing
from $24.00 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
SeLoger France Real Estate Listings & Agent Leads Scraper
Here is one real result, with every field the actor returns (the description is trimmed by the source with a [...] marker; all values shown are real):
{"listingId": 264280703,"publicationId": 30056693,"listingUrl": "https://www.bellesdemeures.com/annonces/vente/tt-2-tb-1-pl-48213/264280703/","title": "Appartement","propertyType": "Appartement","operation": "vente","priceAmount": 995000,"priceCurrency": "EUR","priceText": "995 000 €","pricePerM2": 15994,"monthlyPrice": 5060,"rooms": 2,"bedrooms": 1,"surfaceM2": 62.21,"city": "Paris 9ème","district": "Trudaine-Maubeuge","postalCode": "75009","department": "75","latitude": null,"longitude": null,"energyClass": "E","isNew": false,"isExclusive": false,"photosQty": 13,"mainPhoto": "https://v.seloger.com/s/width/800/0/m/m/z/0mmz6091jsnr2wlxgku06i3yoh6o6uwz3wbxiw51c.jpg","description": "Appartement à vendre - Ancien atelier d'artiste entièrement rénové avec goût, situé au troisième et dernier étage d'un très bel immeuble ancien. [...]","tags": ["2 pièces","1 chambre","62 m²","Étage 3/3"],"agencyName": "Daniel Féau 9ème","agentName": null,"isPrivateSeller": false,"contactPhone": "01 55 31 94 70","contactEmail": null,"hasEmail": true,"agencyId": 56693,"agencyUrl": "https://www.seloger.com/professionnels-immobilier/8a6kQsYKb7YWT3SEeUJyaH","agencyRef": "RC-051749","searchCity": "Paris","searchUrl": "https://www.seloger.com/list.htm?projects=2&types=1,2&places=[{ci:750056}]&enterprise=0&qsVersion=1.0","source": "seloger.com","observedAt": "2026-08-10T14:34:31.760Z"}
The most complete SeLoger scraper available. It returns every field a SeLoger (and BellesDemeures) property listing exposes, plus derived fields like price per m2 and an estimated monthly price, and the agency contact so you get real estate leads alongside the listing data.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches SeLoger (seloger.com and BellesDemeures) for the French cities you name or for the exact search URLs you paste, paginates through the matching property listings, and writes one normalized record per listing to the run's dataset. City names are resolved to their SeLoger location automatically. Each record includes the full price breakdown, surface, rooms, energy class (DPE), photos, description, and the listing agency with its phone and reference.
Data covers France property listings for sale (vente) or rent (location). It is aimed at real estate market research, price benchmarking, and agency lead generation.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 apartments and houses for sale in Paris.
{"cities": ["Paris"],"operation": "vente","propertyType": "apartments_houses","maxListings": 10}
To scrape an exact search with all your own filters, paste the SeLoger list.htm URL into searchUrls instead of (or in addition to) cities.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
cities | string[] | no | (prefill ["Paris"]) | One or more French city, district or department names (for example Lyon, Bordeaux). Each name is resolved to its SeLoger location automatically. Leave empty if you provide searchUrls. |
operation | enum | no | vente | Whether to scrape properties for sale (vente) or for rent (location). Applies to searches built from cities. |
propertyType | enum | no | apartments_houses | Which property types to include: apartments_houses, apartments, houses, or all. Applies to searches built from cities. |
searchUrls | string[] | no | (empty) | Optional. Paste one or more SeLoger search (list.htm) result URLs to scrape exactly those searches with all your filters. Used in addition to any cities. |
maxListings | integer | no | (prefill 10) | Maximum number of listings to collect across the whole run. |
Output reference
One dataset item per listing. Types: string, number, integer, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
listingId | integer | SeLoger listing ID. |
publicationId | integer | SeLoger publication ID. |
listingUrl | string | Public listing URL. |
title | string | Listing title. |
propertyType | string | Property type (for example Appartement, Maison). |
operation | string | vente (sale) or location (rent). |
priceAmount | integer | Price in EUR. |
priceCurrency | string | Currency code (EUR). |
priceText | string | Formatted price string as displayed. |
pricePerM2 | integer | Price per square metre in EUR (derived). |
monthlyPrice | integer | Estimated monthly price in EUR (derived). |
rooms | integer | Number of rooms (pièces). |
bedrooms | integer | Number of bedrooms. |
surfaceM2 | number | Surface area in square metres. |
city | string | City / district. |
district | string | District / neighbourhood. |
postalCode | string | Postal code. |
department | string | Department code. |
latitude | number | Latitude, or null when not published. |
longitude | number | Longitude, or null when not published. |
energyClass | string | Energy class (DPE), for example C, E. |
isNew | boolean | Whether the listing is a new build. |
isExclusive | boolean | Whether the listing is exclusive to the agency. |
photosQty | integer | Number of photos. |
mainPhoto | string | Main photo URL. |
description | string | Listing description text. |
tags | string[] | Feature tags (rooms, surface, floor, parking, lift). |
agencyName | string | Agency / contact name. |
agentName | string | Agent name, or null. |
isPrivateSeller | boolean | Whether the seller is a private individual. |
contactPhone | string | Contact phone number, or null. |
contactEmail | string | Contact email, or null. |
hasEmail | boolean | Whether an email contact is available on the listing. |
agencyId | integer | Agency ID. |
agencyUrl | string | Agency profile page URL. |
agencyRef | string | Agency reference (RCU). |
searchCity | string | The city that produced this record. |
searchUrl | string | The search URL that produced this record. |
source | string | Data source label (seloger.com). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed run: a single item with a populated error field is written instead of listings. |
Example output record
Real record from a live run (input {"cities": ["Paris"], "operation": "vente", "propertyType": "apartments_houses", "maxListings": 10}), with the source-truncated description:
{"listingId": 259895603,"publicationId": 30085817,"listingUrl": "https://www.bellesdemeures.com/annonces/vente/tt-2-tb-1-pl-48258/259895603/","title": "Appartement","propertyType": "Appartement","operation": "vente","priceAmount": 3490000,"priceCurrency": "EUR","priceText": "3 490 000 €","pricePerM2": 16498,"monthlyPrice": 17720,"rooms": 6,"bedrooms": 4,"surfaceM2": 211.54,"city": "Paris 16ème","district": "Muette Sud","postalCode": "75016","department": "75","latitude": null,"longitude": null,"energyClass": "C","isNew": false,"isExclusive": false,"photosQty": 32,"mainPhoto": "https://v.seloger.com/s/width/800/0/l/x/4/0lx49m9wj5z6yk71k0yk3nkbbhrbmsd78fkcts8lc.jpg","description": "Appartement à vendre - À proximité des jardins du Ranelagh, des transports, des écoles et des commerces. [...]","tags": ["6 pièces","4 chambres","212 m²","Étage 6/7","Parking","Ascenseur"],"agencyName": "JUNOT PASSY-LA MUETTE","agentName": null,"isPrivateSeller": false,"contactPhone": "01 45 03 10 00","contactEmail": null,"hasEmail": true,"agencyId": 85817,"agencyUrl": "https://www.seloger.com/professionnels-immobilier/MXDHrQMTaXVV5f4qreLK5p","agencyRef": "RC-106256","searchCity": "Paris","searchUrl": "https://www.seloger.com/list.htm?projects=2&types=1,2&places=[{ci:750056}]&enterprise=0&qsVersion=1.0","source": "seloger.com","observedAt": "2026-08-10T14:34:31.760Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~seloger-france-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"cities":["Paris"],"operation":"vente","propertyType":"apartments","maxListings":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~seloger-france-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"cities":["Lyon","Bordeaux"],"operation":"location","maxListings":100}'
Apify CLI:
apify call scrapers_lat/seloger-france-scraper \--input '{"searchUrls":["https://www.seloger.com/list.htm?projects=2&types=1,2&places=[{ci:750056}]"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per listing returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run fails or is misconfigured, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 listings per run. Upgrade for a higher
maxListings.
FAQ and troubleshooting
A run returned 0 records. Why?
The city could not be resolved or the search matched nothing. Check the city spelling, or paste an exact SeLoger list.htm URL into searchUrls. Zero-result runs are not charged.
How do I apply advanced filters (price band, rooms, energy class)?
Build the search on seloger.com with the filters you want, then paste the resulting list.htm URL into searchUrls. The actor scrapes exactly that search.
Why is contactEmail null when hasEmail is true?
SeLoger flags that an email contact channel exists on the listing but does not always expose the raw address in the listing data. The phone is returned when published; the email address itself may not be.
Do rent and sale both work?
Yes. Set operation to vente for sale or location for rent when searching by cities.
Is this an official SeLoger tool? No. This actor is independent and has no affiliation with SeLoger or BellesDemeures. It reads only data that is publicly available on those websites. Use it in accordance with their terms of service.
Related scrapers
- Idealista Property Scraper: Spain, Italy and Portugal property listings.
- Immobiliare Italy Scraper: Italian real estate listings and agents.
- Adondevivir Peru Real Estate Scraper: Peru property listings.
- Zillow Property Scraper: US real estate listings.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with SeLoger or BellesDemeures. Accesses only publicly available listing data. Use in accordance with their terms of service.
