SeLoger Scraper - France Property Listings & Agencies avatar

SeLoger Scraper - France Property Listings & Agencies

Pricing

from $2.20 / 1,000 listings

Go to Apify Store
SeLoger Scraper - France Property Listings & Agencies

SeLoger Scraper - France Property Listings & Agencies

Extract French SeLoger sale and rental listings, property details, and agency profiles by location or URL. Get prices, rooms, surface area, DPE grades, photos, and available contacts. Pay per delivered row plus a start fee.

Pricing

from $2.20 / 1,000 listings

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

0

Monthly active users

6 hours ago

Last modified

Security

Limited permissions

Share

SeLoger Scraper

Extract French property listings and agency profiles from SeLoger into rows you can export or read through the API.

  • Sale and rental listings by location or search URL.
  • Prices, rooms, surface area, DPE grades, photos, and available agency contacts.
  • Listing detail pages and agency profile URLs as direct inputs.
  • JSON, CSV, Excel, and other dataset exports.
  • On the Free plan, $3.00 per 1,000 rows plus a small start fee.

What does SeLoger Scraper do?

SeLoger Scraper collects public property data from SeLoger.com in France. Each dataset row represents one listing or one agency profile, not an entire search page. Use the rows for price comparisons, property research, agency directories, or scheduled snapshots.

  • Location search: fill location, then choose channel and propertyType.
  • Search URL: put a SeLoger search page in startUrls to use that search.
  • Listing URL: put a property page in startUrls to extract that listing.
  • Agency URL: put a professional profile in startUrls to extract one agency row.
  • Detail enrichment: scrapeDetails is on by default. It adds available detail fields to the same listing row, rather than creating a separately billed detail row.

What data can you extract from SeLoger?

Property listing rows

sourceLayer is srp for search results, ldp for direct detail pages, or srp+ldp for an enriched search row. Field availability depends on the page. Examples below illustrate the format, not a verified current property.

FieldDescriptionExample
idListing identifierEXAMPLE-LISTING
urlProperty pagehttps://www.seloger.com/annonces/achat/appartement/paris-10eme/275134013.htm
sourceLayerSource page typesrp+ldp
sourceSearchUrlSearch page that supplied the listingA SeLoger search URL
titleListing titleAppartement à vendre
channelSale or rentalBUY
searchPropertyTypeCategory requested in the searchappartement
propertyTypeCategory supplied by the listingappartement
priceAmountNumeric advertised price299000
priceFormattedPrice as displayed299 000 €
pricePerSqmPrice per square metre, when present9645
roomsRoom count2
bedroomsBedroom count1
surfaceSurface area in square metres31
energyClassDPE energy gradeD
cityCity or arrondissementParis
zipCodePostal code75010
descriptionAvailable listing descriptionExample property description
featuresAvailable property featuresAn object, or null
coOwnershipCo-ownership informationAn object, or null
depositRental deposit from the detail page1200
providerAgency summary{"name":"Example Agency"}
phonesAvailable phone numbers and types[{"value":"+1 555 0100","type":null}]
emailsEmpty on listing rows[]
orgAgency name and identifier{"name":"Example Agency","id":"EXAMPLE"}
geoCoordinates, when available{"lat":48.85,"lng":2.35}
imagesAvailable image URLsAn array of URLs
imageCountNumber of image URLs4
detailErrorReason detail enrichment failed, if applicablemissing_classified
scrapedAtCollection timestamp2026-10-24T08:00:00+00:00

Agency profile rows

Agency rows have sourceLayer: "agency". They describe the agency, not its entire property inventory, and do not contain property prices or room counts.

FieldDescriptionExample
idAgency profile identifierEXAMPLE-AGENCY
urlProfessional profile URLhttps://www.seloger.com/professionnels-immobilier/EXAMPLE-AGENCY
sourceLayerRow typeagency
titleAgency display nameExample Agency
phonesPublished agency telephone numbers[{"value":"+1 555 0100","type":null}]
emailsPublished agency email addresses[{"value":"name@example.com","type":"agency"}]
addressAgency address, when present{"locality":"Paris","postalCode":"75010"}
geoAgency coordinatesnull
orgCompany name and identifier{"name":"Example Agency","id":"EXAMPLE"}
webWebsite and social links{"website":"https://example.com","socials":[]}
leadAbsencesReasons contact fields are missingAn object
scrapedAtCollection timestamp2026-10-24T08:00:00+00:00

How to scrape SeLoger

  1. Open SeLoger Scraper in Apify Console.
  2. Fill location or startUrls. Clear the example URL before using a location alone.
  3. Set maxItems to 3 for your first run.
  4. Click Start and wait for completion.
  5. Open the dataset and download the rows, or retrieve them through the API.

An empty input uses the form's Nantes house-rental example and returns at most 3 rows. Normal start and row charges apply. A target field is enough to choose the appropriate collection path; there is no mode setting. When both targets are supplied, startUrls takes priority over location.

