Etuovi Scraper - Finland Property Listings & Prices avatar

Etuovi Scraper - Finland Property Listings & Prices

Pricing

from $1.32 / 1,000 property searches

Go to Apify Store
Etuovi Scraper - Finland Property Listings & Prices

Etuovi Scraper - Finland Property Listings & Prices

Scrape Etuovi.com listings across Finland: asking price, €/m², rooms, area, build year, photos, agency and agent contacts. Homes, new builds, holiday homes, plots and land.

Pricing

from $1.32 / 1,000 property searches

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Etuovi Scraper: Finland's Biggest Property Portal, as Data 🚀

Store-SIÁN Agency Store-Hemnet Scraper Store-FINN.no Property Store-Otodom Scraper

🎉 61,000+ homes plus holiday homes, plots and land, across every one of Finland's 335 municipalities, with asking price, €/m² and agent contacts

Built for analysts, brokers and proptech teams who need the Finnish market as a table, not as browser tabs

🔎 What is the Etuovi Scraper — and when should you use it?

The Etuovi Scraper turns any search on Etuovi.com, Finland's biggest property portal into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: asking prices in euros next to living and total area, the Finnish room layout string, room-count class, floor out of building floors, build year, WGS84 coordinates, the listing agency, the next scheduled showing and the listing photo. Detail enrichment adds the full Finnish description, the asking and debt-free prices side by side, price per m², the housing-company debt share, the region-to-postcode hierarchy, heating and balcony details, and the selling agent's contact details. Searches cover homes, new builds, holiday homes, plots and land.

Use something else when: the market is not Etuovi.com's. Use Hemnet Scraper for Sweden's biggest housing market, listing by listing. Use FINN.no Property Scraper for Norway, across the Eiendom sections. Use Otodom Scraper for Poland's largest property portal, sale and rent. This actor reads live Etuovi.com listings only, and Etuovi.com is a sale-only portal: rentals live on Vuokraovi.com, Alma Media's separate rental site, which Etuovi.com's own search hands over to. Finland publishes realised transaction prices through the tax administration rather than the portal, so sold prices are not available here — a listing disappearing between two scheduled runs is the closest signal. Price, size and feature filters are applied by the portal in the browser and are not part of the page a run reads, so the narrowing this actor offers is what the served page honours: section, municipality, property type and page depth — a pasted Etuovi search address is read exactly as the portal serves it.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/etuovi-property-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want to research the Finnish housing market for sale — homes, new builds, holiday homes, plots and land using the Apify Actor `sian.agency/etuovi-property-scraper`.
Use it when I need: asking prices in euros next to living and total area, the Finnish room layout string, room-count class, floor out of building floors, build year, WGS84 coordinates, the listing agency, the next scheduled showing and the listing photo. Detail enrichment adds the full Finnish description, the asking and debt-free prices side by side, price per m², the housing-company debt share, the region-to-postcode hierarchy, heating and balcony details, and the selling agent's contact details. Searches cover homes, new builds, holiday homes, plots and land.
Don't use it when: the market is not Etuovi.com's — use hemnet-property-scraper or finn-no-property-scraper or otodom-property-scraper instead.
How to call it: pick one `operation` per run. `search` takes a `section` — `asunnot` (homes), `loma-asunnot` (holiday homes), `tontit` (plots) or `maa-ja-metsatilat` (land and forest) — plus any number of `locations` typed as Finnish municipality names (all 335 the portal indexes resolve, diacritics optional), and optionally `propertyTypes` from the portal's own type pages: yksio, kaksio, kerrostalo, omakotitalo, erillistalo, paritalo, rivitalo, luhtitalo, puutalo-osake, omistusasunnot, osaomistusasunnot, asumisoikeusasunnot, uudiskohteet. `detail` takes Etuovi listing addresses and returns the full record.
Start with this input:
{
"operation": "search",
"section": "asunnot",
"locations": [
"Helsinki",
"Espoo"
],
"maxResults": 120
}
Ask me which Finnish municipalities they want, which section they mean, and whether they need the full record with both prices and the agent's contacts or just the search rows, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Pull every new studio listing in Helsinki posted this week and give me the median asking price.
  • Search detached houses in Tampere, Kuopio and Oulu, fetch full details for the ten cheapest, and list the agents with their phone numbers.
  • Watch plots in the Turku region daily and alert me when a new shore plot appears under 100,000 euros.
  • Export all holiday homes in Lapland with coordinates so I can map them by lake.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/etuovi-property-scraper.md.

