SeLoger 🇫🇷 [$0.9💰] All-in-One — Search · Detail · Agencies avatar

SeLoger 🇫🇷 [$0.9💰] All-in-One — Search · Detail · Agencies

Pricing

from $0.90 / 1,000 results

Go to Apify Store
SeLoger 🇫🇷 [$0.9💰] All-in-One — Search · Detail · Agencies

SeLoger 🇫🇷 [$0.9💰] All-in-One — Search · Detail · Agencies

Scraper SeLoger : extraction immobilière par URL de recherche, d'annonce ou d'agence dans un seul actor. Récupérez prix, m², pièces, chambres, DPE, charges, honoraires, meublé, balcon, garage, photos, coordonnées GPS, plus téléphone et e-mail de l'agence. 99 champs, export JSON, CSV ou Excel.

Pricing

from $0.90 / 1,000 results

Rating

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

59

Total users

11

Monthly active users

11 hours ago

Last modified

Share

SeLoger.com All-in-One Scraper — Search, Properties & Agencies

How it works

How SeLoger Scraper works

All-in-one SeLoger.com scraper — 75+ data points per property row, pulled directly from SeLoger's React server-state blob (no DOM scraping). Paste any mix of the 4 URL kinds below and the actor auto-classifies each one:

InputRow(s) emitted
SEO listing URL/immobilier/{transaction}/immo-{city-dept}/ (e.g. /immobilier/achat/immo-paris-75/)N property rows — one per property card. Paginates via ?LISTING-LISTpg=N. Stops on empty page.
Filter search URL/classified-search?classifiedBusiness=…&distributionTypes=…&locations=…&priceMin=…&priceMax=… (the new SeLoger search shape with full filter support)N property rows, same fields as the SEO shape. Paginates via ?page=N. DataDome-bypassed via impit-chrome + Apify Residential FR.
Property detail URL/annonces/{type}/{slug}/{city-dept}[/{neighborhood}]/{id}.htm1 property row: price, fees, mortgage, m², rooms, bedrooms, floor, address, neighborhood, postal code, DPE/GES energy ratings, construction year, lat/lng, agency name + profile URL, features, image URLs.
Agency profile URL/professionnels-immobilier/{opaque-id}1 agency row + N property rows for every property the agency has listed.

