SeLoger Universal Scraper avatar

SeLoger Universal Scraper

Pricing

from $0.96 / 1,000 results

Go to Apify Store
SeLoger Universal Scraper

SeLoger Universal Scraper

⚡ Extract unlimited SeLoger listings in seconds! Drop your search URL and get rich, structured real estate data — price, surface, rooms, location, DPE & more. Perfect for market analysis, investment scouting, price benchmarking or lead generation. Automate the French property market & stay ahead! 🏡

Pricing

from $0.96 / 1,000 results

Rating

5.0

(3)

Developer

Scrapifier

Scrapifier

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

1

Monthly active users

15 hours ago

Last modified

Share

SeLoger Scraper

Scrape real-estate listings from SeLoger by location and filters or from a SeLoger search URL, and export them as JSON, CSV or Excel, or pull them straight from the API.

⚡ For every listing you get the price, surface, rooms and bedrooms, the DPE energy rating, title, headline and full description, floor, key facts, city, postal code and district, creation and update dates, photos, nearby transport and the agency name and phone numbers. Search with friendly filters (rent or buy, cities or postal codes, price, surface, rooms, bedrooms) or paste any SeLoger search URL. No account and no cookies to provide, the Actor goes past SeLoger's 2,500-result cap by splitting large searches by price, and you pay per listing.

Apify Actor

🎯 Why scrape SeLoger listings?

  • Price monitoring: track asking prices and rents per m² in a city or arrondissement week after week, and spot price drops.
  • Investment scouting: pull every apartment for sale under your budget in several cities, then rank them by price per m², DPE and floor in a spreadsheet.
  • Lead generation: collect the agencies and private sellers active in your area, with their phone numbers, for prospecting or partnerships.
  • Market research: measure supply by property type, surface and energy rating across regions, and how long listings stay online.
  • Rental search: watch new rentals matching your budget, surface and rooms, delivered to a sheet or a Slack channel.
  • Academic and data journalism: build datasets of French housing listings for studies on housing costs or energy performance.

📊 What data does SeLoger Scraper extract?

FieldDescription
id, legacy_idListing id (alphanumeric on the detail page, numeric on the search summary) and the numeric legacy id
urlDirect link to the listing on seloger.com
title, headline, descriptionTitle, short teaser and full description text
distribution_typeRent or sale
property_typeApartment, house...
creation_date, update_datePublication date and last update date
rooms, bedroomsNumber of rooms and bedrooms
surfaceLiving surface in m² (may be decimal)
floorFloor, or floor / total floors (for example 4/6)
keyfacts[]Key facts list (heating, exposure...)
prices{}Price breakdown (label to value), for example rent including charges
epcEnergy performance (DPE) letter, A to G
energy[]Energy details (heating, condition, estimated bill)
city, zip_code, districtCity or arrondissement, postal code and district
lat, lngLatitude and longitude
transport[]Nearby transport lines by type
features[]Amenities (icon and value)
photos[], floorplans[], virtual_tours[]Photo, floorplan and virtual tour URLs
contact_name, contact_phones[]Agency or seller name and contact phone numbers
is_private_sellertrue when the seller is a private individual
is_exclusive, has_3d_visit, has_brokerage_fee, is_newExclusive listing, 3D visit available, brokerage fee applies, flagged as new
scraped_atExtraction timestamp (UTC)
detail_errorSet only when the detail page could not be fetched and the search summary was used instead

The search results already carry the description, photos, price, surface, rooms, DPE, transport and the agency phone. Turn on fetch_details only when you also need every photo, the full feature list and exact GPS: it opens each listing's own page.

🚀 How to scrape SeLoger listings

  1. Open the Actor, pick Rent or Buy in transaction, and type one or more locations (cities, arrondissements or postal codes such as Paris 11, Lyon, 75011). Each is resolved automatically.
  2. Narrow the search with Property types, Min / Max price, Min / Max surface, Min rooms and Min bedrooms. Or skip the filters and paste a SeLoger search URL from your address bar into urls_list.
  3. Set Max pages per search (10 by default, 0 = all reachable pages). Leave Get more than 2500 results on so large searches are split by price and collected in full.
  4. Leave Fetch full listing details off for a cheap, fast run, and keep the prefilled Residential FR proxy.
  5. Click Start. Listings are pushed to the dataset in batches of 50 while the run progresses.
  6. Open the Storage tab to preview the listings and export them as JSON, CSV, Excel or XML, or read them from the dataset API.

The same run can be started from the Apify API, the Python or JavaScript client, or put on a schedule for daily monitoring.

📥 Input parameters

