
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape SeLoger.com listings from search URLs or locations and filters: price, area, rooms, energy class, agency and phone, photos, GPS, full description and features. Buy and rent. No login.
Scrape property listings from seloger.com, France's best-known real-estate portal. Paste any SeLoger search URL or just type a city, and get clean rows with price, living area, rooms, energy class, address, agency and phone number, photos and, on request, GPS coordinates, the full description and every feature. No login, no browser, 1,000 listings in under a minute.
| Field | What it does |
|---|---|
startUrls | seloger.com search URLs (/classified-search?... or /recherche/...) and listing URLs (/annonce/...) |
locations | Cities, postcodes, departments or regions, resolved like the site's own search box |
maxItems | Maximum listings to save (default 20) |
includeDetails | Also read each listing page for GPS, full description, features and energy data |
transactionType | buy or rent (location searches) |
propertyTypes | apartment, house, parking, plot, building, commercial, other |
priceMin / priceMax, areaMin / areaMax, roomsMin / roomsMax, bedroomsMin | Filters for location searches |
sellerType | all, private sellers only, or agencies only |
sortBy | relevance, newest, price or area ascending/descending |
{
"locations": ["Lyon", "Bordeaux"],
"transactionType": "rent",
"propertyTypes": ["apartment"],
"priceMax": 1500,
"roomsMin": 2,
"sortBy": "newest",
"maxItems": 200,
"includeDetails": true
}
| Field | Description |
|---|---|
id, url | SeLoger listing id and link |
title, headline, description | Listing type, headline and text (full text with details) |
transactionType, propertyType | BUY / RENT, APARTMENT / HOUSE / ... |
price, priceText, pricePerSqmText, priceNote, priceRaw | Price as a number and as shown (rent notes such as "charges comprises"), plus the portal's internal price |
livingArea, plotArea, rooms, bedrooms, floor | Size and layout |
energyClass, energyConsumption, ghgClass, ghgEmissions | DPE and GES data |
city, zipCode, district, province, region, latitude, longitude | Location (GPS when the seller publishes the address and details are on) |
images, floorplans, virtualTours, imageCount | Media |
sellerType, agencyName, contactName, phoneNumbers, agencyAddress, agencyWebsite, agencyLegalInfo | Seller and agency |
features, condition, heatingType, yearBuilt, coOwnershipCharges, priceDetails | Details add-on |
createdAt, updatedAt, searchUrl, page, scrapedAt | Dates and provenance |
Example (trimmed, people and agency are fictional):
{
"id": "2622GP36C19C",
"url": "https://www.seloger.com/annonce/achat/ile-de-france/paris-75/paris-75000/2622GP36C19C",
"title": "Appartement à vendre",
"headline": "Superbe appartement 4 pièces avec balcon, cave et parking",
"transactionType": "BUY",
"propertyType": "APARTMENT",
"price": 1350000,
"priceText": "1 350 000 €",
"pricePerSqmText": "12 735,85 €/m²",
"livingArea": 106,
"rooms": 4,
"bedrooms": 3,
"floor": "Étage 4/9",
"energyClass": "D",
"energyConsumption": "160 kWh/m².an",
"ghgClass": "D",
"yearBuilt": 1976,
"district": "Nation-Picpus",
"city": "Paris 12ème arrondissement",
"zipCode": "75012",
"latitude": 48.84614,
"longitude": 2.39568,
"imageCount": 23,
"sellerType": "professional",
"agencyName": "AGENCE EXEMPLE IMMOBILIER",
"contactName": "Claire Martin",
"phoneNumbers": ["01 23 45 67 89"],
"features": ["Ascenseur", "Cave (Total 7 m²)", "Balcon (Total 7 m²)", "Gardien"],
"heatingType": "Chauffage central",
"coOwnershipCharges": "6 300 €/an",
"priceDetails": {"Prix du bien": "1 350 000 €", "Frais de notaires estimés": "108 000 €"},
"createdAt": "2026-10-14T14:44:00Z",
"detailsScraped": true
}
listing event per saved row).Is it legal? The actor reads public listing pages that anyone can open without an account. You are responsible for how you use the data, including personal data such as agents' names and phone numbers (GDPR).
Do I need a login or my own proxy? No. French residential addresses are included and the site's bot check is handled for you.
How many results can I get? seloger.com shows about 10,000 results per search (333 pages). For more, split the search by price range, property type or location; the run tells you when a search hits that ceiling.
Why are some fields empty? Sellers don't fill every field. GPS is only published when the seller shows the address. New-build programmes (selogerneuf.com) and luxury listings (bellesdemeures.com) appear in searches but their detail pages live on other sites, so they come without the details add-on (and aren't charged for it). When a listing has no condition field ("État"), condition is taken from what the description says (for example "aucun travaux à prévoir" gives "Entretenu", "à rénover" gives "Rénovation nécessaire"), using the site's own condition labels.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the API and read the dataset as JSON, CSV or Excel.
I used another SeLoger scraper with a single startUrl field. Paste the same URL into startUrls; startUrl and urls are accepted too.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalseloger.com URLs
Search result URLs copied from seloger.com (www.seloger.com/classified-search?... or /recherche/... pages, with every filter you set on the site) and single listing URLs (www.seloger.com/annonce/...). Search URLs are paginated automatically.
locationsarrayOptionalLocations
Cities, postcodes, departments or regions in France, such as "Lyon", "75011" or "Gironde". Each one runs its own search with the filters below. Leave empty when you paste search URLs.
maxItemsintegerOptionaldefault 20Max listings
Maximum number of listings to save across all URLs and locations. seloger.com shows about 10,000 results per search; split bigger searches by price range or location.
includeDetailsbooleanOptionaldefault falseInclude full listing details
Also open each listing page to add GPS coordinates, the full description, all photos, features (balcony, lift, cellar...), energy consumption and emissions, heating, co-ownership data and the price breakdown. Slower, and charged as an add-on per listing.
Used with Locations. Pasted search URLs keep the filters already in them.
transactionTypeenumOptionaldefault "buy"Transaction
For location searches. Search URLs keep their own settings.
propertyTypesarrayOptionalProperty types
Leave empty for apartments and houses.
priceMinintegerOptionalMin price (EUR)
Purchase price, or monthly rent for rentals.
priceMaxintegerOptionalMax price (EUR)
Purchase price, or monthly rent for rentals.
areaMinintegerOptionalMin living area (m²)
Minimum living area in square metres.
areaMaxintegerOptionalMax living area (m²)
Maximum living area in square metres.
roomsMinintegerOptionalMin rooms
Minimum number of rooms.
roomsMaxintegerOptionalMax rooms
Maximum number of rooms.
bedroomsMinintegerOptionalMin bedrooms
Minimum number of bedrooms.
sellerTypeenumOptionaldefault "all"Seller
Who posted the listing.
sortByenumOptionaldefault "default"Sort by
Order of the results.
maxConcurrencyintegerOptionaldefault 8Parallel requests
How many pages to load at the same time.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
French residential addresses are used by default. The site checks visitors with DataDome; the run clears that check automatically.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| id | string | |
| url | string | null | |
| price | number | null | |
| livingArea | number | null | |
| rooms | number | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Listing | One seloger.com listing saved from a search or listing URL. Failed or empty results are free. | $0.0013 |
| Full listing details | Add-on per listing when 'Include full listing details' is on and the listing page was read (GPS, full description, features, energy data). Listing URLs always include details. | $0.001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/seloger-scraper').call({
"startUrls": [
"https://www.seloger.com/classified-search?distributionTypes=Buy&estateTypes=Apartment&locations=AD08FR31096"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
],
"scrapelyProxyCountry": "FR"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/seloger-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/seloger-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Rentals up to 1,500 EUR from agencies, with full details.
Listings from a SeLoger search URL with details.
Sale listings sorted by price.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.