Use a French place such as nantes, paris, or ile-de-france/paris-75000. The defaults are channel: "RENT" and propertyType: "maison". Set channel: "BUY" for sale listings.

Search URLs

Paste the search URL from SeLoger into startUrls. Prefer a complete /immobilier/... search URL. Its filters define the search; the location-based settings do not rebuild it. You can supply several URLs.

Listing URLs

Supply a property URL to retrieve that listing directly. The examples use URL forms accepted by the Actor; replace the example with a current listing before running it.

Agency profiles

Supply a /professionnels-immobilier/... profile URL. The Actor returns the agency's available public information as one row, billed at the same rate as a listing row.

What to fill in

FieldWhat to enterDefault
startUrlsSearch, listing, or agency URLs; strings or objects containing urlNo target default; form shows a Nantes example
locationFrench city or area when no URLs are suppliedNo target default; form shows nantes
channelBUY or RENT, for a location searchRENT
propertyTypeMain-site category, listed belowmaison
maxItemsMaximum rows per URL or fallback location; 1–50070; form example 3
maxPagesMaximum search pages; 1–501
scrapeDetailsAdd available detail fields to search rowstrue
onlySelogerSkip search cards linking outside SeLogertrue
requestDelayMillisDelay between page requests; 0–20000 milliseconds1500

Location search:

{
"location": "paris",
"channel": "BUY",
"propertyType": "appartement",
"maxItems": 3
}

Search URL:

{
"startUrls": [{"url": "https://www.seloger.com/immobilier/locations/immo-nantes-44/bien-maison/"}],
"maxItems": 3,
"scrapeDetails": false
}

Direct listing:

{
"startUrls": ["https://www.seloger.com/annonces/achat/appartement/paris-10eme/275134013.htm"],
"maxItems": 1
}

Agency profile:

{
"startUrls": ["https://www.seloger.com/professionnels-immobilier/UUMNJERk7p5E65SfR7HpLD"],
"maxItems": 1
}

Supported propertyType values are appartement, maison, terrain, immeuble, parking, local-commercial, bureaux, loft, boutique, batiment, chalet, ferme, chateau, hotel-particulier, and all. The last removes the category filter. English aliases include house, apartment, garage, commercial, and offices. An unknown category falls back to appartement, with a note in INPUT_ECHO.

  • maxResults, limit, and max_results are aliases for maxItems.
  • Close field-name misspellings can be corrected. Other unknown fields are ignored and recorded, rather than failing the run.
  • Invalid channel values are ignored in favour of the default; lowercase buy becomes BUY.
  • Invalid targets stop before row delivery with INVALID_INPUT: <field> — <how to fix>. No rows are charged; the start fee can still apply.
  • INPUT_REPORT in the default key-value store records how the input was understood. INPUT_ECHO shows the parsed settings.

Output example

Illustrative listing row; contact details are placeholders:

{
"id": "EXAMPLE-LISTING",
"url": "https://www.seloger.com/annonces/achat/appartement/paris-10eme/275134013.htm",
"source": "seloger",
"sourceLayer": "srp+ldp",
"channel": "BUY",
"searchPropertyType": "appartement",
"propertyType": "appartement",
"title": "Appartement à vendre",
"priceAmount": 299000,
"priceFormatted": "299 000 €",
"rooms": 2,
"surface": 31,
"energyClass": "D",
"city": "Paris",
"zipCode": "75010",
"phones": [{"value": "+1 555 0100", "type": null}],
"emails": [],
"scrapedAt": "2026-10-24T08:00:00+00:00"
}

Export the dataset as JSON, CSV, Excel, XML, RSS, or an HTML table. OUTPUT and RUN_SUMMARY contain counts and warnings. ERROR_SUMMARY records a failed run's reason when available.

Why use this SeLoger scraper?

  • Row-based billing: the result fee applies to delivered rows, plus the start fee.
  • Partial delivery: partial results returned to the Actor are saved. Rows already written remain available if the run stops; stopping before delivery can leave no rows.
  • Explicit missing values: unavailable fields stay empty rather than being invented.
  • Several inputs: collect separate searches or URLs in one run, with a limit for each input.
  • Less setup: you do not need to set up proxies.
  • Repeatable exports: schedule snapshots for your own comparisons; the Actor does not calculate historical price changes for you.

How much does it cost to scrape SeLoger?

The Actor uses pay-per-event pricing. The start event costs $0.005 per GB of allocated memory, with a minimum of one event. At the default 512 MB, one start costs $0.005. Platform usage is included in these prices.

Apify planStart at 512 MBPrice per rowPrice per 1,000 rows
Free$0.005$0.003$3.00
Starter$0.005$0.003$3.00
Scale$0.005$0.0026$2.60
Business$0.005$0.0022$2.20

maxItems applies to each input, with a default of 70 and a maximum of 500. Larger requests can be collected in parts. maxPages and available listings can reduce the number returned. The whole run is also bounded by Maximum cost per run (maxTotalChargeUsd in the API), not just the per-input row limit.

