# Vuokraovi Listing Details API Documentation

Scrappa's `GET /api/vuokraovi/listing` returns the full record of one Vuokraovi rental home by its `id` (the `friendly_id` from search).

## What you get

`description`, `status`, dates, `rent`, `deposit`, `charge_period`, `periodic_charges`, `area`, `rooms`, `room_structure`, `year_built`, `heating`, `parking`, `living_form`, `pets_allowed`, `smoking_allowed`, agreement type and dates, `housing_company`, the address with coordinates and `geo_accuracy`, all `images` and `floor_plans` as URLs, `showings`, `links` and a `contact` block with the agent name, title, phone, picture and office.

## Notes

Images are resolved to one fixed size. A field Vuokraovi does not state is left out. The description can be in Finnish and English. An unknown id returns `404`, which is never billed.

- **Documentation:** [https://scrappa.co/docs/vuokraovi-api/vuokraovi_listing](https://scrappa.co/docs/vuokraovi-api/vuokraovi_listing)
- **API group:** Vuokraovi API
- **Endpoint:** `GET https://scrappa.co/api/vuokraovi/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, for example hh4763. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/vuokraovi/listing?id=hh4763"
```

## Example response

```json
{
    "success": true,
    "listing": {
        "id": 2751570,
        "friendly_id": "hh4763",
        "url": "https://www.vuokraovi.com/kohde/hh4763",
        "status": "PUBLISHED",
        "description": "Historiallista arvokkuutta ja ajatonta tunnelmaa T\u00f6\u00f6l\u00f6n syd\u00e4mess\u00e4!",
        "rent": 1950,
        "currency": "EUR",
        "charge_period": "MONTH",
        "deposit": "1 950 \u20ac",
        "agreement_type": "FIXED_TERM",
        "agreement_end_date": "2027-11-30",
        "pets_allowed": "NOT_ALLOWED",
        "smoking_allowed": "NOT_ALLOWED",
        "availability": {
            "type": "VACANCY",
            "date": "2026-12-01"
        },
        "area": 71.2,
        "rooms": 3,
        "room_structure": "3h, k, kph, wc, parveke",
        "year_built": 1912,
        "heating": "Kaukol\u00e4mp\u00f6",
        "living_form": "NON_SUBSIDIZED",
        "address": "Runeberginkatu 69 G",
        "postal_code": "00260",
        "district": "T\u00f6\u00f6l\u00f6",
        "city": "Helsinki",
        "latitude": 60.18124,
        "longitude": 24.92659,
        "geo_accuracy": "ADDRESS",
        "images": [
            {
                "id": 88487607,
                "url": "https://d3ls91xgksobn.cloudfront.net/1280x854,fit,q80,f=webp/etuovimedia/images/rental/import/570/2751570/0e76b9541118d347871c0e0e51d244c4/2c6153de77b1ae8981ee96a6e1781baa/ORIGINAL.jpeg",
                "type": "MAIN",
                "title": "Yleiskuva"
            }
        ],
        "contact": {
            "name": "Tomi Sarlin",
            "title": "Toimitusjohtaja, Kiinteist\u00f6nv\u00e4litt\u00e4j\u00e4, LKV",
            "phone": "050 365 9200",
            "is_private_lessor": false,
            "office": {
                "id": 257,
                "name": "Ylinkerros Oy",
                "city": "Helsinki"
            }
        }
    },
    "meta": {
        "endpoint_family": "listing",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | Nothing exists with that identifier on Vuokraovi (`not_found`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters and unknown values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Vuokraovi could not be reached after retries, answered with an error or changed its format (`upstream_unavailable`, `upstream_blocked`, `parser_drift`). Retryable and never billed. Clients are never rate limited. |

## 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)
