Etuovi.com Real Estate Scraper avatar

Etuovi.com Real Estate Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Etuovi.com Real Estate Scraper

Etuovi.com Real Estate Scraper

Scrape property listings from Etuovi.com, Finland's largest real estate portal. Search apartments, houses, plots, holiday homes, and farms/forest estates by city or region, with filters for price, size, rooms, construction year, and more.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Scrape Etuovi.com — Finland's largest real estate marketplace (part of Alma Media). Search apartments, houses, plots, holiday homes, and farm/forest estates by city, region, postal code, or street, with filters for price, size, rooms, construction year, seller type, and more. HTTP-only via the public Etuovi search API. No auth, no proxy, no cookies.

What this actor does

  • Five property categories: apartments & houses, plots & building sites, holiday homes & cottages, farms & forest estates, garages & other properties
  • Location search: any city, region, neighborhood, postal code, or street address in Finland — combine multiple locations in one search
  • Rich filters: building type, room count, price range, price per m², size range, plot area, construction year, new-building status, seller type (agency vs private), open-bidding status, publish-time window, heating system, overall condition, ownership type, plot ownership, unit storey layout, floor position, sauna, balcony, elevator, monthly maintenance charge, waterfront/shore access, has-video, open-house showing status (upcoming / premiere / today / tomorrow), commute time from a point (walk/cycle/drive/public transport), and free-text keyword search
  • 8 sort orders: newest/oldest, price low/high, size small/large, construction year old/new
  • Full listing data: address, city, price, rooms, size, construction year, agent/agency contact, next open-house showings, and photo gallery
  • Empty fields are omitted

Output per listing

  • id, friendlyId — Etuovi's internal and public listing identifiers
  • published — whether the listing is currently live on Etuovi.com
  • propertyType, propertyTypeCode — human-readable category and raw code
  • propertySubtype — building type (e.g. "Detached house", "Cottage", "Forest estate")
  • address, areaAndCity, city, fullLocation
  • latitude, longitude
  • price — asking price in EUR
  • size — living area / plot area in m² (matches the sizeSmallToLarge/sizeLargeToSmall sort key)
  • totalArea — total area in m², when Etuovi reports one (e.g. detached houses, where this also includes garages, basements, or outbuildings and can exceed size)
  • forestLandArea — forest area in m² (farm/forest estates)
  • rooms — Finnish room-structure notation (e.g. 4h, k, s = 4 rooms, kitchen, sauna)
  • roomCountLabel, constructionYear, newBuilding, developmentPhase — new-building construction status (Pre-marketing / Under construction / Move-in ready), when the listing is a new-build
  • floorLevel, floorCount — the listing's floor, and the total floors in the building
  • unitFloorCount — how many floors the unit itself spans (e.g. a duplex apartment inside a taller building spans 2 of its own floors), when Etuovi reports it
  • previousPrice — the listing's prior asking price, when Etuovi reports a price change
  • hasOpenBidding, isCompanyAnnouncement, hasVideo, hasPanorama
  • sellerName — private seller's name, when the listing is not from an agency
  • officeName, officeWebsite, officeLogoUrl — listing agency
  • agentName, agentImageUrl — listing agent, when available
  • publishedAt, updatedAt
  • nextShowings[] — upcoming open-house dates/times
  • mainImageUrl, images[], floorPlanImageUrl
  • sourceUrl — canonical etuovi.com/kohde/... listing page
  • recordType: "listing", scrapedAt

Input

FieldTypeDefaultDescription
propertyTypestringRESIDENTIALProperty category — RESIDENTIAL / PLOT / LEISURE / ESTATE / OTHER
locationsarrayCity / region / postal code / street to search. Leave empty for all of Finland
residentialPropertyTypesarrayBuilding type filter (only applies when propertyType=RESIDENTIAL)
roomCountsarrayRestrict to specific room counts
priceMin / priceMaxintPrice range in EUR
sizeMin / sizeMaxintLiving-area range in m²
yearMin / yearMaxintConstruction-year range
freeTextSearchstringKeyword search (e.g. sauna, pool, fireplace)
newBuildingSearchCriteriastringALL_PROPERTIESALL_PROPERTIES / ONLY_NEW_BUILDINGS / NO_NEW_BUILDINGS
sellerTypestringALLALL / OFFICE (agencies only) / USER (private sellers only)
bidTypestringALLALL / OPEN_BID / NO_OPEN_BID
publishingTimeSearchCriteriastringANY_DAYRestrict to recently published listings
heatingSystemsarrayHeating system filter (only applies when propertyType=RESIDENTIAL) — district heating, electric, geothermal, oil, gas, wood, heat pump, air-to-water heat pump, exhaust-air heat pump, solar, or not known
overallConditionsarraySeller-reported condition (RESIDENTIAL only) — good / satisfactory / tolerable / unclassified
ownershipTypesarrayForm of ownership (RESIDENTIAL only) — freehold, right-of-occupancy, partial ownership, other, not known
plotHoldingTypesarrayPlot ownership under the building (RESIDENTIAL only) — own / leased / optionally redeemable lease
residentialFloorCountTypesarrayUnit storey layout (RESIDENTIAL only) — single-storey, two-storey, multi-storey, one-and-a-half-storey, not known
floorPositionInHighrisearrayUnit's floor position in the building (RESIDENTIAL only) — bottom / middle / top / not known
saunaTypestringANYSauna filter (RESIDENTIAL only) — ANY / OWN_SAUNA / HOUSING_COMPANY_SAUNA / NO_SAUNA
hasBalconybooleanfalseOnly listings with a balcony (RESIDENTIAL only)
hasElevatorbooleanfalseOnly listings in buildings with an elevator (RESIDENTIAL only)
pricePerSqmMin / pricePerSqmMaxintPrice-per-m² range in EUR (RESIDENTIAL only)
maintenanceChargeMin / maintenanceChargeMaxintMonthly housing-company maintenance charge (vastike) range in EUR (RESIDENTIAL only)
plotAreaMin / plotAreaMaxintPlot area range in m² (applies to RESIDENTIAL, PLOT, and LEISURE only)
hasShorebooleanfalseOnly listings with direct shore/waterfront access (all property categories)
hasVideobooleanfalseOnly listings with a video tour (all property categories)
hasUpcomingShowingbooleanfalseOnly listings with a future open-house showing scheduled (all property categories)
hasPremiereShowingbooleanfalseOnly listings whose next showing is their first-ever ("premiere") showing (all property categories)
hasShowingTodaybooleanfalseOnly listings with an open-house showing today (all property categories)
hasShowingTomorrowbooleanfalseOnly listings with an open-house showing tomorrow (all property categories)
travelTimeLat / travelTimeLonnumberLatitude/longitude of a point to measure commute time from (e.g. a workplace). Both must be set together to enable the filter. Applies to all property categories
travelTimeMinutesint30Only listings reachable from the commute point within this many minutes (5–240)
travelTimeTransportMethodstringWALKINGCommute mode — WALKING / CYCLING / DRIVING / PUBLIC_TRANSPORT
travelTimeLocationNamestringOptional cosmetic label for the commute point (doesn't affect matching)
sortBystringnewestSort order (see enum below)
maxItemsint30Hard cap on emitted listings (1–5000)

Example: apartments in Helsinki, 2–3 rooms, under 400k

{
"propertyType": "RESIDENTIAL",
"locations": ["Helsinki"],
"roomCounts": ["TWO_ROOMS", "THREE_ROOMS"],
"priceMax": 400000,
"sortBy": "priceLowToHigh",
"maxItems": 50
}

Example: holiday cottages with a keyword, sorted by size

{
"propertyType": "LEISURE",
"locations": ["Mikkeli", "Savonlinna"],
"freeTextSearch": "oma ranta",
"sortBy": "sizeLargeToSmall",
"maxItems": 50
}

Example: private-seller detached houses built after 2010

{
"propertyType": "RESIDENTIAL",
"residentialPropertyTypes": ["DETACHED_HOUSE"],
"sellerType": "USER",
"yearMin": 2010,
"maxItems": 50
}

Example: forest estates nationwide

{
"propertyType": "ESTATE",
"maxItems": 50
}

Example: district-heated, elevator apartments with a sauna and balcony

{
"propertyType": "RESIDENTIAL",
"locations": ["Tampere"],
"heatingSystems": ["DISTRICT_HEATING"],
"saunaType": "OWN_SAUNA",
"hasBalcony": true,
"hasElevator": true,
"maintenanceChargeMax": 400,
"maxItems": 50
}

Example: waterfront cottages with a video tour, sorted by size

{
"propertyType": "LEISURE",
"hasShore": true,
"hasVideo": true,
"sortBy": "sizeLargeToSmall",
"maxItems": 50
}

Example: apartments within a 20-minute walk of Helsinki city centre

{
"propertyType": "RESIDENTIAL",
"travelTimeLat": 60.1699,
"travelTimeLon": 24.9384,
"travelTimeMinutes": 20,
"travelTimeTransportMethod": "WALKING",
"travelTimeLocationName": "Helsinki city centre",
"maxItems": 50
}

Example: apartments with an open-house showing today or tomorrow

{
"propertyType": "RESIDENTIAL",
"locations": ["Espoo"],
"hasShowingToday": true,
"hasShowingTomorrow": true,
"maxItems": 50
}

Use cases

  • Real estate market analysis — track asking prices, price-per-m², and inventory by city or region
  • PropTech products — feed live Finnish listings into a search or comparison app
  • Relocation & investment research — compare housing stock across Finnish cities
  • Lead generation — find newly listed or private-seller properties in a target area
  • Forestry & land investors — monitor farm and forest-estate listings nationwide

FAQ

What's the data source? The public search API behind etuovi.com, Finland's largest real-estate marketplace, operated by Alma Media. This actor is an independent third-party tool and is not affiliated with Alma Media or Etuovi.com.

Does this cover rental listings? No — Etuovi.com lists properties for sale only. Alma Media's rental listings live on a separate site (vuokraovi.com), which is out of scope for this actor.

Why do some listings lack an agent name or photos? Those fields are only populated by Etuovi for listings with "premium" placement. The actor never fabricates missing data — the field is simply omitted.

What does the rooms field mean? It's Etuovi's Finnish room-structure shorthand, e.g. 4h, k, s means 4 rooms + kitchen (k) + sauna (s). It's the most descriptive room field the source provides.

How is city determined? Etuovi doesn't expose a standalone city field on search results — city is derived from the last word of the listing's area/city string (addressLine2). For the rare compound-name municipality, use the fullLocation field for the complete, unparsed string.

Are prices in EUR? Yes, all prices are the listing's asking price in euros as shown on Etuovi.com.

What's the difference between size and totalArea? size is the living area (the same field Etuovi sorts on for sortBy: sizeSmallToLarge/sizeLargeToSmall), so it always matches the requested sort order. totalArea, when Etuovi reports one, additionally counts garages, basements, or outbuildings — for detached houses it's often larger than size.

How fresh is the data? Real-time — every run queries Etuovi's live search API directly.

What's the difference between floorCount and unitFloorCount? floorCount is the total number of floors in the building. unitFloorCount is how many of those floors the individual unit itself occupies — e.g. a duplex apartment inside a 5-storey building has floorCount: 5 and unitFloorCount: 2. Most listings only report floorCount; unitFloorCount appears when Etuovi tracks it separately (mainly apartments, terraced houses, and cottages).

Why do filters like heatingSystems or hasElevator only work for propertyType=RESIDENTIAL? Etuovi's own search API rejects those fields with 400 Bad Request for plots, holiday homes, farms/forest estates, and garages — they describe attributes of lived-in residential units (heating system, sauna, elevator access, monthly maintenance charge) that don't exist for a building plot or forest estate. plotAreaMin/plotAreaMax are the one exception that also work on PLOT and LEISURE. hasShore and hasVideo work on every property category.

Can I see the heating system, condition, or sauna type in the output? No — those are search-time filter criteria only. Etuovi's search results endpoint doesn't echo them back per listing (only the full listing detail page does, which this actor doesn't fetch to keep the scraper fast and request-cheap). You can filter by heatingSystems=["WOOD"], for example, but the matched records won't carry a heatingSystem output field.

How does the commute-time filter work? Set travelTimeLat/travelTimeLon to the coordinates of a point (e.g. a workplace or city centre — get these from Google Maps by right-clicking the point), then set travelTimeMinutes and travelTimeTransportMethod. The actor only returns listings Etuovi's own routing engine estimates are reachable from that point within the given time by the given transport method. travelTimeLocationName is an optional label only used for your own reference — it doesn't affect matching. Both travelTimeLat and travelTimeLon must be set together, or the filter is ignored.