# Etuovi Listing API Documentation

<p><strong>Etuovi Listing API</strong> returns one listing: price in EUR, debt-free price, price per square meter, fees, living and total area, rooms, bedrooms when given, floor, year built, condition, heating, features, room descriptions, address with coordinates and location codes, the housing company with plot, energy certificate, features and renovations, all images, floor plans, links, the agent and the agency. Send the <code>friendly_id</code> from search as <code>id</code>. Sale and rent use the same id format, so send the matching <code>listing_type</code>. A missing value is <code>null</code>. For rent the price is the monthly rent and the response adds deposit, agreement type, pets, smoking, availability and special terms. A private seller or lessor is not returned as an agent, and phone numbers are never returned.</p>

- **Documentation:** [https://scrappa.co/docs/etuovi-api/etuovi_listing](https://scrappa.co/docs/etuovi-api/etuovi_listing)
- **API group:** Etuovi API
- **Endpoint:** `GET https://scrappa.co/api/etuovi/listing`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | Listing id (friendly_id) from search. Example: 80541041. |
| `listing_type` | string | No | sale (default) or rent. It must match the listing. |

## Example response

```json
{
    "data": {
        "id": 2751484,
        "geo": {
            "lat": 60.18451,
            "lng": 24.94434,
            "accuracy": "ADDRESS"
        },
        "url": "https://www.etuovi.com/kohde/80541041",
        "area": 46,
        "fees": [
            {
                "type": "HOUSING_COMPANY_MAINTENANCE_CHARGE",
                "amount": 239.2,
                "period": "MONTH",
                "included_in_overall_cost": null
            },
            {
                "type": "SAUNA",
                "amount": 11,
                "period": "MONTH",
                "included_in_overall_cost": null
            }
        ],
        "agent": {
            "name": "Tuomo Ik\u00e4l\u00e4inen",
            "image": "https://images.example.com/800x600/etuovimedia/images/agent/import/41383e893b76788fdf9f4f871772c49e/fb9d63575dac718841c4a148ab362a04/ORIGINAL.png",
            "title": "yritt\u00e4j\u00e4, LKV, LVV, KTM",
            "is_premium": false,
            "realtor_id": 1888
        },
        "floor": 3,
        "links": [],
        "price": {
            "amount": 242000,
            "period": null,
            "currency": "EUR",
            "is_share_price": false
        },
        "rooms": {
            "type": "TWO_ROOMS",
            "count": 2,
            "structure": "2 h, avok, kph, et"
        },
        "images": [
            {
                "id": 88485594,
                "url": "https://images.example.com/1200x800/etuovimedia/images/property/import/484/2751484/0e76b9541118d347871c0e0e51d244c4/e6bc40ad5a4e9b4751ab2058ad81b44e/ORIGINAL.jpeg",
                "type": "OTHER"
            },
            {
                "id": 88485596,
                "url": "https://images.example.com/1200x800/etuovimedia/images/property/import/484/2751484/0e76b9541118d347871c0e0e51d244c4/f03d5d0dda8c3ddf1ed3a4c776c73482/ORIGINAL.jpeg",
                "type": "OTHER"
            }
        ],
        "office": {
            "id": 3421,
            "city": "Helsinki",
            "logo": null,
            "name": "Maininki LKV",
            "street": "Vesimyllyntie 4a",
            "postal_code": "00920"
        },
        "status": "PUBLISHED",
        "address": {
            "region": "Uusimaa",
            "street": "Kolmas Linja 31 B",
            "country": "Suomi",
            "district": "Kallio",
            "apartment": "B",
            "post_area": "HELSINKI",
            "postal_code": "00530",
            "house_number": "31",
            "municipality": "Helsinki"
        },
        "heating": {
            "systems": [
                "DISTRICT_HEATING"
            ],
            "description": "Kaukol\u00e4mp\u00f6"
        },
        "bedrooms": null,
        "features": [],
        "condition": "GOOD",
        "fees_note": null,
        "total_area": 46,
        "updated_at": "2026-10-25T15:00:36+00:00",
        "year_built": 1938,
        "description": "Kolmas Linja 31:ss\u00e4 on nyt myynniss\u00e4 valoisa, siisti kaksio Kallion syd\u00e4mess\u00e4. T\u00e4m\u00e4 asunto on ihanteellinen valinta, jos arvostat keskeist\u00e4 sijaintia kantakaupungissa, muuttovalmis...",
        "floor_count": 6,
        "floor_plans": [
            "https://images.example.com/1200x800/etuovimedia/images/property/import/484/2751484/0e76b9541118d347871c0e0e51d244c4/8eee63967a574cafa16a016c1092e8ca/ORIGINAL.jpeg"
        ],
        "friendly_id": "80541041",
        "availability": "Heti",
        "listing_type": "sale",
        "new_building": false,
        "open_bidding": false,
        "published_at": "2026-10-25T15:00:36+00:00",
        "price_per_sqm": 5260.87,
        "property_type": "RESIDENTIAL",
        "location_codes": {
            "region": "FI_UUSIMAA",
            "district": "FI_UUSIMAA_HELSINKI_KALLIO",
            "post_code": "FI_UUSIMAA_HELSINKI_00530_HELSINKI",
            "municipality": "FI_UUSIMAA_HELSINKI"
        },
        "ownership_type": "OWN",
        "debt_free_price": 242000,
        "housing_company": {
            "name": "Asunto Oy Aurinkola",
            "manager": "Manager Oy, Test Person, 000...",
            "features": [
                "ATTIC_CABIN",
                "ELEVATOR",
                "LAUNDERETTE",
                "DRYING_ROOM",
                "CELLAR_CABIN",
                "SPORTS_EQUIPMENT_STORAGE",
                "SAUNA"
            ],
            "plot_area": 862,
            "maintainer": "Huoltoyhti\u00f6",
            "other_info": "Muuta: Taloyhti\u00f6n kiinnitykset: 276\u00a0000\u00a0\u20ac....",
            "floor_count": 6,
            "renovations_done": "2025 Kylpyhuoneiden kuntoarvio\n2014 L\u00e4mm\u00f6nvaihtime...",
            "plot_holding_type": "OWN",
            "energy_certificate": "E18_E",
            "renovations_planned": "2026 Huoneistojen m\u00e4rk\u00e4tilat (500 000 \u20ac), palovaro...",
            "energy_certificate_note": "Energialuokka: E2018, Energiatodistuksen voimassaoloaika: 30.01.2036"
        },
        "property_subtype": "APARTMENT_HOUSE",
        "room_descriptions": {
            "bedroom": "Sein\u00e4materiaalit: maalattu",
            "living_room": "Sein\u00e4materiaalit: maalattu"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "listing"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required parameter or a value is invalid. This response is not billable. |
| 404 | Not Found | No listing has this id for this listing type. This response is not billable. |
| 503 | Upstream Unavailable | Etuovi could not be reached or returned data that does not match the request. This response is not billable and is retryable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
