# BoligPortal Listings by ID API Documentation

Scrappa's `GET /api/boligportal/listings` returns the core fields of up to 20 BoligPortal rentals in one request. It is the cheap way to refresh rent, state and availability.

## What you get

The same fields as search. The `description` and the landlord facts are not included; use `listing` for those.

## Unknown ids

Ids that BoligPortal does not know are listed in `missing_ids`. When none of the ids is known the request returns `404` and is not billed.

- **Documentation:** [https://scrappa.co/docs/boligportal-api/boligportal_listings](https://scrappa.co/docs/boligportal-api/boligportal_listings)
- **API group:** BoligPortal API
- **Endpoint:** `GET https://scrappa.co/api/boligportal/listings`

## 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 |
| --- | --- | --- | --- |
| `ids` | string | Yes | Comma-separated ad ids from search, 1-20. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/boligportal/listings?ids=5450948%2C5450949"
```

## Example response

```json
{
    "success": true,
    "returned": 1,
    "listings": [
        {
            "id": 5450948,
            "url": "https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/53m2-2-vaer-id-5450948",
            "title": "Perfekt delevenlig 2 v\u00e6relses Valby lejlighed",
            "category": "rental_apartment",
            "state": "ACTIVE_APPROVED",
            "city": "K\u00f8benhavn",
            "city_area": "Valby",
            "city_level_1": "k\u00f8benhavn",
            "city_level_2": "valby",
            "city_level_3": null,
            "postal_code": "2500",
            "street_name": "Gammel K\u00f8ge Landevej",
            "street_number": "178",
            "floor": 2,
            "rooms": 2,
            "size_m2": 53,
            "monthly_rent": 10000,
            "currency": "DKK",
            "monthly_rent_extra_costs": 500,
            "deposit": 30000,
            "prepaid_rent": 0,
            "rental_period": 0,
            "available_from": null,
            "advertised_date": "2026-10-24T14:53:16.021199+00:00",
            "created": "2024-08-11T16:12:32.761437+00:00",
            "energy_rating": "D",
            "energy_label_valid_to": "2030-11-21",
            "features": {
                "pet_friendly": true,
                "furnished": false,
                "balcony": true,
                "parking": true,
                "elevator": false,
                "shareable": true,
                "student_only": false,
                "senior_friendly": false,
                "electric_charging_station": null,
                "dishwasher": true,
                "washing_machine": null,
                "dryer": null,
                "social_housing": false,
                "newbuild": false
            },
            "images": [
                {
                    "url": "https://image-lambda.boligportal.dk/8a0bcaa57234198fed3464214dad171a",
                    "is_floor_plan": false
                }
            ],
            "location": {
                "lat": 55.645,
                "lng": 12.503
            },
            "is_newbuild": false,
            "social_housing": false,
            "has_video": false,
            "digital_showing": false,
            "open_house": null,
            "is_promoted": false,
            "has_owner": true
        }
    ],
    "missing_ids": [
        5450949
    ],
    "meta": {
        "endpoint_family": "listings",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | BoligPortal has nothing for this request (`not_found`): an ad that is gone, a list of ids where none exists, or a postal code without a town. Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters are rejected, never ignored. Sale, bathroom and agency filters do not exist. Non-billable. |
| 503 | Upstream Unavailable | BoligPortal could not be reached after retries, blocked the request, returned another page than asked for, or returned a page this API could not read (`upstream_unavailable`, `upstream_blocked`, `offset_mismatch`, `parser_drift`, `transport_unavailable`, `no_exit_available`). 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)