📋 Overview

Finland's homes-for-sale market runs through one portal. Etuovi.com carries the country's largest for-sale inventory — apartments, detached houses, new builds, holiday homes, plots and land — and this Actor reads all four of its sale sections through one input form.

What you get:

  • Four sections, one selector: homes for sale (61,000+ live listings), new builds (8,700+), holiday homes (5,300+), plots (6,900+) and land & forest estates.
  • 30 listings per page, no ceiling: the portal serves its entire result set (verified paging past page 2,000 of a national search), so a city sweep reaches the last listing, not the first thousand.
  • 🎯 41 fields per row, typed from real listings rather than guessed: prices arrive as numbers, dates as timestamps, photos as URLs.
  • 💰 Charged per listing returned: a municipality that matched nothing, or a listing that had been withdrawn, costs you nothing.
  • 💎 Detail mode returns both Finnish prices: asking price and debt-free price side by side, with the debt share and the price per m² the portal itself computes.
  • 🇫🇮 All 335 municipalities by name: type Helsinki, Äänekoski or Koski Tl. The portal's own sitemap is the address book.

✨ Features

  • 🏘️ Section selector: homes, holiday homes, plots or land without learning a URL scheme.
  • 📍 Plain Finnish place names: type Helsinki, Tampere or Äänekoski; diacritics are optional and every municipality the portal indexes resolves.
  • 🏠 The portal's own type pages: studios, two-room homes, apartment blocks, detached, semi-detached and row houses, terrace-access blocks, wooden house shares, ownership types and new builds.
  • 📄 Full-detail mode: switch it on and every row gains the full description, both prices, €/m², the debt share, the region-to-postcode hierarchy and the agent's direct phone.
  • 🧑‍💼 Agent and agency contacts: the agent's name, title and phone, plus the office's name and website.
  • 🗺️ Coordinates on every listing: latitude and longitude in WGS84, ready to map.
  • 📅 Showing times and open bidding: the next scheduled showing and the open-bidding flag come back on the card.
  • 🔗 Paste any Etuovi search address: a URL from your browser is read exactly as the portal serves it.
  • 🔄 Schedule-friendly: run the same search daily and the diff gives you new listings, price cuts and sold stock.

🎬 Quick Start

Pick an operation, name the municipalities you care about, press Start. Results land in the dataset as JSON, CSV or Excel, and a run report with the highlights is written to the key-value store. The default input works as-is — a bare run returns the newest homes for sale in Helsinki.

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~etuovi-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"search","section":"asunnot","locations":["Helsinki"],"maxResults":100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose what to scrape

Pick an operation (Property Search or Property Detail) and, for a search, the section.

Step 2: Name your municipalities

Type Finnish municipality names into Municipalities: one per line, diacritics optional. Leave a name out and it is not searched; empty the field to sweep the whole country.

Step 3: Set your budget and run

Max results caps the rows the run returns and bills for. Press Start.

That's it! In about a minute, you'll have:

  • A structured table of live Finnish listings
  • Prices, sizes, coordinates and agency names on every row
  • A run report with the links and the exact charges

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNosearch or detail. Defaults to search.
sectionstringNoasunnot (homes), loma-asunnot (holiday homes), tontit (plots) or maa-ja-metsatilat (land & forest). Defaults to asunnot.
locationsarrayNoFinnish municipality names, diacritics optional. All 335 the portal indexes resolve. Empty defaults to Helsinki.
propertyTypesarrayNoThe portal's own type pages, homes section only: yksio, kaksio, kerrostalo, omakotitalo, erillistalo, paritalo, rivitalo, luhtitalo, puutalo-osake, omistusasunnot, osaomistusasunnot, asumisoikeusasunnot, uudiskohteet.
maxResultsintegerNoRow ceiling for the whole run. Defaults to 100.
includeDetailsbooleanNoFetch each listing's full record; one extra charge per listing.
searchUrlsarrayNoEtuovi search addresses, read exactly as the portal serves them.
listingUrlsarrayNoEtuovi listing addresses, for the Property Detail operation.

