Toimitilat Scraper - Finnish Commercial Property Data
Pricing
from $1.20 / 1,000 result scrapeds
Toimitilat Scraper - Finnish Commercial Property Data
Scrape commercial property listings from Toimitilat.fi, Finland's largest commercial-space portal with ~37,000 active listings. Filter by location, deal type and segment (offices, retail, warehouses, plots). Extract prices with units, surface, address, coordinates and full descriptions.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Toimitilat Scraper
Extract commercial property listings from Toimitilat.fi, Finland's largest commercial-space portal with around 37,000 active listings: offices (toimistotilat), retail spaces (liiketilat), warehouses (varastotilat), production facilities (tuotantotilat), plots (tontit) and more.
Why use it
Toimitilat.fi is where Finnish commercial real estate gets listed. Owners, brokers and Alma Media's network publish rental and sale listings there across every municipality in Finland. This actor turns those listings into structured data you can load into a spreadsheet, database or BI tool.
Typical uses:
- Market research: track supply of office or warehouse space in a city over time
- Pricing analysis: compare quoted rents per m² across districts
- Lead generation: find newly listed properties in your target segment
- Portfolio monitoring: watch competing space near your own properties
- Site selection: pull every available retail space in a region with size and location filters
No login, no cookies, no browser needed.
Input options
| Field | Type | Description |
|---|---|---|
searchQuery | string | Finnish region, municipality or district, e.g. Helsinki, Espoo, Tampere, Turku, Pääkaupunkiseutu, Lauttasaari. Leave empty to scrape all of Finland. If the name doesn't match a location known to the portal, the run fails and lists valid examples instead of silently returning wrong data. |
listingType | select | any (default), rent (vuokrataan), sale (myydään), investment (sijoitus) |
segment | select | all (default), office, office-hotel, retail, showroom, production, warehouse, warehouse-hotel, workspace, garage-hall, care, plot, other |
minSize / maxSize | integer | Floor area bounds in m² |
maxResults | integer | Maximum listings to scrape (default 100, hard cap 40,000) |
proxyConfiguration | proxy | Finnish residential proxies are prefilled and recommended |
Output fields
| Field | Example | Notes |
|---|---|---|
id | "10858452" | Toimitilat.fi object number (kohdenumero) |
listingTitle | "Vuokrataan toimistotilat - Helsinki" | |
dealType | "rent" | rent, sale, rent-or-sale, investment |
segment | "office" | Normalized from the Finnish space type |
propertyTypes | ["Toimistotilaa"] | All space types as published, in Finnish |
price | 14 | Numeric price. Read together with priceUnit. Null when the listing quotes no price. |
priceMax | 735 | Upper bound when a range is quoted |
currency | "EUR" | Present whenever price is present, never converted |
priceUnit | "€/m²/kk" | €/m²/kk (per m² per month), €/kk (per month), € (sale price) or € |
priceRaw | "14 € / m2 / kk" | The price text exactly as published |
surface | 215 | Floor area in m² (lower bound of a range) |
surfaceMax | 5500 | Upper bound of the floor-area range, if given |
address | "Itälahdenkatu 15-17, Lauttasaari, 00210 Helsinki" | |
street, district, postalCode, city | Parsed address components | |
floor | "2." | Kerros |
availableFrom | "Heti vapaa" | Vapautuu |
energyClass | "E" | Energy-efficiency class when stated |
propertyName | "Helsingin Itälahdenkatu 15-17" | Building name (kiinteistö) |
latitude, longitude | 60.15082, 24.88157 | WGS84 coordinates |
listingDescription | Full listing text in Finnish | |
imageUrl, imageUrls | Listing photos | |
url | https://www.toimitilat.fi/toimitila/10858452-... | Canonical listing URL |
source, scrapedAt | "toimitilat.fi", ISO 8601 |
A note on prices
Finnish commercial listings often publish no price at all. The market convention is "neuvoteltavissa" (negotiable) or "kysy" (ask), especially for rentals. In a typical Helsinki office search, roughly a quarter to a third of listings quote a concrete rent; sale listings quote prices more often. When a listing has no price, price, currency and priceUnit are null and priceRaw preserves whatever the listing said. This reflects the source, not a scraping gap. Rents are quoted either per square meter per month (€/m²/kk) or as a flat monthly rent (€/kk); the priceUnit field tells you which one you are looking at.
Example output
{"id": "10858452","listingTitle": "Vuokrataan toimistotilat - Helsinki","dealType": "rent","segment": "office","propertyTypes": ["Toimistotilaa"],"price": 14,"priceMax": null,"currency": "EUR","priceUnit": "€/m²/kk","priceRaw": "14 € / m2 / kk","surface": 215,"surfaceMax": null,"address": "Itälahdenkatu 15-17, Lauttasaari, 00210 Helsinki","street": "Itälahdenkatu 15-17","district": "Lauttasaari","postalCode": "00210","city": "Helsinki","floor": "2.","availableFrom": "Heti vapaa","energyClass": "E","latitude": 60.15082,"longitude": 24.88157,"url": "https://www.toimitilat.fi/toimitila/10858452-toimistotilat-helsinki-italahdenkatu-15-17","source": "toimitilat.fi","scrapedAt": "2026-08-18T09:00:00.000Z"}
How to scrape Toimitilat data
- Open the actor and set a location in
searchQuery, for exampleHelsinki,TampereorOulu. Leave it empty to cover all of Finland. - Pick a
listingType(rentorsale) and asegment(office,retail,warehouse, ...) if you want a subset. - Set
maxResultsto the number of listings you need. - Run the actor. Results land in the default dataset, one record per listing.
- Export as JSON, CSV or Excel from the dataset tab, or read it through the Apify API.
Example searches that work well:
searchQuery: "Helsinki",segment: "office",listingType: "rent"(vapaat toimistotilat Helsinki)searchQuery: "Tampere",listingType: "sale"(myytävät toimitilat Tampere)searchQuery: "Vantaa",segment: "warehouse"(varastotilat Vantaa)segment: "plot"with no location (tontit, all of Finland)
Cost estimate
Each listing costs one detail-page request, plus one search request per 200 listings. On the default settings, expect roughly $0.002 per result plus a small run-start fee, so about 500 listings per $1. A full national scrape (~37,000 listings) is a long run; set maxResults accordingly and prefer filtered runs when you only need one city or segment.
Note that a run's usage cost only settles after the run reports SUCCEEDED. Reading the dataset mid-run shows a partial cost that can be far below the final figure, so don't estimate spend from an in-progress run.
Limitations
- Listings grouped under one address on the portal are expanded automatically; this adds two extra requests per address group, which is included in the run cost.
- Price coverage follows the source: many rentals publish no rent (see the price note above).
- The portal is Finnish-language; descriptions and some raw fields come back in Finnish.
- Historical data is not available, only currently active listings.