SeLoger Products Scraper | Property Listings and Agencies avatar

SeLoger Products Scraper | Property Listings and Agencies

Pricing

from $1.25 / 1,000 listings

Go to Apify Store
SeLoger Products Scraper | Property Listings and Agencies

SeLoger Products Scraper | Property Listings and Agencies

SeLoger scraper for French real estate: paste a search link, type a city or add listing ids and get property listings with price, price per square metre, surface, rooms, energy class and photos, plus the agency or owner with phone and SIRET. 20 listings in 1 second, 51 fields each, no account.

Pricing

from $1.25 / 1,000 listings

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Features

Limited permissions

Share

SeLoger Products Scraper | Property Listings, Prices and Agent Phones (2026)

SeLoger listings, 51 fields each, from any URL.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 920,000+ combined lifetime runs.

Turn any SeLoger search, city name or list of listing ids into a spreadsheet of prices, surfaces, energy classes and the agency to call. 20 Bordeaux listings in under 3 seconds, out of the 7,409 homes for sale there.

Why choose this actor?

Copying SeLoger listings 30 at a time? Building a new search link every time you add a city to your watch? Opening each listing to find who sells it and how to reach them?

  • Three ways in: search links, place names and listing ids. Paste the SeLoger search page you already use and every filter you set on the site is kept. Or skip the link and type a place in plain words (Bordeaux, Paris 11e, 69003, Gironde) with buy or rent, property types and a price range. Or drop a watchlist of listing ids. On our test run, Paris 11e resolved to the 11th arrondissement and found the 70 apartments for rent at up to 1,500 € a month.
  • Nothing to fill in before your first run. No field is required. The form opens on a real Bordeaux search, so pressing Start returns listings straight away; add your own links, places or ids when you know what you want.
  • 49 data fields filled per listing, contact included. On the prefilled Bordeaux run, 49 fields were filled on at least half of the 20 rows: price and price per m², rooms, bedrooms, surface, floor, energy class, agency name, contact person, phone number (18 rows of 20), SIRET and RCS company numbers (20 of 20), city, district, department, region, publication dates, photos and floor plans.

Try SeLoger Products Scraper free

Try your first listing

Paste this into the JSON tab of the input and press Start. It is the prefilled input: all homes for sale in Bordeaux, capped at 20 listings.

{
"startUrls": [
{ "url": "https://www.seloger.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR13100" }
],
"maxItems": 20
}

You can run it on the Apify Free plan. On November 5, 2026 this input returned 20 listings in under 3 seconds, out of the 7,409 houses and apartments SeLoger listed for sale in Bordeaux that day. All 20 came with a price per m², the agency name and its SIRET number, 18 with a phone number, 14 with an energy class, and together they carried 249 photo links. Each listing is one row of the dataset, ready to export as JSON, CSV or Excel.

How it works

SilentFlow · SeLoger suite
  SeLoger Scraper
Real Estate Listings
  SeLoger Scraper