Pagination is handled automatically — the actor detects the URL kind and bumps LISTING-LISTpg or page accordingly. The older /list.htm?projects=… query-style URL is WAF-blocked at the edge and rejected up-front by the URL classifier — use /classified-search?... instead (it's the modern replacement and works). JSON + CSV out.

Pure HTTP. No Puppeteer, no Playwright, no headless Chromium, no third-party Cloudflare-bypass service.

Why 75+ fields per row?

Every SeLoger detail page server-renders a window["__UFRN_LIFECYCLE_SERVERREQUEST__"] JSON blob — 66 KB of structured property + agency data that the React frontend hydrates from. The actor parses that JSON directly, not the rendered DOM, which is why each row carries far more than HTML scrapers can pull:

  • Property core — propertyId, externalRef, title, propertyType, transactionType, rooms, bedrooms, livingArea (m²), plotSurface (m²), floor, neighborhood/district, city, postalCode, country, region
  • Pricing — price (€), priceFormatted, pricePerM2, notaryFees, totalProjectCost, monthlyMortgage
  • Energy — dpeRating (A–G), gesRating, dpeIndex (0–6), primaryEnergyKwh, finalEnergyKwh, co2EmissionsKgPerM2, annualEnergyCost (€ band), energyDiagnosticDate, energySources, constructionYear, buildingState
  • Geo — latitude, longitude, isAddressPublished, geoIdHierarchy (7-level SeLoger location IDs)
  • Transport — metro, bus, tramway, RER lines (with line numbers and brand colors) within walking distance
  • Co-ownership — coOwnershipLots, coOwnershipChargesPerYear, coOwnershipProceedings
  • MediaimageUrls (full carousel, up to 30 images) + images[].classification (AI-tagged: BEDROOM / KITCHEN / LIVING_ROOM / BATHROOM / BALCONY / …), floorplanImageUrls, photosCount
  • Tags — isExclusive, has3DVisit, hasBrokerageFee, isNew
  • Agency — agencyName, agencyType (Agence / Mandataire / Network), agencyProfileUrl, agencyWebsiteUrl, agencyFeeUrl, agencyImprintUrl, agencyLogoUrl, agencyAddress (street), agencyRcs, agencySiret, clientType (pro/particulier), clientId, publisherType, isPrivateOwner, phoneNumbers
  • Agency enrichment (when enrichAgency: true) — agencyDescription (full bio), agencyServices, agencyOpeningHours (structured per day), agencyTeamMembers (with names + roles), agencyEmailAddresses, intermediaryType, network, spokenLanguages, memberships, social links
  • Timestamps — createdAt, updatedAt (ISO)

Pipeline

SeLoger is geo-fenced to France and uses TLS fingerprinting at the edge — non-FR residential IPs are blocked outright, and impit-firefox fingerprints through a proxy are rejected. The actor handles this with a hardened 3-stack approach:

  1. Apify Residential FR, mandatory. The default proxy is RESIDENTIAL + apifyProxyCountry: "FR" — UK / DE / US residential combos all return 403 in our recon. Override at your own risk.
  2. impit Chrome fingerprint. All requests use the impit Chrome TLS profile (the firefox profile is blocked on this site). Real Chrome 144 ClientHello — no header spoofing.
  3. Sliding-window parallelism. Up to 10 property pages crawl in parallel via a global concurrency window. Listing pages are streamed: as soon as a listing page returns, its 25 detail URLs fan out into the window while page N+1 fetches in parallel.
  4. Per-agency cache. Each unique agency profile (/professionnels-immobilier/{id}) is fetched once, with all properties from that agency awaiting the same promise — a 50-property batch from one agency costs one extra fetch, not 50.
  5. 3-stack fallback race. If the first 3 impit attempts fail (CF challenge / 5xx / timeout), the request escalates to a parallel race across three independent HTTP stacks: impit (Rust + rustls) + gotScraping (Node http/2 + header generator) + impers (libcurl FFI with curl-impersonate Chrome 131 TLS). First success wins.

Every property page is parsed via a mix of:

  • JSON-LD for the minimal RealEstateListing block (title + description) on detail pages, and the page-level AggregateOffer on listing pages (total count, price band, currency).
  • data-testid anchors for the rich React-rendered data: cdp-hardfacts-keyfacts, cdp-location-address, cdp-energy, cdp-price, cdp-co-ownership, cdp-classified-keys, plus the aviv.CDP.Contacting.ProviderSection.* family for agency contact.
  • Inline Mapbox static-map URL for lat/lng (handles both Point and MultiPolygon GeoJSON shapes).

No DOM execution, no DOMContentLoaded wait, no headless browser.


Input

FieldTypeRequiredNotes
startUrlsstring[]yesAny mix of listing / detail / agency URLs. Auto-classified. The /list.htm?… query-style URL is rejected.
enrichAgencybooleannoWhen true (default), each unique agency profile is fetched once and merged into every property row from that agency. Adds agencyAddress, agencyDescription, agencyServices, agencyOpeningHours, agencyTeamMembers, agencyLogoUrl.
maxItemsintegernoHard cap on property rows. Agency-only rows do not count. Default 1000. Free-tier users are capped at 100.
maxConcurrencyintegernoMax parallel property fetches. Default 10.
minConcurrencyintegernoDefault 1.
maxRequestRetriesintegernoPer-URL retry budget. The 3-stack race kicks in after the first 3 impit-only attempts. Default 5.
useInternalHandlerbooleannotrue (default) → impit-only internal pipeline. false → CheerioCrawler with ImpitHttpClient.
proxyobjectnoApify Residential FR is the default and recommended setting. Non-FR proxies fail.

Example input

{
"startUrls": [
"https://www.seloger.com/immobilier/achat/immo-paris-75/",
"https://www.seloger.com/annonces/achat/appartement/paris-75/269476619.htm",
"https://www.seloger.com/professionnels-immobilier/FEW3VPchH8roDn265N8Hnj"
],
"enrichAgency": true,
"maxItems": 50,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "FR"
}
}

That yields up to 50 property rows from the Paris listing (with the direct detail and agency URLs interleaved). One row per property, each enriched with the agency profile when enrichAgency is on.


Output schema