FieldKeyTypeDefaultDescription
Transactiontransactionselectrentrent (location) or buy (achat).
Locations (city / postal code)locationsarray of strings["Paris 11"]Cities, arrondissements or postal codes (Paris 11, Lyon, 75011, Bordeaux), each resolved automatically.
Property typesproperty_typesmulti-select["apartment"]apartment and/or house. Leave empty for both.
Min price (€)price_minintegernoneMinimum price (monthly rent or sale price, in €).
Max price (€)price_maxintegernoneMaximum price (monthly rent or sale price, in €).
Min surface (m²)surface_minintegernoneMinimum living surface in m².
Max surface (m²)surface_maxintegernoneMaximum living surface in m².
Min roomsrooms_minintegernoneMinimum number of rooms, 1 to 5 (5 = 5 and more).
Min bedroomsbedrooms_minintegernoneMinimum number of bedrooms, 1 to 5 (5 = 5 and more).
Search URLsurls_listarray of stringsnoneAdvanced: SeLoger classified-search?... URLs copied from the address bar (older list.htm?... URLs also work). When set, URLs take precedence over the filters.
Max pagesmax_pagesinteger10Pages to scrape per search. 0 = all reachable pages. Big runs are slower, so raise the run timeout accordingly.
Get more than 2500 results (split by price)split_intervalsbooleantrueA single SeLoger search returns at most about 2,500 results; when there are more, the search is split into price intervals and collected in full.
Fetch full listing details (costs more)fetch_detailsbooleanfalseOpen each listing's own page for every photo, the full feature list and exact GPS. Much slower and more expensive.
Concurrencyconcurrencyinteger8Listings fetched in parallel (1 to 32). Higher is faster; keep it moderate and pair it with a good residential proxy.
Delay between requests (seconds)delay_between_pagesnumber0Wait time between requests (politeness), 0 to 10. 0 = fastest.
Proxy configurationproxyConfigurationobjectApify Residential, country FRResidential proxies in France are strongly recommended for reliable runs.

Example input:

{
"transaction": "rent",
"locations": ["Paris 11", "Lyon"],
"property_types": ["apartment"],
"price_max": 1500,
"surface_min": 30,
"rooms_min": 2,
"max_pages": 10
}

Locations are geocoded one by one and the first match is kept, so prefer a postal code (75011) over an ambiguous town name. If you fill both urls_list and the filters, only the URLs are used: clear urls_list to search with the filters instead.

📤 Output example

Each listing is one dataset item, exportable as JSON, CSV, Excel or via the API.

{
"id": "274717675",
"url": "https://www.seloger.com/annonces/locations/appartement/paris-11eme-75/...",
"title": "Appartement meublé",
"distribution_type": "rent",
"property_type": "apartment",
"prices": { "value": 1575, "currency": "EUR", "period": "monthly" },
"surface": 42,
"rooms": 2,
"bedrooms": 1,
"floor": 3,
"epc": "D",
"city": "Paris",
"zip_code": "75011",
"creation_date": "2026-07-10"
}

The run's OUTPUT record holds the run statistics: searches, listings extracted, errors, detail fallbacks and deleted listings.

💡 Ready-to-run examples

Apartments for rent in Paris 11 and Lyon, under 1,500 € with 30 m² and 2 rooms minimum

{ "transaction": "rent", "locations": ["Paris 11", "Lyon"], "property_types": ["apartment"], "price_max": 1500, "surface_min": 30, "rooms_min": 2, "max_pages": 10 }

Every house for sale in Bordeaux, full result set

{ "transaction": "buy", "locations": ["Bordeaux"], "property_types": ["house"], "max_pages": 0, "split_intervals": true }

From a SeLoger search URL copied from the browser

{ "urls_list": ["https://www.seloger.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR31096"], "max_pages": 10 }

Full listing details (all photos, features, GPS) for one postal code

{ "transaction": "rent", "locations": ["75011"], "property_types": ["apartment"], "max_pages": 10, "fetch_details": true, "concurrency": 8 }

💰 Pricing: how much does it cost to scrape SeLoger?

$0.96 per 1,000 listings, flat. You pay only for the results you receive, there is no subscription and no start fee. New Apify accounts get free monthly platform credits to try it.

Cost is driven by the number of listings returned: cap each search with max_pages and narrow the filters (price_max, surface_min, rooms_min) before you pay for the results. fetch_details opens one extra page per listing, which adds proxy and compute usage.