The Free Apify plan is limited to 200 rows per run and 10 runs of this Actor. These are developer-set limits. Paid plans remove the 10-run restriction, not the input limits.

Example: three search URLs returning 3 rows each deliver 9 rows. On the Free plan, one start at 512 MB costs $0.005 and 9 rows cost $0.027: $0.032 total. Fewer delivered rows mean a smaller row charge.

What happens when the run timeout is too short

A short timeout can cause a temporary pause rather than a failed search. The run can show ABORTED with this status message: "Queued on the collection backend; this run will resume automatically when results are ready (about Ns)." Here, N is the estimated wait in seconds.

When results are ready, the same run resumes, writes to the same dataset, and can finish as SUCCEEDED. A resumed-delivery message may read "Resumed: delivering N rows." Rows already present are skipped, so they are not delivered or charged again. You do not need to launch a replacement run for this pause.

  • The pause policy permits at most 3 pauses per run. Keep the default timeout of 3600 seconds to reduce the chance of a pause.
  • Synchronous endpoints (run-sync, run-sync-get-dataset-items) wait at most 300 seconds and can return an empty dataset while the run is paused.
  • For longer searches, start asynchronously and read the dataset after SUCCEEDED, or use a succeeded-event webhook. An unrelated failure or manual abort does not carry this automatic-resume promise.

Use with AI agents and the API

Apify MCP server

Use this remote MCP URL with Claude, ChatGPT, Cursor, VS Code, or another compatible client:

https://mcp.apify.com?tools=lentic_clockss/seloger-property-scraper

Sign in with Apify through OAuth when prompted, or use Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns its run and dataset IDs; the agent reads rows with get-dataset-items.

Clients without remote support can use npx @apify/actors-mcp-server --tools lentic_clockss/seloger-property-scraper with APIFY_TOKEN set.

Example prompt: "Find up to 3 houses for rent in Nantes using SeLoger. Return price, surface area, DPE grade, and listing URL."

Apify API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/seloger-property-scraper").call(
run_input={"location": "nantes", "maxItems": 3}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/seloger-property-scraper')
.call({ location: 'nantes', maxItems: 3 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

For asynchronous HTTP access, send the input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~seloger-property-scraper/runs with the same authorization header. Read the completed dataset through GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Actor's Integrations tab for Google Sheets, Make, Zapier, n8n, Slack, Airtable, or webhooks. Use Apify Schedules for recurring runs.

En français

Cet Actor extrait les annonces de vente et de location sur SeLoger, ainsi que les profils d'agences. Renseignez location avec une ville française, ou collez vos liens dans startUrls. Pour une recherche par ville, choisissez BUY ou RENT dans channel, puis le type de bien dans propertyType. Réglez maxItems pour limiter les lignes par recherche ou par URL. Les résultats peuvent contenir le prix, la surface, le DPE et les coordonnées publiées. Les informations absentes restent vides. Chaque ligne livrée est facturée, avec des frais de démarrage distincts. Commencez par trois lignes, puis exportez le jeu de données en CSV, Excel ou JSON.

FAQ

Use public data only. You are responsible for checking SeLoger's terms and applicable data-protection law. Publicly visible personal data still needs a lawful basis for collection and use; public access is not permission for every use.

Why did my run end as ABORTED?

Check the status message. The automatic-resume message above indicates a temporary pause. Other aborts may be manual or have a different cause; do not assume every aborted run will resume.

How many results can I get?

Request 1–500 rows per URL or location with maxItems. The page limit, available inventory, Free-plan cap, and maximum run cost can reduce delivery. The default one-page limit may return fewer than 70 rows.

Why are some fields empty?

Listings do not all publish the same information. DPE, bedrooms, coordinates, and contacts may be absent. If detail enrichment fails, a search row can still be returned with detailError.

Can I collect both sale and rental listings?

Yes. Use separate location runs with BUY and RENT, or provide both types of search URLs in startUrls.

Can I get email addresses?

Listing rows leave emails empty. Agency profiles can provide published email addresses, but availability is not guaranteed. The Actor does not submit contact forms.

What happens after 10 Free-plan runs?

The Actor reports its Free-plan run limit and stops collecting. A paid Apify plan removes this developer-set run restriction.

Are sister-brand URLs supported?

The input accepts bellesdemeures.com, selogerneuf.com, seloger-bureaux-commerces.com, and seloger-construire.com URLs when onlySeloger is false. Acceptance does not guarantee complete extraction from those sites; prefer main-site SeLoger URLs.

Limitations

  • Coverage is French SeLoger data, not a worldwide property search.
  • maxItems is a ceiling, not a promise of that many available rows.
  • Search results and details can change or disappear between requests.
  • Agency rows describe a profile, not every property that agency advertises.
  • Listing email addresses and individual staff profiles are not supplied.
  • Sister-brand extraction and contact-field completeness are not guaranteed.
  • Historical changes require your own stored snapshots and comparisons.

More real estate and property data scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Report a problem or request a field through the Issues tab of this Actor's page. Include the run ID and the input you used.