Two row shapes, distinguishable by the presence of kind: "agency":

Property row (one per property URL)

{
"propertyId": "274896393",
"externalRef": "264MU5Q7CYFN",
"title": "Appartement à vendre",
"propertyType": "Appartement",
"transactionType": "achat",
"rooms": 2,
"bedrooms": 1,
"livingArea": 66,
"floor": "4/4",
"address": "Saint Thomas d'Aquin, Paris 7ème arrondissement (75007)",
"neighborhood": "Saint Thomas d'Aquin",
"city": "Paris 7ème arrondissement",
"postalCode": "75007",
"description": "Rue de Varenne, mitoyen de l'hôtel de Matignon, un atelier d'artiste au dernier étage d'un immeuble de style Directoi...",
"features": [
"Dernier étage, 4ème étage/4 étages",
"Cuisine équipée, Cuisine ouverte"
],
"constructionYear": null,
"energySources": "Gaz",
"dpeRating": "D",
"gesRating": "D",
"price": 1695000,
"notaryFees": 135600,
"totalProjectCost": 1830600,
"monthlyMortgage": 8612,
"coOwnershipLots": null,
"coOwnershipChargesPerYear": 2932,
"coOwnershipProceedings": "Pas de procédure en cours",
"latitude": null,
"longitude": [
[
[
2.32416,
48.85024
],
[
2.32401,
48.85017
]
]
],
"agencyName": "P B",
"agencyType": "Proposé par une agence immobilière",
"agencyProfileUrl": "https://www.seloger.com/professionnels-immobilier/LuiAdTBkt3sQQYyUoxjzaK",
"agencyWebsiteUrl": "http://www.patrice-besse.com/",
"agencyFeeUrl": "https://www.patrice-besse.com/mentions-legales/",
"imageUrls": [
"https://mms.seloger.com/e/d/1/1/ed11e149-7590-4004-9f8f-328a3a0142a5.jpg?ci_seal=e09dc47557dd82df4f9dfe9e82a989fab765...",
"https://mms.seloger.com/7/7/7/8/77784c42-ac4b-4235-b87c-abbe08e0e661.jpg?ci_seal=cd9a76d1c79252e8f8725ba501b0e340cb5b..."
],
"url": "https://www.seloger.com/annonces/achat/appartement/paris-7eme-75/saint-thomas-d-aquin/274896393.htm",
"jsonLd": {
"@context": "https://schema.org",
"@type": "RealEstateListing",
"datePosted": "2026-07-13T14:22:00.000Z",
"description": "Rue de Varenne, mitoyen de l'hôtel de Matignon, un atelier d'artiste au dernier étage d'un immeuble de style Directoi...",
"name": "Appartement à vendre T2/F2 66 m² 1695000 € Saint Thomas d'Aquin Paris (75007)",
"itemOffered": {
"@type": "APARTMENT",
"name": "Appartement à vendre T2/F2 66 m² 1695000 € Saint Thomas d'Aquin Paris (75007)",
"numberOfRooms": "2",
"floorSize": {
"@type": "QuantitativeValue",
"value": "66",
"unitCode": "MTK"
}
},
"offers": {
"@type": "Offer",
"price": "1695000",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
},
"headline": "Rue de Varenne, mitoyen de l'hôtel de Matignon, un atelier d'ar",
"pricePerM2": "25 682 €/m²",
"annualEnergyCost": null,
"energyDiagnosticDate": "Après le 1er juillet 2021",
"primaryEnergyKwh": "149 kWh/m².an",
"finalEnergyKwh": null,
"co2EmissionsKgPerM2": "31 kg CO₂/m².an",
"dpeIndex": 3,
"publisherType": "AGENCY",
"isPrivateOwner": false,
"phoneNumbers": [
"+33 1 42 84 80 85"
],
"agencyAddress": "7 rue Chomel, Paris 75007",
"agencyImprintUrl": null,
"agencyLegalInformations": [
"Sarl P.B. SAS au capital de 9 147 €",
"Carte professionnelle 7501 2017 000 016 72 délivrée par la Préfecture de Paris"
],
"agencyRcs": null,
"agencySiret": "34350396700048",
"createdAt": "2026-07-13T14:22:00Z",
"updatedAt": "2026-07-13T14:26:05.284Z",
"tags": {
"isExclusive": false,
"has3DVisit": false,
"hasBrokerageFee": false,
"isNew": false
},
"rawPropertyType": "APARTMENT",
"rawDistributionType": "BUY",
"rawDistributionSubType": "RESALE",
"geoIdHierarchy": [
{
"id": "AD09FR32",
"typeKey": "AD09"
},
{
"id": "AD08FR31096",
"typeKey": "AD08"
}
],
"region": "Ile-de-France",
"buildingState": null,
"priceFormatted": "1 695 000 €",
"plotSurface": null,
"photosCount": 12,
"clientType": "pro",
"clientId": "RC-031771",
"images": [
{
"url": "https://mms.seloger.com/e/d/1/1/ed11e149-7590-4004-9f8f-328a3a0142a5.jpg?ci_seal=e09dc47557dd82df4f9dfe9e82a989fab765...",
"key": "ed11e149-7590-4004-9f8f-328a3a0142a5",
"alt": "Appartement à vendre 1 695 000 € 2 pièces 1 chambre 66 m² Étage 4/4 Saint Thomas d'Aquin Paris 7ème arrondissement 75007",
"classification": "EXTERIOR_VIEW"
},
{
"url": "https://mms.seloger.com/7/7/7/8/77784c42-ac4b-4235-b87c-abbe08e0e661.jpg?ci_seal=cd9a76d1c79252e8f8725ba501b0e340cb5b...",
"key": "77784c42-ac4b-4235-b87c-abbe08e0e661",
"alt": null,
"classification": "LIVING_ROOM"
}
],
"floorplanImageUrls": [],
"transport": {
"metro": [
{
"name": "12",
"color": "#007a53"
},
{
"name": "13",
"color": "#71c5e8"
}
],
"bus": [
{
"name": "63",
"color": "#cec92a"
},
{
"name": "68",
"color": "#ffbe02"
}
]
},
"isAddressPublished": false,
"country": "FRA",
"agencyDescription": "Partout en France\r\nDepuis 1924, trois générations se sont succédé pour développer un réseau de vente national\r\nspécia...",
"agencyServices": [
"BUY SELL REAL ESTATE",
"ESTIMATION"
],
"agencyOpeningHours": [
"Lundi: 10:00–13:00 / 14:00–19:00",
"Mardi: 10:00–13:00 / 14:00–19:00"
],
"agencyTeamMembers": [],
"agencyLogoUrl": "https://mms.seloger.com/5/7/c/4/57c42c3a-c22b-41fe-9deb-bb38d6c075c1.jpg?ci_eqs=&ci_seal=52702b181ab560027a483437ef73...",
"scrapedAt": "2026-08-17T15:29:00.361Z"
}

Agency row (one per agency URL, emitted only when an agency URL is in startUrls)

{
"kind": "agency",
"agencyId": "FEW3VPchH8roDn265N8Hnj",
"name": "IMOSS",
"address": "…",
"description": "…",
"services": ["…"],
"openingHours": ["…"],
"teamMembers": ["…"],
"propertyUrls": ["https://www.seloger.com/annonces/…/269476619.htm", "…"],
"websiteUrl": null,
"profileUrl": "https://www.seloger.com/professionnels-immobilier/FEW3VPchH8roDn265N8Hnj",
"imageUrl": "https://mms.seloger.com/…",
"jsonLd": { "@type": "RealEstateAgent", "name": "IMOSS", "address": "…", "image": "…" },
"scrapedAt": "2026-05-20T05:38:00.000Z"
}

When you paste an agency URL into startUrls, the actor emits this row and then enqueues every property URL visible on the agency profile page as a detail fetch — so one agency URL becomes 1 agency row + N property rows.


✨ Why use this scraper?

Trying to track the French property market without paying for a real-estate-data SaaS? Building a comp tool for a Paris arrondissement? Need clean DPE / GES energy-rating data for sustainable-finance work?

  • 🇫🇷 France-native. Real fr-FR Accept-Language, Apify Residential FR proxy, French currency / surface units (€ + m²) preserved verbatim.
  • 🎯 Three URL kinds, one actor. Search URLs, individual property URLs, agency profile URLs — paste any mix and the actor classifies and routes each.
  • 📋 DPE / GES first-class. Energy diagnostic letters (A–G) and construction year are parsed from the cdp-energy block — most competitors skip this entirely.
  • 📍 Latitude / longitude on every row. Decoded from the inline Mapbox static-map URL — handles both Point and MultiPolygon GeoJSON shapes.
  • 🏢 Per-agency cache. Each unique agency profile is fetched once, even if 50 of your properties are from the same agency. Costs scale with unique agencies, not properties.
  • 🛡️ Geo-fence + WAF aware. Drops the /list.htm?… URL shape (WAF-blocked) and forces FR proxy by default. Recon-proven combos baked into the URL classifier.
  • 🔁 3-stack HTTP fallback. When impit alone hits a wall, the request escalates to a parallel race across impit + gotScraping + impers. No headless browser ever.
  • 📤 Clean exports. Dataset rows are stable JSON; CSV export is generated automatically.

🎯 Use cases

TeamWhat they build
Real-estate analystsPrice-per-m² dashboards by arrondissement, neighborhood, DPE rating
Investors / property fundsDaily new-listing feeds for buy-to-let or value-add acquisitions
PropTech startupsComparable-sales engines fed by a clean French listing dataset
Sustainable-finance teamsDPE / GES distributions across Paris / Lyon / Marseille — input to green-mortgage products
Mortgage brokersLead pipelines from new high-end listings (monthlyMortgage + notaryFees already computed)
Agencies (competitive intel)What's listed where, by which competitor, at what price
Journalists / researchersLongitudinal datasets on FR housing-market shifts

Notes & limitations

  • Geo-fence is real. SeLoger blocks non-FR IPs at the edge. The default proxy config (RESIDENTIAL + country: FR) is the only proven combo from our 3-stack recon. Datacenter and non-FR residential proxies fail.
  • imageUrls returns the SSR-rendered subset — typically 1–3 of the full carousel. The remaining images lazy-load via JS after hydration, which a no-browser HTTP scraper can't trigger. The hero image is always present.
  • Phone numbers are not extracted. SeLoger gates direct-dial phone behind a "Show number" interaction that requires JS. Email and contact-form CTAs are reachable; the agency profile URL is always present and contains opening hours + website.
  • Pagination stops on empty page. SeLoger doesn't server-render a total-page count — the actor follows ?LISTING-LISTpg=N until a page returns zero property cards.
  • Listing-page JSON-LD is page-level metadata only. The RealEstateListing block on a search results page describes the search, not individual properties. Per-property data comes from the cards' data-testid anchors. (Detail-page JSON-LD is thin but populated for the row.)
  • The /list.htm?projects=… URL shape is WAF-blocked at the edge and rejected by the URL classifier. Use the SEO /immobilier/{transaction}/immo-{city-dept}/ shape instead — it's what SeLoger.com itself routes to when you submit a filter.
  • Agency URL must be the new shape /professionnels-immobilier/{opaque-id}. The old /professionnels/agences-immobilieres/{city-slug}/ city-directory URL returns 404 today and is rejected.

Free tier

You can run this scraper on a free Apify account before paying anything:

Free account
Results per runup to 100
Start URLs per runup to 100
Costnothing — the free plan includes monthly platform credit

That is enough to check the field list and the data quality against your own URLs. Paid plans lift both caps; see Apify pricing.

Support

Issues, feature requests, or custom output shapes? Open a ticket on the actor's Apify Console issues page or message the maintainer.


🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/seloger-scraper).