⚙️ Performance, proxies and limits

  • Residential FR proxy recommended. SeLoger is protected by Datadome and the Actor relies on the proxy to obtain the anti-bot cookie on first contact. Without a proxy the run logs a warning and SeLoger may block requests; blocked searches are counted as errors in the OUTPUT record.
  • 2,500-result cap: a single SeLoger search exposes at most about 2,500 results. With split_intervals on, the search is split into price intervals that each fit under the cap, scraped in parallel. Set max_pages to 0 to collect everything.
  • Concurrency: concurrency (default 8, up to 32) bounds parallel requests. delay_between_pages adds a pause between requests; at 0 the client still keeps a 0.5 s minimum delay.
  • Summary vs detail mode: by default one request per page of results is enough. fetch_details makes one extra request per listing and slows the run down considerably.
  • Detail fallbacks: when a detail page cannot be fetched (listing deleted, partner site such as bellesdemeures, transient block), the search summary is kept and tagged in detail_error. One failed listing never aborts the search.
  • Deduplication: listings are deduplicated by id within each search, including across price intervals.
  • Timeout: big runs are slower, so raise the run timeout for large jobs.
  • Nothing to scrape: with no urls_list and no resolvable locations, the run stops with an explicit error in the log and zero listings.

🔌 Integrations and API

Run SeLoger Scraper from the Apify API, the Python or JavaScript client, or on a schedule. Connect it to Make, Zapier, n8n, Google Sheets, Slack or any webhook through Apify integrations. Every run's dataset is available as JSON, CSV, Excel or XML from the dataset API.

curl -X POST "https://api.apify.com/v2/acts/scrapifier~seloger-universal-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "transaction": "rent", "locations": ["Paris 11", "Lyon"], "property_types": ["apartment"], "price_max": 1500, "surface_min": 30, "rooms_min": 2, "max_pages": 10 }'

❓ FAQ

Is it legal to scrape SeLoger?

The Actor only reads listings that SeLoger publishes to anyone without logging in. Listings contain personal data (seller names, phone numbers), so process them in line with GDPR, respect SeLoger's terms of use, and stay responsible for your use of the data. This is not legal advice.

Do I need a SeLoger account, login or cookies?

No. Nothing to log in to and no cookie to paste. The anti-bot cookie is obtained through the proxy on first contact, hence the residential FR proxy recommendation.

Which SeLoger URLs are supported?

Search URLs only: the classified-search?... URL shown in your address bar after a search on seloger.com, and the older list.htm?... format. Transaction, property types, locations, price, surface and minimum rooms are read from the URL.

Can I export SeLoger listings to Excel or Google Sheets?

Yes. Every run's dataset downloads as CSV, XLSX, JSON or XML from the Storage tab, and the Google Sheets integration can push new listings to a sheet automatically.

How many listings can I scrape?

A single SeLoger search is capped at about 2,500 results, but split_intervals (on by default) splits large searches by price and collects the full set. Set max_pages to 0 for everything, or keep a page cap to control cost and runtime.

Does it cover both rentals and sales, apartments and houses?

Yes. transaction switches between rent and buy, property_types takes apartment, house or both, and several cities or postal codes fit in one run.

Why are some fields empty or why is detail_error set?

Search summaries do not carry every field (exact GPS, floorplans and full features come with fetch_details). detail_error appears when a listing's own page could not be fetched (deleted, partner site, or momentarily blocked) and the summary was kept instead.

How fresh is the data?

Every run scrapes SeLoger live. Schedule the Actor daily to catch new listings and price changes.

🇫🇷 En français

SeLoger Scraper est un scraper SeLoger qui permet d'extraire les annonces immobilières de seloger.com sans écrire de code. Choisissez location ou achat, saisissez une ou plusieurs villes, arrondissements ou codes postaux, puis filtrez par prix, surface, nombre de pièces et de chambres, ou collez simplement l'URL d'une recherche SeLoger. Pour chaque annonce vous obtenez le prix, la surface, les pièces, le DPE, la description, les photos, l'adresse, les transports à proximité, le nom de l'agence et ses numéros de téléphone. Les recherches de plus de 2 500 résultats sont découpées automatiquement par tranche de prix pour récupérer l'ensemble des annonces. Les données s'exportent en CSV, Excel ou JSON, ou se récupèrent via l'API Apify pour alimenter Google Sheets, Make ou n8n. Le tarif est au résultat : 0,96 $ pour 1 000 annonces, sans abonnement. Un proxy résidentiel français est recommandé pour des runs fiables.

💬 Support

Questions, bugs or a feature request? Open an issue in the Issues tab of this Actor, I answer quickly. If SeLoger Scraper saves you time, a rating on the Store helps others find it.