French Property Listings and
SeLoger Products Scraper
You are here

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the SeLoger Products Scraper on Apify: silentflow/seloger-products-scraper
It reads seloger.com (France's main property listings site) and returns one row per listing.
Input (all optional, give at least one of startUrls, locationQueries, listingIds):
- startUrls (array of {url}): seloger.com search pages (/classified-search?..., /recherche/...) or listing pages (/annonce/...)
- locationQueries (array of strings): places in plain words, e.g. ["Bordeaux", "Paris 11e", "69003", "Gironde"]
- listingIds (array of strings): listing ids "26LCHCAUU124", older numbers "284163609", or listing links
- maxItems (integer, default 100): listings saved across all inputs
- transactionType (string, default "buy"): buy | rent (places only)
- propertyTypes (array, default ["apartment","house"]): apartment | house | plot | parking | building | office | commercial (places only)
- priceMin, priceMax (integer, euros): sale price or monthly rent (places only)
- sort (string, default "default"): default | newest | price_asc | price_desc | area_asc | area_desc | price_per_m2_asc | price_per_m2_desc (places only)
- debugMode (boolean, default false)
Output per listing (59 top-level fields, null when SeLoger does not show the value):
- identity: id (string, stable), legacyId, url, title, headline
- content: description (summary, about 500 characters), transactionType (buy|rent), propertyType, propertyTypeLabel,
propertySubType, keyFacts[], rooms, bedrooms, livingArea (m2), plotArea (m2), floor, totalFloors, energyClass (A-G),
yearBuilt, isNewBuild, newBuildProgram, newBuildUrl, isExclusive, has3DVisit, hasBrokerageFee
- price: price (number), currency (EUR), priceFormatted, pricePerM2, priceNote ("charges comprises" on rentals)
- seller: publisherType (agency|private|real_estate_developer|...), isPrivateOwner, agencyName, agencyId, contactName,
phone, phoneNumbers[], agencyAddress, agencySiret, agencyRcs, agencyProfileUrl, agencyWebsiteUrl, agencyFeeUrl, agencyLogoUrl
- place and time: city, postalCode, district, department, region, country, isAddressPublished,
createdAt, updatedAt (RFC 3339 UTC)
- media: imageUrl, imageUrls[], photosCount, floorplanUrls[]
- meta: searchUrl (the search that found the row, null for ids), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/seloger-products-scraper").call(run_input=...)

How to scrape SeLoger listings

Run your search on seloger.com with the filters you want, copy the address of the results page and paste it. The run keeps every filter of the link and reads the results page after page.

{
"startUrls": [
{ "url": "https://www.seloger.com/classified-search?distributionTypes=Buy&estateTypes=Apartment&locations=AD08FR28808&order=DateDesc" }
],
"maxItems": 120
}

On our test run this Lyon link (apartments for sale, newest first) matched 6,863 listings and saved the first 120 in 4 seconds, each one once.

Find apartments for rent in a Paris arrondissement

No link needed: type the place, pick rent and set a ceiling.

{
"locationQueries": ["Paris 11e"],
"transactionType": "rent",
"propertyTypes": ["apartment"],
"priceMax": 1500,
"sort": "newest",
"maxItems": 100
}

Paris 11e resolves to Paris 11ème arrondissement (75011). On November 5, 2026 it matched 70 apartments for rent at up to 1,500 € a month, each row with priceNote telling whether the rent includes charges.

Watch houses for sale in a whole department, within a budget

{
"locationQueries": ["Gironde"],
"transactionType": "buy",
"propertyTypes": ["house"],
"priceMin": 200000,
"priceMax": 400000,
"sort": "newest",
"maxItems": 500
}

A department, a region, a city, an arrondissement, a district or a postcode all work as a place. The filters apply to every place of the list.

Input parameters

FieldTypeDefaultWhat it does
startUrlsarray of linksprefilled Bordeaux searchSeLoger search pages or listing pages. A search link keeps its own filters and sort.
locationQueriesarray of textnonePlaces in plain words: city, arrondissement, district, postcode, department or region.
listingIdsarray of textnoneListing ids (26LCHCAUU124), older listing numbers (284163609) or listing links.
maxItemsinteger100Listings saved across all links, places and ids. Ids are read first, then the cap is shared evenly between search links and places.
transactionTypebuy or rentbuyFor places: homes for sale or for rent.
propertyTypeslistapartment, houseFor places: apartment, house, plot, parking, building, office, commercial.
priceMininteger (€)noneFor places: lowest sale price or monthly rent.
priceMaxinteger (€)noneFor places: highest sale price or monthly rent.
sortchoicedefaultFor places: SeLoger's order, newest first, price, surface or price per m², up or down.
debugModebooleanfalseDetailed logs, useful when reporting a problem.
  • Search results: https://www.seloger.com/classified-search?... (the address SeLoger shows after a search) and the older https://www.seloger.com/recherche/... pages.
  • Listings: https://www.seloger.com/annonce/achat/.../26LCHCAUU124 and the older https://www.seloger.com/annonces/.../284163609.htm.
  • The www. and https:// parts are optional. Links from other sites, and the old list.htm search pages that SeLoger no longer serves, are named in the log and skipped.

Accepted places

Anything you would type in SeLoger's own search box: Bordeaux, Lyon 3e, Paris 11e, Montmartre, 75011, Gironde, Bretagne. The run uses SeLoger's best match and writes it in the log ("Paris 11e" → Paris 11ème arrondissement (75011)), so you can check it. A place with no match is named in the log and the other places still run.

Accepted ids

The id at the end of a listing link (26LCHCAUU124, 12 letters and digits), the older listing number that SeLoger still answers to (284163609), or the full listing link. An id typed twice, or the old and new number of the same listing, gives one row.

What data can you extract from SeLoger?

Each row is one listing with 59 top-level fields, grouped the way you read a listing. A value SeLoger does not show is null, never an empty text.

GroupFieldsCount
Identityid, legacyId, url, title, headline5
The propertydescription, transactionType, propertyType, propertyTypeLabel, propertySubType, keyFacts, rooms, bedrooms, livingArea, plotArea, floor, totalFloors, energyClass, yearBuilt, isNewBuild, newBuildProgram, newBuildUrl, isExclusive, has3DVisit, hasBrokerageFee20
Priceprice, currency, priceFormatted, pricePerM2, priceNote5
Who sells or lets itpublisherType, isPrivateOwner, agencyName, agencyId, contactName, phone, phoneNumbers, agencyAddress, agencySiret, agencyRcs, agencyProfileUrl, agencyWebsiteUrl, agencyFeeUrl, agencyLogoUrl14
Place and timecity, postalCode, district, department, region, country, isAddressPublished, createdAt, updatedAt9
PhotosimageUrl, imageUrls, photosCount, floorplanUrls4
RunsearchUrl, scrapedAt2

A few fields worth knowing:

  • price is a number in euros: the sale price, or the monthly rent on a rental. pricePerM2 is SeLoger's own price per square metre on sales; on rentals priceNote says charges comprises (charges included) or hors charges instead.
  • floor and totalFloors come from the floor line of the listing (Étage 3/5 gives 3 and 5, RDC gives 0). On a house, 3 étages gives totalFloors 3 and no floor.
  • energyClass is the DPE letter, A to G.
  • publisherType is agency, private, real_estate_developer, real_estate_agent, builder or notary. On a private listing agencyName is null and contactName is the first name the owner shows.
  • agencySiret and agencyRcs are the company numbers from the agency's legal notice, ready to match against company registers.
  • isNewBuild marks a lot of a new-build programme; newBuildProgram and newBuildUrl name the programme and link to its page.
  • createdAt and updatedAt are RFC 3339 dates in UTC.

Output example

One row of the prefilled Bordeaux run, complete (the contact's surname and phone number are shortened here; the dataset carries them in full):

{
"id": "26LCHCAUU124",
"legacyId": "284163609",
"url": "https://www.seloger.com/annonce/achat/nouvelle-aquitaine/gironde-33/bordeaux-33000/26LCHCAUU124",
"title": "Appartement à vendre",
"headline": "Appartement T3 de standing avec terrasse en vente à Bordeaux Cau",
"description": "Abriculteurs a le plaisir de vous présenter cet appartement T3 à la vente situé à Bordeaux Caudéran (33200), à deux pas de la place Mondésir. Au 3e étage avec ascenseur d'une résidence de standing construite en 2015, cet appartement entièrement rénové de 75 m² Carrez se compose d'une pièce de vie traversante d'environ 40 m² avec cuisine récente et cellier, ouvrant sur une terrasse privative de 11 m² exposée sud-est et sans vis à vis.. Une salle d'eau avec WC est accessible depuis le séjour. La ...",
"transactionType": "buy",
"propertyType": "apartment",
"propertyTypeLabel": "Appartement",
"propertySubType": null,
"keyFacts": ["3 pièces", "2 chambres", "75 m²", "Étage 3/5"],
"rooms": 3,
"bedrooms": 2,
"livingArea": 75,
"plotArea": null,
"floor": 3,
"totalFloors": 5,
"energyClass": "C",
"yearBuilt": 2015,
"isNewBuild": false,
"newBuildProgram": null,
"newBuildUrl": null,
"isExclusive": true,
"has3DVisit": true,
"hasBrokerageFee": false,
"price": 369000,
"currency": "EUR",
"priceFormatted": "369 000 €",
"pricePerM2": 4920,
"priceNote": null,
"publisherType": "agency",
"isPrivateOwner": false,
"agencyName": "Abriculteurs",
"agencyId": "RC-1940198",
"contactName": "Laurent C.",
"phone": "06XXXXXXXX",
"phoneNumbers": ["06XXXXXXXX"],
"agencyAddress": "28 Rue du Chai des Farines, 33000 Bordeaux",
"agencySiret": "84398480800025",
"agencyRcs": "843984808",
"agencyProfileUrl": "https://www.seloger.com/professionnels-immobilier/KF8UsPz2JzpJDqr5xR8m5b",
"agencyWebsiteUrl": "https://abriculteurs.com/",
"agencyFeeUrl": "https://abriculteurs.com/notre-service-nos-honoraires/",
"agencyLogoUrl": "https://cdnihddipa.cloudimg.io/6/0/1/c/601c4744-0c09-41a7-8b51-5241d106d6f5.jpg?ci_seal=8d50d00b2eba43f3b8d0c254f7264ba4f88db7bc",
"city": "Bordeaux",
"postalCode": "33200",
"district": "Caudéran",
"department": "Gironde",
"region": "Nouvelle-Aquitaine",
"country": "France",
"isAddressPublished": true,
"createdAt": "2026-10-30T09:59:00Z",
"updatedAt": "2026-10-30T14:46:05Z",
"imageUrl": "https://cdnihddipa.cloudimg.io/9/7/0/6/9706c51a-4257-426a-92bb-838bdd0e488b.jpg?ci_seal=d0eadf45628828a8404bce9732b6972b345a1844",
"imageUrls": [
"https://cdnihddipa.cloudimg.io/9/7/0/6/9706c51a-4257-426a-92bb-838bdd0e488b.jpg?ci_seal=d0eadf45628828a8404bce9732b6972b345a1844",
"https://cdnihddipa.cloudimg.io/6/1/9/c/619c940f-1fa7-4c61-9431-9e62c42e421d.jpg?ci_seal=ae63a62d49476647ad31e337c13119c94b020e28",
"https://cdnihddipa.cloudimg.io/8/7/8/8/87881bae-d3f5-4747-86b1-3f80f2e5cd75.jpg?ci_seal=4c0f85723878873dcc77bd3e3edd45f323a82d02",
"https://cdnihddipa.cloudimg.io/a/0/9/5/a095f2c3-bd35-488c-a71d-136d44861f77.jpg?ci_seal=0a0dd6b31fec50d26689804092d869c9c163d6d5",
"https://cdnihddipa.cloudimg.io/8/1/a/4/81a4701a-f078-4d68-8a48-d0e68c72e8b4.jpg?ci_seal=38568f153fbac858c40bc40555dff56b5636e1cc",
"https://cdnihddipa.cloudimg.io/7/1/0/d/710d9102-7189-43c3-bbeb-e919c11616ab.jpg?ci_seal=65e2fdc8f2fe9287d4cbeb6fe4d0ac73de0feab5",
"https://cdnihddipa.cloudimg.io/3/5/4/e/354ea7fa-d7b5-424b-8f85-4f07c0791b3a.jpg?ci_seal=2a2e7fa8d239d7979622784ad58422c78931e4e1",
"https://cdnihddipa.cloudimg.io/9/2/5/d/925da941-52fb-436f-9335-8772bfe469a5.jpg?ci_seal=6f40dcac1022bd18530e1f8aa338566d58fb8a1f",
"https://cdnihddipa.cloudimg.io/7/3/0/9/730939fb-b906-4218-8f7d-17ec3ee924b5.jpg?ci_seal=5549f38e8dbe449abe6d406b73aa097a87c4c051",
"https://cdnihddipa.cloudimg.io/d/1/2/5/d1252856-9cd4-43dd-a46c-79917db750e2.jpg?ci_seal=e08b0f2aede0a766bd567001b0b834df748996e8",
"https://cdnihddipa.cloudimg.io/1/3/2/b/132b379d-80e8-4c03-99c0-5c93cdebd8a6.jpg?ci_seal=78d27ced1b8f970f0546dc0c69db42b8c450b99d",
"https://cdnihddipa.cloudimg.io/9/4/d/a/94da3e9e-95a1-4ab4-9ff1-3184ba8e2101.jpg?ci_seal=bdef74f709b3560f55cd660c099da71820cf8480",
"https://cdnihddipa.cloudimg.io/d/5/1/8/d518767b-faa9-44a0-b390-7f392b00c851.jpg?ci_seal=8749ac7f71b70a3e55a081ac3726d9675710a03a"
],
"photosCount": 13,
"floorplanUrls": [
"https://cdnihddipa.cloudimg.io/8/f/4/2/8f42b5c5-fa23-413b-a47c-190794d7bade.jpg?ci_seal=0e4b6e3a60ab90bff4f1ed4ba1c4dd13215f5a28"
],
"searchUrl": "https://www.seloger.com/classified-search?distributionTypes=Buy&estateTypes=House,Apartment&locations=AD08FR13100",
"scrapedAt": "2026-11-05T10:25:58Z"
}

Advanced usage

Run a daily new-listing watch

Set the sort to newest and schedule the actor every morning in Apify Schedules. Each run returns the freshest listings first and shares the cap between the places, 100 per town here, which covers a day of new listings in most towns. Compare id with yesterday's dataset to keep only the new ones.

{
"locationQueries": ["Bordeaux", "Mérignac", "Pessac"],
"transactionType": "buy",
"propertyTypes": ["apartment", "house"],
"sort": "newest",
"maxItems": 300
}

List private sellers only

SeLoger's search has a "particulier" (private owner) filter. Set it on the site, copy the link and paste it: the filter travels with the link. Rows from private owners have isPrivateOwner: true, publisherType: "private", the owner's first name in contactName and the phone in phone when the owner shows one.

{
"startUrls": [
{ "url": "https://www.seloger.com/classified-search?classifiedBusiness=Private&distributionTypes=Buy,Buy_Auction&estateTypes=House,Apartment&locations=AD08FR1977&priceMax=300000&priceMin=100000&order=DateDesc" }
],
"maxItems": 100
}

Re-read a watchlist of listings to track price changes

Keep the ids of the listings you follow and run them on a schedule. Each run reads their current price, updatedAt date and photos. Old listing numbers and current ids can be mixed; an id that left SeLoger is counted in the log and skipped.

{
"listingIds": ["26LCHCAUU124", "26NNQSDSJGDE", "284163609", "https://www.seloger.com/annonce/achat/provence-alpes-cote-d-azur/alpes-maritimes-06/cagnes-sur-mer-06800/263BTMLS6ZMA"],
"maxItems": 50
}

284163609 is the old number of 26LCHCAUU124: the run recognises it and saves that listing once.

Compare the price per m² of three cities in one run

{
"locationQueries": ["Lyon", "Nantes", "Toulouse"],
"transactionType": "buy",
"propertyTypes": ["apartment"],
"sort": "price_per_m2_asc",
"maxItems": 1500
}

maxItems is shared evenly between the three cities, 500 each here. Group the dataset by city and average pricePerM2, or split by energyClass to see how much an A or B rating is worth in each market.

Map the offices and shops for rent in a city

{
"locationQueries": ["Paris"],
"transactionType": "rent",
"propertyTypes": ["office", "commercial"],
"sort": "area_desc",
"maxItems": 200
}

Commercial listings carry the same fields as homes: surface, monthly rent, agency, phone and SIRET, useful to list the agencies that handle business premises in a city. Export the contacts view of the dataset for a ready-made table of agencies with their phone and company number.

FAQ

What is SeLoger? SeLoger is one of France's largest property listing sites. Agencies, developers and private owners publish homes for sale and for rent there, from studios in Paris to houses, plots of land, parking spaces, offices and shops across the country.

What does one row contain? One listing: what the property is (type, rooms, bedrooms, surface, floor, energy class, year built), its price and price per m², where it is (city, postal code, district, department, region), who publishes it (agency or private owner, contact name, phone, SIRET and RCS numbers, website), its publication dates, and its photo and floor plan links.

Do I need a SeLoger account? No. The actor reads the listings SeLoger shows to any visitor. No login, no account, no API key.

How fresh is the data? Live. Every run reads SeLoger at the time it runs, and each row carries scrapedAt. Listings appear and disappear every day, so schedule the actor if you follow a market.

How many listings can one run return? As many as you set in maxItems. A search link or a place is read page after page until maxItems is reached or the search has no more listings. On November 5, 2026, the Bordeaux search of the prefilled input matched 7,409 homes for sale and the Lyon apartments search matched 6,863.

Is the description complete? The description field is the summary SeLoger shows with the listing in its results, about the first 500 characters of the agency's text, ending with "..." when the text is longer. The headline, keyFacts, surface, rooms, floor and energy class are complete.

Are private sellers included? Yes. Private listings are in the results like agency listings. They have isPrivateOwner: true, publisherType: "private", no agencyName, the owner's first name in contactName and the phone number when the owner chose to show it. Use a search link with SeLoger's "particulier" filter to get only them.

Do the filters combine? Yes, and with every place of the list. For example "locationQueries": ["Paris 11e"], "transactionType": "rent", "propertyTypes": ["apartment"], "priceMax": 1500, "sort": "newest" returns the apartments for rent at up to 1,500 € a month in the 11th arrondissement, newest first. A pasted search link keeps its own filters instead.

Can I mix links, places and ids in one run? Yes. Put them all in the same input. Listing ids and listing links are read first, then maxItems is shared evenly between the search links and places, so three cities with maxItems 30 give about 10 listings each; a search that runs out leaves its share to the next. A listing found twice is saved once.

Which links stay valid? id never changes for a listing and url is its permanent page. A lot in a new-build programme gets its own https://www.seloger.com/annonce/<id> link, which opens the programme page, and newBuildUrl links to the programme itself. Photo and floor plan links point to SeLoger's image server and stay valid while the listing is online.

Are GPS coordinates included? No. Rows carry the city, postal code, district, department and region as SeLoger shows them in its results, and isAddressPublished tells whether the seller made the street address public. Many sellers hide the exact address.

Why did a run return fewer listings than the search shows? Three reasons: maxItems was reached, the same listing appeared under two of your inputs and was saved once, or a listing was taken down between the search and the read. The log counts duplicates and listings no longer on SeLoger.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available listing data from seloger.com. It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with SeLoger's terms of service and with the data protection laws that apply to them (GDPR, CCPA, and PIPL where relevant). Rows contain personal data as SeLoger publishes it: the name and phone number of the agent in charge, and the first name and phone number of private owners. Under the GDPR, use them only with a lawful basis (for example a legitimate professional interest), inform the people you contact, and honour opt-outs; do not use private owners' numbers for unsolicited marketing where French rules forbid it. The data returned is informational; verify it before any regulated use.

Built by SilentFlow for agencies, investors and proptech teams that follow the French property market, one row per SeLoger listing.