Purpose: Extract SeLoger.com property listings, individual property pages, and agency profiles across France, parsing 75+ fields per row from the page's React server-state JSON rather than the rendered DOM.

Minimal input:

{
"startUrls": ["https://www.seloger.com/immobilier/achat/immo-paris-75/"],
"maxItems": 50
}

Alternatively, leave startUrls empty and build a search from filters: set locations (city names or place IDs) plus distributionType (Buy/Rent/Buy_Auction), and optionally estateTypes, priceMin, priceMax, roomsMin. Or set instantDatabase: true with the db* filters to return pre-collected agencies with no scraping.

Output: one dataset row per property — propertyId, externalRef, title, propertyType, transactionType, rooms, bedrooms, livingArea, floor, address, neighborhood, city, postalCode, region, country, price, priceFormatted, pricePerM2, notaryFees, totalProjectCost, monthlyMortgage, dpeRating, gesRating, primaryEnergyKwh, co2EmissionsKgPerM2, latitude, longitude, agencyName, agencyType, agencyProfileUrl, agencyAddress, phoneNumbers, features, imageUrls, images (each with classification), transport (metro/bus/tramway/RER), tags, url, scrapedAt. Agency URLs additionally emit an agency row carrying kind: "agency".

Behaviors an agent should know:

  • Always set maxItems (default 1000; agency-only rows do not count). Each /classified-search? URL caps at ~370 properties; enable splitByPrice to run 5 price bands for ~1,850 (cost scales ~5×).
  • startUrls takes precedence — when any URL is supplied, all filter fields (locations, distributionType, etc.) are ignored.
  • Four URL kinds auto-classify: SEO listing, /classified-search? filter search, property detail (.htm), agency profile (/professionnels-immobilier/{id}). The old /list.htm?projects=… shape is WAF-blocked and rejected.
  • Proxy is built-in Apify Residential FR; SeLoger geo-fences non-FR IPs, so non-FR proxies fail.
  • enrichAgency (default true) fetches each agency profile once, cached, and merges it into every property row from that agency. enrichEmails (default false) is billed per contact email found, only on a hit, never for misses.
  • Phone direct-dial and the full image carousel are JS-gated; imageUrls returns the SSR subset (hero always present).

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by SeLoger.com, AVIV Group, Axel Springer SE, or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper extracts only publicly visible data from SeLoger.com — property listings, individual property pages, and agency profiles as they appear to any logged-out visitor. No login, no CAPTCHA solving, no API-key forgery, no private-endpoint probing. The actor uses an Apify Residential FR proxy with TLS-fingerprinted HTTP requests, honouring robots.txt and rate-limits via concurrency cap to avoid burdening SeLoger's infrastructure.

Users are responsible for:

  • Complying with SeLoger.com's Terms of Service and French law (loi Hoguet, Code de la consommation, RGPD)
  • Following GDPR / French CNIL guidance when storing or processing data about private individuals (vendors, agents)
  • Not contacting agents, vendors, or team members listed in scraped data without their consent
  • Not republishing scraped data in a way that competes commercially with SeLoger or misrepresents listing authorship
  • Honouring any opt-out signals or noindex directives on the source pages
  • Refreshing scraped data regularly — property availability, prices, and energy ratings change frequently

SEO Keywords

seloger scraper, scrape seloger, seloger.com scraper, seloger api, seloger immobilier scraper, scraping seloger, seloger.fr scraper, french real estate scraper, paris property scraper, immobilier scraper, scrape paris real estate, paris listings scraper, france real estate api, real estate france scraper, seloger achat scraper, seloger location scraper, seloger annonces scraper, seloger agences scraper, french housing data scraper, DPE scraper, GES scraper, energy rating scraper, real estate listings france, french property data, real estate market data france, paris housing market scraper, real estate analytics france, comparable sales scraper france, seloger.com data extraction, french housing market api, real estate intelligence france, JSON-LD real estate scraper, RealEstateListing scraper, RealEstateAgent scraper, Apify seloger, seloger cheerio scraper, seloger HTTP scraper, no-browser seloger scraper, Apify Residential FR, french rental market, paris rental scraper, neuf scraper, viager scraper, colocation scraper, prestige scraper, french property investment, parisian real estate, real estate lead generation france, agent immobilier scraper, agence immobilière scraper, ile-de-france property scraper, lyon property scraper, marseille property scraper, bordeaux property scraper


💬 Support

🛠 Additional services

  • Custom output shape, additional fields, or a private build: muhamed.didovic@gmail.com
  • Need other DACH property platforms (Immowelt, Immonet, Immobilien.de, Wohnungsbörse, Comparis, Homegate, willhaben.at)? Drop an email — most are already in the portfolio.
  • For API access (no Apify fee, just a usage fee for the API): muhamed.didovic@gmail.com

🔎 Explore more scrapers

If this ImmoScout24 scraper was useful, see other real-estate scrapers at memo23's Apify profile — Immowelt (DE), Immonet (DE), Immobiliare (IT), Immoweb (BE), LoopNet US + UK, Rightmove UK, and more.