Oikotie Scraper [$0.5/1k💰] | Finnish Property & Rent Data avatar

Oikotie Scraper [$0.5/1k💰] | Finnish Property & Rent Data

Pricing

from $0.48 / 1,000 listings

Go to Apify Store
Oikotie Scraper [$0.5/1k💰] | Finnish Property & Rent Data

Oikotie Scraper [$0.5/1k💰] | Finnish Property & Rent Data

Scrape Oikotie.fi — Finland's largest property marketplace — for sale, rent and business listings with debt-free price, EUR/m², energy class, fees and agent direct-contact data. Built on the internal JSON API: no browser, no key, $0.0005 per listing.

Pricing

from $0.48 / 1,000 listings

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Oikotie Fi Scraper — Finnish Real Estate & Rental Data

Scrape Oikotie.fi — Finland's largest real-estate marketplace — for sale apartments, rent apartments and business premises, with debt-free price, EUR/m², energy class, fees, GPS coordinates, and the responsible agent's name, direct phone and email. Also exports the full estate-agency directory (~1,800 offices with Y-tunnus). Built on Oikotie's internal JSON API — no browser, fast, cheap.

Main Use Cases

  • Finnish property price monitoring — track asking prices, debt-free prices and EUR/m² trends across Helsinki, Espoo, Tampere, Turku and all Finnish cities.
  • Real-estate lead generation — build contact lists of active listings with the responsible agent's direct phone and email.
  • Rental market research — monitor rent levels, security deposits, pet policies and maintenance fees (hoitovastike) over time.
  • Estate-agency directory building — export all ~1,800 Finnish real-estate offices with phone, email, website and Y-tunnus.
  • Market & competitive intelligence for brokerages — track inventory, pricing patterns and listing volumes by city/agency.

How It Works

The actor calls Oikotie's internal JSON API directly (reverse-engineered from the site, no browser needed). Listing search results and per-listing detail pages are fetched in parallel, so a 100-listing run with full enrichment typically completes in under a minute on a 512 MB container. Output lands in a clean Apify dataset — ready for API access, scheduling, CSV/Excel/JSON export and CRM/BI pipelines.

Monitor Finnish Property Prices Without the Official Oikotie API

Oikotie's official API (docs.asunnot.oikotie.fi) is a partner API for real-estate agencies — it requires a commercial contract and an API key, and is built for listing management (creating/updating own ads), not for market research. This actor reads the same listing data the public site exposes, no contract needed. Run it on a schedule per city or listing type to build your own Finnish housing market history.

Extract Real Estate Agent Contacts for Lead Generation

Every listing can be enriched with the responsible agent's direct phone and email (agentName, agentPhone, agentEmail, plus agencyName/agencyEmail and the agency's profile URL). Perfect for relocation analysts, proptech CRMs and brokerages hunting listing mandates — the agent-contact event is billed per enriched row (see Pricing).

Export the Finnish Estate-Agency Directory

Enable scrapeCompanies to export the complete directory of ~1,800 Finnish real-estate offices: name, officialName, tradeRegistryNumber (Y-tunnus), phone, email, website, streetAddress, city, zipCode, parentName — a ready-made B2B contact database for proptech and lead-gen teams.

Input

FieldTypeRequiredDefaultNotes
cardTypesarrayNo["100"]Verticals: 100 sale apartments, 101 rent apartments, 106 business premises (toimitilat). Empty = directory-only mode.
locationsarrayNo[]Finnish city/district names, e.g. ["Helsinki","Espoo","Tampere"]. Empty = all of Finland.
sortstringNopublished_sort_descNewest first, oldest first, price asc/desc, size asc/desc, most viewings, most popular.
maxItemsintegerNo100Max listings per run (0 = all ~55,000 sale / ~25,000 rent / ~40,000 business listings).
maxConcurrencyintegerNo40Parallel HTTP requests, 1–50. Raise it to finish enrichment faster.
enrichDetailsbooleanNotrueFetch each listing's detail API: debt-free price, energy class, fees, full address.
enrichContactsbooleanNotrueFetch each listing page for the agent's name, direct phone and email.
scrapeCompaniesbooleanNofalseAlso scrape the estate-agency directory (~1,800 offices).
maxCompaniesintegerNo0Max offices when directory mode is on (0 = all).
proxyobjectNooffNot required for the API; enable only for very large runs.

Example Input

{
"cardTypes": ["100", "101"],
"locations": ["Helsinki", "Espoo"],
"enrichDetails": true,
"enrichContacts": true,
"maxItems": 500
}

Example Output (listing row)

{
"cardId": 24703523,
"cardType": 100,
"url": "https://asunnot.oikotie.fi/myytavat-asunnot/mustasaari/24703523",
"price": "105 000 €",
"priceNumeric": 105000,
"debtFreePrice": 108432.39,
"shareOfLiabilities": 3432.39,
"pricePerSqm": 1750,
"size": 60,
"rooms": 2,
"buildYear": 1989,
"maintenanceFee": 204,
"energyClass": "E",
"address": "Juhontie 5",
"formattedAddress": "Juhontie 5, 65610 Mustasaari",
"city": "Mustasaari",
"latitude": 63.108526,
"longitude": 21.673567,
"agentName": "Katja Jansson",
"agentPhone": "+358505422147",
"agencyName": "Oy Optima LKV Ab",
"agencyEmail": "info@optima-lkv.fi",
"published": "2026-09-22 06:27:52"
}

