European Real Estate Aggregator avatar

European Real Estate Aggregator

Pricing

from $0.01 / actor start

Go to Apify Store
European Real Estate Aggregator

European Real Estate Aggregator

Aggregate property listings from Europe's major portals — Rightmove (UK), SeLoger (FR), Hemnet (SE), Funda (NL), plus Idealista (ES/IT/PT, beta) — in a single run. Returns cross-platform deduplicated listings in one unified schema. One API call instead of running each portal separately.

Pricing

from $0.01 / actor start

Rating

0.0

(0)

Developer

Luuk Zoutendijk

Luuk Zoutendijk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Use this Actor when you need to:

  • Scrape property listings from multiple European countries in a single API call
  • Compare real estate prices across UK, France, Sweden, the Netherlands, or Spain/Italy/Portugal
  • Build a property market dashboard, investment screener, or automated price-tracking tool
  • Get deduplicated listings when the same property appears on multiple portals

Supported markets: UK (Rightmove), France (SeLoger), Sweden (Hemnet), Netherlands (Funda), Spain/Italy/Portugal (Idealista — beta)

One run returns listings from all selected platforms, normalised to a single schema and deduplicated — no post-processing needed.

Quickstart

Cheapest run — UK apartments, no proxy needed:

{
"searchQuery": "London",
"platforms": ["rightmove"],
"transactionType": "sale",
"propertyType": "apartment",
"maxResultsPerPlatform": 50
}

French listings (residential proxy required for SeLoger):

{
"searchQuery": "Paris",
"platforms": ["seloger"],
"transactionType": "sale",
"propertyType": "apartment",
"maxResultsPerPlatform": 25,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Multi-country run across three portals:

{
"searchQuery": "Amsterdam",
"platforms": ["funda", "rightmove", "hemnet"],
"transactionType": "both",
"maxResultsPerPlatform": 100
}

Platform coverage

PlatformCountryStatusProxy needed
Rightmove🇬🇧 UK✅ ActiveNo
SeLoger🇫🇷 FR✅ ActiveResidential (DataDome)
Hemnet🇸🇪 SE✅ ActiveNo
Funda🇳🇱 NL✅ ActiveNo
Idealista🇪🇸🇮🇹🇵🇹 ES/IT/PT🧪 BetaResidential, geo-matched
Immoscout24🇩🇪 DE⛔ Disabled— (interactive CAPTCHA)

Note: A single searchQuery matches one country, so each platform only returns results for queries in its own market (e.g. "Paris" → SeLoger, "Amsterdam" → Funda). Run per market, or pass a list of platforms that match your query.

Pricing

This Actor uses pay-per-event pricing:

  • Per result — you are charged for each listing returned (see the store page for the current per-result price).
  • Actor start — a small fixed charge per run.
  • Platform usage — Apify platform usage (compute + proxy) is billed on top of the events above.

Cost tip: SeLoger and Idealista run a real browser through a residential proxy, which is the main cost driver. Plain-HTTP platforms (Rightmove, Funda, Hemnet) are cheap. To control spend, scrape only the platforms you need and set a sensible maxResultsPerPlatform. A residential proxy is only required for SeLoger and Idealista.

Input

FieldTypeDefaultNotes
searchQuerystringRequired. City/region/address. Match to the platform's market.
platformsstring[]all activerightmove (UK), seloger (FR), hemnet (SE), funda (NL), idealista (ES/IT/PT).
transactionTypeenumbothsale | rent | both.
propertyTypeenumanyapartment | house | any.
maxResultsPerPlatformint1001–1000. Each result is billed separately.
minPrice / maxPriceintNative currency: GBP (Rightmove), EUR (SeLoger/Funda/Idealista), SEK (Hemnet).
proxyConfigurationobjectSet useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"] for SeLoger/Idealista.

Output

Each dataset item is a normalised PropertyListing:

{
"platforms": ["seloger"],
"sourceListingIds": { "seloger": "26K8GBMVC9J7" },
"sourceUrls": { "seloger": "https://www.seloger.com/annonces/.../270391119.htm" },
"scrapedAt": "2026-06-03T15:11:41.626Z",
"transactionType": "sale",
"propertyType": "apartment",
"price": 680000,
"currency": "EUR",
"pricePerSqm": 16190,
"area": 42,
"rooms": 2,
"bedrooms": 1,
"floor": 2,
"city": "Paris 7ème arrondissement",
"country": "FR",
"images": []
}

When the same property appears on more than one platform, the records are merged: platforms, sourceListingIds and sourceUrls are combined, and missing fields are filled from the richest source.

Cross-platform deduplication

Two listings are treated as the same property when all of:

  • Location — GPS within 50 m, or address similarity > 90%
  • Price — within 5%
  • Size — living area within 5%

The deduplication rate is reported in the RUN_METADATA key-value store record, alongside per-platform counts and any per-platform errors.

Run metadata

After each run, the RUN_METADATA record contains:

{
"searchQuery": "Paris",
"totalBeforeDedup": 120,
"totalAfterDedup": 113,
"deduplicationRate": "5.8%",
"platformCounts": { "seloger": 50, "funda": 0, "hemnet": 0, "rightmove": 50 },
"platformErrors": {}
}

One platform failing never fails the run — results from the others are still returned (Promise.allSettled isolation).

Notes & limitations

  • Idealista (beta): protected by DataDome with per-country IP validation. It needs a residential proxy whose exit IP matches the listing country; the actor retries on fresh IPs but generic residential pools are often blocked. Geo-matched residential or a CAPTCHA-solving service improves reliability.
  • Immoscout24: disabled — it uses an interactive AWS WAF CAPTCHA that cannot be auto-solved without a solver integration.
  • SeLoger: requires a residential proxy (DataDome). The actor automatically retries on a fresh IP when blocked.