Property Search
/api/etuovi/search
Search Finnish properties for sale or for rent
Scrappa's Etuovi API returns structured JSON from Etuovi, a Finnish property marketplace. Search apartments, houses, plots and leisure homes for sale or for rent with location, price, room, area, year and type filters, open any listing for price, fees, address, coordinates, features, housing company, images and agent, read agent and agency profiles with their listings, and autocomplete places. Scrappa is an independent service and is not affiliated with Etuovi.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/etuovi/search?location=Tampere&listing_type=sale&room_counts=2&max_price=200000" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"data": {
"pagination": { "page": 1, "per_page": 30, "total": 1256, "total_pages": 42, "has_next": true },
"items": [
{
"id": 2751484,
"friendly_id": "80541041",
"url": "https://www.etuovi.com/kohde/80541041",
"listing_type": "sale",
"price": { "amount": 242000, "currency": "EUR", "period": null, "is_share_price": false },
"area": 46,
"room_count": { "count": 2, "type": "TWO_ROOMS" },
"location": "Kolmas Linja 31 B Kallio Helsinki",
"office": { "id": 3421, "name": "Maininki LKV" }
}
]
},
"meta": { "endpoint_family": "search", "billable": true, "dropped_by_filter": 0 }
}
Structured data for real applications. Here are some ideas.
Track asking prices and monthly rents in EUR by city, district, rooms and property type.
Page through filtered searches and open each listing for its fees, housing company and images.
Compare monthly rents by area, size and room count.
Find agencies by place, read their profiles and page through their listings.
Etuovi scraper API
The Etuovi API is built for real-estate analytics, listing tools and market research in Finland. Each search item carries the price in EUR (rent per month), address with coordinates, rooms, living area, year built, photo and the listing agency. Listing detail adds fees, the housing company, energy certificate, all images and the agent. A missing value is null, never 0.
One search route for sale and rent.
Filters are always honoured: items that break a filter are dropped and counted in the response.
A page past the last page is an empty page, never repeated data.
A valid empty result is a successful, billable response; failures are never billed.
Pass a place name or a location code, add filters and sort, then page through the results.
Open Etuovi Search API docsPass a listing id to get fees, the housing company, images and the agent.
Open Etuovi Listing API docsResolve a place name to a location type and code and pass both into search.
Open Etuovi Autocomplete API docsEverything you need in one API.
/api/etuovi/search
Search Finnish properties for sale or for rent
/api/etuovi/listing
Get the full record of one listing by id
/api/etuovi/autocomplete
Autocomplete places and get location codes
/api/etuovi/agent
Get an agent profile with their listings
/api/etuovi/agencies
Find agencies by place or name
/api/etuovi/agency
Get an agency profile with its listings
See how Scrappa compares to the official API.
| Feature | Scrappa | ScrapingBee / ScraperAPI |
|---|---|---|
| Etuovi listing data as JSON | Build your own parser | |
| Sale and rent in one route | Separate scrapers | |
| Filters guaranteed on every item | Not available | |
| Price per 1k requests | From $0.20 | Varies by plan |
| Unified API key | Yes (80+ APIs) | Scraping only |
| Free tier | 500 credits/month | Trial credits only |
No. Scrappa is an independent service and is not affiliated with or endorsed by Etuovi. The Etuovi API returns structured JSON from public listing data through a Scrappa API key.
No. The site has no bedroom or bathroom search. Use room_counts. Listing detail returns the bedroom count when the agent gave one.
Some sale items show only the share price of the housing company. The API reports price.amount as null with is_share_price true instead of a misleading low number.
The API returns an empty page with has_next set to false. It never returns the first page under another page number.
No. Only successful responses are billed. A valid empty result is successful and billable.