Company directory row

companyId, name, officialName, tradeRegistryNumber (Y-tunnus), phone, email, website, streetAddress, city, zipCode, parentName.

With locations you can scope a run to any Finnish city or district (district-level names like Kallio work too). Combine with daily scheduling to capture rent and price movement over time — the actor resolves location names to Oikotie's internal IDs for you.

Integrations & Automation

  • Apify API — pipe listing rows into a price-tracking dashboard, CRM or BI tool.
  • Webhooks — alert on new listings in a chosen city or district.
  • Scheduling — daily price monitoring, weekly lead exports.
  • Export — JSON, CSV, Excel, HTML.

Recommended schedule: daily for price/rent monitoring and new-listing alerts; weekly for agency-directory refreshes.

FAQ

Why use this actor instead of the official Oikotie API?

Oikotie's official Asunnot API (docs.asunnot.oikotie.fi) requires a commercial partnership contract and an API key, and is built for agencies to manage their own listings — it is not a public market-data API. This actor uses Oikotie's internal JSON API with no contract, no key and no browser, and adds data the partner API doesn't conveniently expose for research (agent contacts, agency directory, EUR/m²).

What are alternatives to this actor / Finnish housing data?

How can I get the whole Oikotie catalog?

Set maxItems: 0 with cardTypes: ["100"] to paginate through all ~55,000 sale listings, ["101"] for ~25,000 rentals, or ["106"] for ~40,000 business premises.

What is the best way to watch Helsinki apartment prices?

Run daily with locations: ["Helsinki"], cardTypes: ["100"] and enrichDetails: true — compare priceNumeric, debtFreePrice and pricePerSqm across runs in one dataset.

How do I extract agent contacts only?

Set enrichDetails: false, enrichContacts: true (fast + cheap), or enable only scrapeCompanies: true to get the full agency directory without listings.

SEO Keywords

oikotie scraper, finnish real estate data, oikotie asunnot, oikotie vuokra-asunnot, myytävät asunnot, helsinki apartment prices, finland property prices, suomen asuntomarkkinat, oikotie agent contacts, estate agency directory finland, y-tunnus business data, debt-free price data, hoitovastike data, rent price monitoring, oikotie api alternative, finnish housing market intelligence, proptech lead generation, toimitilat data

For AI Agents & LLM Apps

  • Purpose: given listing verticals (cardTypes), Finnish city/district names (locations) and optional enrichment flags, returns one row per Oikotie listing with price fields, property attributes, GPS coordinates, and agent/agency contact data (or one row per estate-agency office in directory mode).
  • Minimal input:
{ "cardTypes": ["100"], "locations": ["Helsinki"], "maxItems": 50 }
  • Variant — rent monitoring:
{ "cardTypes": ["101"], "locations": ["Tampere"], "enrichDetails": true, "maxItems": 200 }
  • Variant — directory only:
{ "cardTypes": [], "scrapeCompanies": true, "maxCompanies": 100 }
  • Output field list (listings dataset): cardId, cardType, url, price, priceNumeric, debtFreePrice, shareOfLiabilities, pricePerSqm, size, rooms, buildYear, startOfUseYear, apartmentCondition, maintenanceFee, managementCharge, financialFee, energyClass, heatingInfo, vistaInfo, balconyInfo, renovationInfo, renovationFutureInfo, fullDescription, address, formattedAddress, city, district, zipCode, county, latitude, longitude, housingCompanyName, housingCompanyBusinessId, agentName, agentPhone, agentEmail, agentPictureUrl, agentProfileUrl, agencyName, agencyEmail, agencyUrl, rentPerMonth, securityDeposit, rentTermInfo, petsAllowed, published.
  • Companies dataset field list: companyId, name, officialName, tradeRegistryNumber, phone, email, website, streetAddress, city, zipCode, parentName.

Behaviors an agent should know:

  • scrapeCompanies: true replaces listing mode — leave cardTypes empty for directory-only runs, or you get listings + companies mixed.
  • maxItems: 0 means "everything" (up to ~55k sale / ~25k rent / ~40k business listings), not "nothing" — cap it explicitly for test runs.
  • locations accept Finnish city or district names and are auto-resolved to Oikotie internal IDs.
  • No proxy needed on the internal JSON API — keep proxy off.
  • Energy class is parsed from all Oikotie formats (e.g. D2018, Energialuokka: C2018); some listings legitimately lack energy class/fees → those fields are null.
  • Billing: pay-per-event — listing example price $0.0005/row (always billed), listing-detail +$0.001/row when enrichDetails on, agent-contact +$0.001/row when enrichContacts on, company-detail +$0.001/office (directory mode) + Actor Start ~$0.00005. Example prices per the actor README — actual prices are set by the publisher.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Oikotie (Sanoma Media Finland). It reads only publicly available listing data via the same internal JSON API the Oikotie website uses — no login bypass, no paid account. Users are responsible for complying with Oikotie's Terms of Service and applicable Finnish and EU data-protection law (GDPR). Listings and directory data should be used for legitimate market research and business purposes.