Example:

{
"operation": "search",
"section": "asunnot",
"locations": ["Helsinki", "Espoo"],
"propertyTypes": ["kaksio"],
"maxResults": 200
}

Full details from a shortlist:

{
"operation": "detail",
"listingUrls": [
"https://www.etuovi.com/kohde/2277218"
]
}

📤 Output

Results are saved to the Apify dataset with 41 fields including:

FieldTypeDescription
listingIdstringThe portal's own listing id (numeric or alphanumeric)
urlstringLink to the listing
addressstringStreet address
pricenumberAsking price in euros
debtFreePricenumberDebt-free price (velaton hinta), on detail rows
pricePerSqmnumberPrice per m², on detail rows
debtSharenumberShare of housing-company debt, on detail rows
areanumberLiving area in m²
totalAreanumberTotal area in m²
roomsstringFinnish room layout, e.g. "3h, k, kph"
roomCountstringRoom-count class (ONE_ROOM, TWO_ROOMS, …)
floor / floorsTotalnumberFloor and building floors
buildYearnumberConstruction year
propertyTypestringThe portal's own type code
sectionstringWhich of the four sections the row came from
newBuildingbooleanNew-build flag
openBiddingbooleanOpen-bidding flag
publishedAtstringPublication / update timestamp
nextShowingstringNext scheduled showing
thumbnailUrlstringListing photo
agencyName / agencyUrlstringListing agency and its website
latitude / longitudenumberWGS84 coordinates
descriptionstringFull Finnish description, on detail rows
region / district / postCodestringLocation hierarchy, on detail rows
heating / balconystringResidence details, on detail rows
agentName / agentPhone / agentTitle / agentOfficestringSelling agent contacts, on detail rows

Example row:

{
"listingId": "2277218",
"url": "https://www.etuovi.com/kohde/2277218",
"address": "Satamasaarentie 1",
"addressExtra": "Vuosaari Helsinki",
"price": 129000,
"debtFreePrice": 129000,
"pricePerSqm": 3486.49,
"debtShare": 7982,
"area": 37,
"rooms": "1h, kk, alkovi, kph, lasitettu parveke",
"roomCount": "ONE_ROOM",
"floor": 6,
"floorsTotal": 8,
"buildYear": 1966,
"section": "asunnot",
"publishedAt": "2026-09-07T19:41:35+03:00",
"agencyName": "Habita Helsinki | Helsingin Habita Oy",
"latitude": 60.211996,
"longitude": 25.136673,
"agentName": "Erkki Talvitie",
"agentPhone": "+358 50 4200101"
}

💼 Use Cases & Examples

1. Price Tracking Across Finland

Watch asking prices in any set of municipalities and diff yesterday's feed against today's to catch price moves the day they happen. The published/updated timestamp on every row makes the diff one group-by.

2. Agent and Agency Lead Lists

Every listing names its agency; detail enrichment adds the agent's name, title, phone and office. Build broker, photographer or mortgage lead lists by city and property type.

3. €/m² Market Analysis

Detail rows carry asking price, debt-free price and price per square metre next to district and post code: the inputs for valuation comps and municipal market reports.

4. Deal Sourcing for Investors

Filter to studios, row houses or open-bidding homes, page through entire cities, and pipe the feed into Sheets or a dashboard for yield screening.

5. New-Build Monitoring

Track uudiskohteet for developers and buyers' agents: 8,700+ units and growing, with build year and coordinates on every row.

6. Holiday Home and Plot Scouting

Separate sections for leisure properties and plots, including lakeside cottages and shore plots. That is the cross-border buyer's hardest category to monitor.

7. Data Feeds for AI and Research

Clean, schema-typed rows with coordinates and a full location hierarchy, ready for market models or property search assistants.

🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/etuovi-property-scraper').call({
operation: 'search',
section: 'asunnot',
locations: ['Helsinki', 'Espoo'],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("sian.agency/etuovi-property-scraper").call(
run_input={
"operation": "search",
"section": "asunnot",
"locations": ["Helsinki", "Espoo"],
"maxResults": 100,
},
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["address"], item["price"])

cURL

curl -X POST "https://api.apify.com/v2/acts/sian.agency~etuovi-property-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"operation":"search","section":"asunnot","locations":["Tampere"],"maxResults":60}'

Automation Workflows (N8N / Zapier / Make)

This Actor is an Apify HTTP endpoint, so any automation platform can run it:

  • N8N: add an HTTP Request node that POSTs your input JSON to https://api.apify.com/v2/acts/sian.agency~etuovi-property-scraper/runs?token=YOUR_TOKEN, then a Wait node and a Dataset-items GET to collect the rows. (N8N also ships a native Apify integration.)
  • Zapier / Make: use Apify's official app/integration, choose this Actor, paste the input JSON, and map the dataset rows into your next step.
  • Schedules: run the same input daily from Apify Console → Schedules and diff consecutive runs for new listings and price cuts.

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 rows per run, with every field and every section available
  • No credit card required
  • Enough to see whether the data fits your model
  • Unlimited rows per run, up to the ceiling you set
  • Pay per listing returned: a municipality that matched nothing, and a listing that had been withdrawn, cost you nothing

💰 Priced at $1.50 per 1,000 listings, under the most-installed Etuovi actor on the Store ($3.50/1k), and it covers the portal's full depth, to the last page of every search.

🔗 View current pricing

❓ Frequently Asked Questions

Q: Do I need an API key, a login or a proxy? A: No. Give it a municipality and press Start.

Q: Does this cover rental apartments? A: No, and neither does Etuovi.com. Rentals in Finland live on Vuokraovi.com, Alma Media's separate rental portal that Etuovi.com itself hands rental searches to. This Actor reads Etuovi.com's four sale sections.

Q: How many rows can I get? A: FREE tier: 25 per run. PAID tier: as many as exist. The portal has no result ceiling (verified paging past page 2,040 of a 61,000-listing national search), so Max results is the practical limit.

Q: Can I filter by price or size? A: Only through pasted search addresses. The portal applies its price, size and feature filters in the browser, not on the page a run reads, so this Actor offers the narrowing the served page honours: section, municipality, property type and page depth.

Q: What do I put in Municipalities? A: Finnish municipality names (Helsinki, Tampere, Äänekoski) with or without the dots on ä and ö. All 335 municipalities the portal indexes resolve.

Q: Why are some prices two numbers? A: Finnish flats are sold as housing-company shares, so a listing carries an asking price and a debt-free price. The difference is the share of company debt attached to the flat. Detail enrichment returns both plus the debt share, and the portal's own price per m².

Q: Can I get sold prices? A: No. Etuovi.com publishes live listings, not completed transactions. A listing disappearing between two scheduled runs is the closest available signal.

Q: What output formats are available? A: JSON, CSV and Excel, exported straight from the Apify dataset.

Q: Is this legal? A: Yes. Only publicly available data is collected; see the legal section below.

🐛 Troubleshooting

"… is not a municipality Etuovi.com indexes"

  • Check the Finnish spelling; both Helsinki and helsinki work, but the name must be a real municipality.
  • Try the portal itself: if etuovi.com does not list the place, the Actor cannot search it.

A search returns fewer rows than Max results

  • The search matched fewer listings than your ceiling. The run log prints the total the portal reported before paging starts.

A listing detail comes back "sold or withdrawn"

  • The listing was sold or pulled. Re-run the search to pick up its replacement; you are not charged for it.

The type list did nothing

  • Property types apply only to the homes section. Holiday homes, plots and land have no type pages on the portal, and the run log says so when the list is not applied.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Etuovi.com is a trademark of Alma Media Finland Oy. This Actor is not affiliated with, endorsed by, or sponsored by Etuovi.com or Alma Media.

🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools