# Hybel Listing Details API Documentation

Scrappa's `GET /api/hybel/listing` returns the full record of one Hybel.no rental home.

## What you get

`rent`, `deposit` and `currency` as numbers, `included` costs such as heating and internet, `accepted_security`, `area_m2`, `rooms`, `bedrooms` when Hybel shows them, `floor`, `rent_period`, `available_from` as an ISO date, `facilities`, `headline`, `description`, `viewing_info`, the address split into `street`, `postcode` and `city`, `last_modified` and SEO fields. `images` holds the whole photo gallery in order, each with its `caption`.

## Coordinates

Hybel's listing page has no coordinates. They are joined by id from Hybel's map data of the listing's city. If that data is not available, `latitude` and `longitude` are null and the rest of the record is still returned.

## Not available

Hybel keeps landlord and agency details behind a login, so there is no landlord block and no landlord endpoint.

## Unknown ids

An id that no longer exists returns `404` (`not_found`) and is never billed. Listings expire, so treat ids from old searches with care.

- **Documentation:** [https://scrappa.co/docs/hybel-api/hybel_listing](https://scrappa.co/docs/hybel-api/hybel_listing)
- **API group:** Hybel API
- **Endpoint:** `GET https://scrappa.co/api/hybel/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 | Numeric listing id from the search endpoint. |

## Example request

```bash
#!/bin/bash

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

## Example response

```json
{
    "success": true,
    "listing": {
        "id": 372360,
        "url": "https://hybel.no/bolig/372360/rom-i-bofellesskap-colletts-gate-5-oslo/",
        "title": "Rom i bofellesskap",
        "type": "Rom i bofellesskap",
        "home_type": "shared_room",
        "area_m2": 12,
        "rooms": 1,
        "rooms_label": "1 ledig rom",
        "bedrooms": null,
        "floor": "1. etasje",
        "rent_period": "Langtidsleie",
        "available_from": "2026-11-01",
        "rent": 11300,
        "deposit": 33900,
        "currency": "NOK",
        "included": [
            "Varmtvann",
            "Internett",
            "Kabel-/Digital-TV"
        ],
        "accepted_security": [
            "Depositumskonto"
        ],
        "facilities": [
            "Bredb\u00e5ndstilknytning",
            "Fellesvaskeri",
            "M\u00f8blert"
        ],
        "headline": "Ledig rom for jente p\u00e5 Bislett/St. Hanshaugen.",
        "description": "Ledig rom i m\u00f8blert og hyggelig jentekollektiv.",
        "viewing_info": "Visning kun ved avtale.",
        "address": {
            "street": "Colletts Gate 5",
            "postcode": "0169",
            "city": "Oslo",
            "full": "Colletts Gate 5, 0169 Oslo",
            "latitude": 59.924421,
            "longitude": 10.735202
        },
        "has_video": true,
        "last_modified": "2026-10-25T21:22:00+01:00",
        "images": [
            {
                "url": "https://cdn.example.com/ad_pictures/photo.jpg",
                "caption": "Velkommen til Colletts gate 5!"
            }
        ],
        "image_count": 1
    },
    "meta": {
        "endpoint_family": "listing",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | No listing exists with that id on Hybel (`not_found`), for example because it was taken down. Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable (`invalid_filter`). Unknown parameters and unknown list values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Hybel could not be reached, refused the request, answered with a page this API could not read, or its place list is not available (`upstream_unavailable`, `upstream_blocked`, `parser_drift`, `place_catalog_unavailable`). 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)
