SeLoger Scraper icon

SeLoger Scraper

Scrape SeLoger.com properties for sale and rent. Search by location with price, room and property type filters. Extract prices, areas, rooms, energy…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

SeLoger Scraper at a glance

SeLoger Scraper is a ready-to-run Apify actor from abotapi for collecting real estate data. Its documented output includes id, title, price, price_numeric and rooms, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.20 per 1,000 results on the Apify Free plan and from $1.40 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Real Estate, Developer Tools, Automation
Region
Europe
Pricing
$2.20 per 1,000 results (Free plan), from $1.40 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
23 options

Scrape SeLoger.com properties for sale and rent. Search by location with price, room and property type filters. Extract prices, areas, rooms, energy ratings, coordinates, images, descriptions, transport links and agent details.

What SeLoger Scraper can do

  • Two ways to search. Build a location plus filter search, or paste any seloger.com search URL you already refined in a browser. No need to construct query strings by hand.
  • Full France coverage. Search a commune, department, region or neighborhood by name, postcode, or SeLoger location code; names are auto resolved through the site's own location lookup.
  • Buy and rent, house and apartment. Filter by transaction type, property type, price range, rooms, bedrooms and minimum living area.
  • Rich structured records. Price, price per m2, rooms, bedrooms, area, energy class, transport lines, agent name and phone, images and floorplans, all delivered on every run.
  • Optional detail depth. Turn on Get Full Details to add full length descriptions, features, year built, energy source, heating type, GES class, and building level coordinates.
  • Built for schedules. Incremental mode returns only new, updated, reappeared or expired listings on repeat runs, and a blocked run fails loudly instead of quietly returning an incomplete dataset.

Choose what to collect

These inputs let you configure SeLoger Scraper - Property Listings, Prices & Agents. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredSearch mode = build URLs from locations + filters below. URL mode = paste any seloger.com search URL already refined in a browser (recommended for complex filters).

Choices: search, url

locationsarrayCity names, postcodes, neighborhoods, or SeLoger location codes. Examples: 'Paris', 'Toulouse', '75016', 'Paix Jartom, Tomblaine'. Names are auto-resolved. Each location is searched separately with maxPages per location.
distributionTypestringType of transaction.

Choices: Buy, Rent

privateSellerOnlybooleanOnly listings posted by private owners (no agency). Search mode only; in URL mode use the site's own filter (classifiedBusiness=Private) in the pasted URL.
estateTypesarrayTypes of properties to search.
priceMinintegerMinimum price in euros.
priceMaxintegerMaximum price in euros.
Show 16 more inputs
More input fields
InputWhat it controls
roomsMinintegerMinimum number of rooms.
bedroomsMinintegerMinimum number of bedrooms.
spaceMinintegerMinimum living space in square meters.
sortBystringSort order for search results.

Choices: Default, DateDesc, PriceAsc, PriceDesc

urlsarraySeLoger search URLs. Use the live /classified-search or /classified-map grammar. Open seloger.com, apply filters, copy the address bar URL. Left untouched, this field scrapes one example search. The homepage and single-listing pages are not search URLs and are skipped with a warning. The legacy /list.htm URLs are no longer served and will return 404. URL mode ignores the Search-mode filters above.
maxItemsintegerMaximum total listings across all locations. 0 means no cap (an internal safety ceiling of 100000 listings still applies).
maxPagesintegerMaximum search result pages per location (~35 listings/page). 0 means the built-in cap of 20 pages per location; values above 1000 are clamped to 1000.
getDetailsbooleanFetch full property details from detail pages. When OFF (default), only SERP fields are returned (fastest, cheapest). When ON, each listing's detail page is fetched: classic listings gain description, features, year built, energy class, and point-precision coordinates; selogerneuf listings additionally gain street_address.
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue a large crawl of listings without returning or charging for listings already collected there. Use this after an interrupted run, or when continuing a search pull in another run. For recurring daily monitoring of the same search, use Incremental mode below instead.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the locations/URLs and filters used, different search setups then never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max items or Max pages capped it, or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayOptional. Field names that must never make a listing UPDATED or appear in changedFields (they stay in the output). Use a top-level name such as updated_at, or a dotted path for a nested field such as agency.phone; a path applies to every element of a list. Changing this list does not trigger a one-time wave of UPDATED rows.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

idid
titleTitle
pricePrice
price_numericprice_numeric
roomsRooms
bedroomsBeds
area_m2m2
cityCity
zipcodeZip
energy_classEPC
property_typeType
urlurl
Show 25 more fields
latitudeLat
longitudeLng
plot_area_m2plot_area_m2
price_per_m2EUR/m2
ges_classges_class
publisher_typepublisher_type
agent_nameAgent
agent_phonePhone
transporttransport
headlineheadline
descriptiondescription
districtdistrict
regionregion
building_statebuilding_state
key_factskey_facts
agency_legal_infoagency_legal_info
agency_websiteagency_website
agency_fee_urlagency_fee_url
agency_imprint_urlagency_imprint_url
agency_ratingagency_rating
agency_review_countagency_review_count
changeTypeChange
changedFieldsChanged fields
firstSeenAtFirst seen
lastSeenAtLast seen

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "26HYJAJHL23Q",
  "legacy_id": "123456789",
  "title": "Maison a vendre",
  "headline": "Belle maison avec jardin",
  "description": "Maison de 5 pieces avec jardin et garage, proche des commodites.",
  "price": "450 000 EUR",
  "price_numeric": 450000,
  "price_per_m2": "3 214 EUR/m2",
  "currency": "EUR",
  "distribution_type": "BUY",
  "property_type": "HOUSE",
  "property_type_label": "Maison",
  "rooms": 5,
  "bedrooms": 3,
  "area_m2": 140,
  "plot_area_m2": 500,
  "city": "Toulouse",
  "zipcode": "31000",
  "country": "FRA",
  "latitude": 43.6045,
  "longitude": 1.436,
  "coord_precision": "point",
  "transport": [
    "METRO:A",
    "BUS:14"
  ],
  "region": "Occitanie",
  "key_facts": [
    "5 pieces",
    "3 chambres",
    "140 m2"
  ],
  "energy_class": "C",
  "ges_class": "B",
  "energy_source": "Electrique",
  "heating_type": "Chauffage individuel",
  "year_built": 1998,
  "features": [
    "Garage",
    "Jardin",
    "Cave"
  ],
  "agent_name": "Agence du Capitole",
  "agent_phone": "01 23 45 67 89",
  "agent_address": "12 Rue Example, 31000 Toulouse",
  "is_exclusive": true,
  "has_3d_visit": true,
  "publisher_type": "AGENCY",
  "has_agency_fee": true,
  "images": [
    "https://cdn-media.seloger.com/img/example1.jpg",
    "https://cdn-media.seloger.com/img/example2.jpg"
  ],
  "floorplans": [
    "https://cdn-media.seloger.com/img/floorplan1.jpg"
  ],
  "image_count": 18,
  "url": "https://www.seloger.com/annonce/26HYJAJHL23Q",
  "portal": "seloger",
  "created_at": "2026-08-01T10:00:00Z",
  "updated_at": "2026-09-15T08:30:00Z",
  "source": "seloger.com"
}

Ways to use this data

  • Real estate agencies and portals: mirror SeLoger listings into your own site or CRM with structured price, area and agent data.
  • Buyers and renters: track a search across several cities and get notified only about new or updated listings.
  • Market analysts: build historical datasets of price per square meter, energy ratings and room counts across French regions.
  • Proptech and data teams: feed coordinates, energy class and property features into valuation or scoring models.
  • Investors: monitor plot size and property type across a department to spot land or renovation opportunities.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does SeLoger Scraper return?

The documented output for SeLoger Scraper includes id, title, price, price_numeric, rooms, beds, m2 and city. Availability of each field depends on the source page and the selected mode.

How much does SeLoger Scraper cost?

It costs $2.20 per 1,000 results on the Apify Free plan and from $1.40 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed listings on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated, reappeared and, if you also turn on Emit expired, expired listings for the same search; unchanged listings are skipped and not billed unless you turn on Emit unchanged.

Why are some fields missing from my results?

Search mode and url mode use different input fields, and the ignored side is silently skipped rather than erroring, so double check which mode you picked. Separately, features, year_built, energy_source, heating_type, ges_class and building level coordinates only appear when Get Full Details is on, and the full length description also needs it; street_address is only ever present for new build (selogerneuf) listings, resale listings on seloger.com carry city and postcode but never a street address by the site's own design.

Why did my run fail instead of returning an empty dataset?

A run with a genuinely empty result, for example filters that match nothing, still succeeds with zero rows. The run only fails when it was blocked or stopped early for a reason other than your own Max items or Max pages cap, so a silent partial result is never reported as a plain success. Any listings already collected before the failure remain in that run's dataset. Retrying after a few minutes usually clears a temporary block.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with SeLoger Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.