# Boligsiden Search API Documentation

<p><strong>Boligsiden Search API Documentation</strong> Search Danish homes for sale or for rent on Boligsiden with location, price, rooms, area, floor, type and feature filters, sorting and pagination. Each result has the id, public Boligsiden address page url, realtor listing url, full address (road, number, floor, door, zip code, city, municipality, province, address id), coordinates, address type, price or monthly rent in DKK, price per square metre, price change percent, area, lot area, rooms, bathrooms, toilets, floors, build year, energy label, balcony, terrace and elevator flags, days listed, next open house, description, financing estimate, all photos, floor plans, building details, sales history, valuation and the selling agency with ratings. For rent the rows also carry the rental block (available from, pets, prepaid rent, utilities, landlord). Filters are honoured: no returned row breaks a requested filter, and page n always holds the rows of page n. The upstream has no bedrooms or bathrooms filter, so none is offered. Rows still return rooms, bathrooms and toilets.</p>

- **Documentation:** [https://scrappa.co/docs/boligsiden-api/boligsiden_search](https://scrappa.co/docs/boligsiden-api/boligsiden_search)
- **API group:** Boligsiden API
- **Endpoint:** `GET https://scrappa.co/api/boligsiden/search`

## 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 |
| --- | --- | --- | --- |
| `listing_type` | string | No | sale (default) or rent. Filters that exist for only one type are rejected for the other with a 422 error. |
| `zip_codes` | string | No | One or more 4-digit Danish zip codes separated by commas. Example: 2100,2200. |
| `cities` | string | No | One or more city names exactly as shown by the locations endpoint (display name such as Aarhus C, not the slug). Separate with commas or send cities[]=A&cities[]=B. |
| `municipalities` | string | No | One or more municipality slugs such as aarhus or koebenhavn. Use the reference endpoint with type=municipalities. |
| `provinces` | string | No | One or more province slugs such as nordjylland. Use the reference endpoint with type=provinces. |
| `address_types` | string | No | Comma separated list (rows of other types are removed from the page and counted in meta.excluded_by_type_filter): villa, terraced house, condo, holiday house, allotment, cooperative, farm, full year plot, holiday plot, villa apartment, cattle farm, pig farm, plant farm, forest, hobby farm, special, houseboat, garage, parking, business, double house, multiple family house, room. |
| `price_min` | integer | No | Sale only. Minimum asking price in DKK. |
| `price_max` | integer | No | Sale only. Maximum asking price in DKK. |
| `rent_min` | integer | No | Rent only. Minimum monthly rent in DKK. |
| `rent_max` | integer | No | Rent only. Maximum monthly rent in DKK. |
| `deposit_min` | integer | No | Rent only. Minimum deposit in DKK. |
| `deposit_max` | integer | No | Rent only. Maximum deposit in DKK. |
| `pets_allowed` | boolean | No | Rent only. Set true to return only homes that allow pets. |
| `rooms_min` | integer | No | Minimum number of rooms. |
| `rooms_max` | integer | No | Maximum number of rooms. |
| `area_min` | integer | No | Minimum living area in square metres. |
| `area_max` | integer | No | Maximum living area in square metres. |
| `lot_area_min` | integer | No | Sale only. Minimum lot area in square metres. |
| `lot_area_max` | integer | No | Sale only. Maximum lot area in square metres. |
| `floor_min` | integer | No | Minimum floor number. |
| `floor_max` | integer | No | Maximum floor number. |
| `energy_labels` | string | No | Sale only. Comma separated: A, A1, A2, A2010, A2015, A2020, B, C, D, E, F, G. Example: A,B. |
| `balcony` | boolean | No | Set true to return only homes with a balcony. |
| `terrace` | boolean | No | Set true to return only homes with a terrace. |
| `elevator` | boolean | No | Set true to return only homes with an elevator. |
| `price_drop` | boolean | No | Sale only. Set true to return only homes whose price was reduced. |
| `year_built_from` | integer | No | Sale only. Earliest build year. |
| `year_built_to` | integer | No | Sale only. Latest build year. |
| `free_text` | string | No | Sale only. Words searched in the listing description, for example altan. |
| `monthly_expense_min` | integer | No | Sale only. Minimum monthly running cost in DKK. |
| `monthly_expense_max` | integer | No | Sale only. Maximum monthly running cost in DKK. |
| `realtor_id` | string | No | Only listings of this agency (UUID from the agency fields of a result). |
| `sort_by` | string | No | Sale: price, living_area, lot_area, price_per_area, time_on_market, days_listed, price_change, rooms, monthly_expense, address, zip_code, last_price_drop. Rent: created_at, rent, deposit, living_area, rooms, duration_months, address, zip_code. |
| `sort_ascending` | boolean | No | true for ascending, false for descending. Used with sort_by. Defaults to true. |
| `page` | integer | No | Page number, starting at 1. Page times page size must not exceed 10000. Defaults to 1. |
| `per_page` | integer | No | Rows per page, 1 to 100. Defaults to 20. |

## Example response

```json
{
    "data": {
        "meta": {
            "page": 1,
            "has_more": true,
            "per_page": 20,
            "total_hits": 308,
            "total_pages": 16
        },
        "results": [
            {
                "id": "66f18380-decf-42aa-9378-40ca6f6c64d4",
                "url": "https://www.boligsiden.dk/adresse/aarhusgade-84-2-th-2100-koebenhavn-oe",
                "area": 88,
                "slug": "aarhusgade-84-2-th-2100-koebenhavn-oe-01018696__84__2__th",
                "price": 8295000,
                "rooms": 4,
                "floors": 1,
                "images": [
                    {
                        "alt": "Et moderne k\u00f8kken med hvide skabe og st\u00e5lbordplader rummer vask, komfur og vaskemaskine. En sort skammel st\u00e5r ved bordpladen. Store vinduer giver naturligt lys.",
                        "url": "https://images.boligsiden.dk/images/case/66f18380-decf-42aa-9378-40ca6f6c64d4/1440x960/89bc43f5-0a54-4774-be8a-1ae21ecfbc34.webp?h=d89015775c147a51a6c46780b2f109a835158b43669aa35fabe641d3072bb0b5",
                        "width": 1440,
                        "height": 960
                    },
                    {
                        "alt": "Balkon med blomster i potter p\u00e5 gulvet, bord og \u00e5bne d\u00f8re. Omgivet af murstensbygninger.",
                        "url": "https://images.boligsiden.dk/images/case/66f18380-decf-42aa-9378-40ca6f6c64d4/1440x960/f49c3dfc-5109-483e-a192-3be128d66ac0.webp?h=1fb0b5bf401ecf034f82d60895368b0892907256d711a60cd796b491f6fda925",
                        "width": 1440,
                        "height": 960
                    }
                ],
                "status": "open",
                "address": {
                    "city": "K\u00f8benhavn \u00d8",
                    "door": "th",
                    "road": "\u00c5rhusgade",
                    "slug": "aarhusgade-84-2-th-2100-koebenhavn-oe-01018696__84__2__th",
                    "floor": "2",
                    "province": "Byen K\u00f8benhavn",
                    "zip_code": 2100,
                    "buildings": [
                        {
                            "name": "Etagebolig-bygning, flerfamiliehus eller tofamiliehus",
                            "rooms": 4,
                            "floors": 5,
                            "toilet": "Vandskyllende toilet i enheden",
                            "heating": "Fjernvarme/blokvarme",
                            "kitchen": "Eget k\u00f8kken med afl\u00f8b",
                            "toilets": 1,
                            "bathroom": "Badev\u00e6relse i enheden",
                            "bathrooms": 1,
                            "total_area": 282,
                            "year_built": 1887,
                            "living_area": 88,
                            "basement_area": 282,
                            "building_number": "1",
                            "roofing_material": "Fibercement herunder asbest",
                            "supplementary_heating": "(UDFASES) Bygningen har ingen supplerende varme",
                            "external_wall_material": "Mursten"
                        }
                    ],
                    "city_slug": "koebenhavn-oe",
                    "address_id": "0a3f50a1-feeb-32b8-e044-0003ba298018",
                    "bfe_numbers": [
                        140502
                    ],
                    "living_area": 88,
                    "house_number": "84",
                    "municipality": "K\u00f8benhavn",
                    "province_slug": "byen-koebenhavn",
                    "sales_history": [
                        {
                            "area": 88,
                            "date": "2017-09-21",
                            "type": "family",
                            "amount": 1657500
                        },
                        {
                            "date": "2009-09-03",
                            "type": "normal",
                            "amount": 2150000
                        }
                    ],
                    "latest_valuation": 1950000,
                    "municipality_code": 101,
                    "municipality_slug": "koebenhavn"
                },
                "realtor": {
                    "id": "40a5602f-7d06-4f58-9f82-c1ab96a3cb28",
                    "cvr": "40676988",
                    "name": "danbolig \u00d8sterbro & Nordhavn",
                    "slug": "danbolig-oesterbro---nordhavn-ndr.-frihavnsgade-86-2100-koebenhavn-oe-40a5602f7d064f589f82c1ab96a3cb28",
                    "email": "oesterbro@danbolig.dk",
                    "phone": "70272100",
                    "rating": {
                        "buyer": {
                            "score": 8.92,
                            "responses": 12
                        },
                        "seller": {
                            "score": 9.49,
                            "responses": 35
                        }
                    },
                    "address": {
                        "city": "K\u00f8benhavn \u00d8",
                        "road": "Ndr. Frihavnsgade",
                        "floor": "st",
                        "zip_code": 2100,
                        "house_number": "86"
                    },
                    "image_url": "https://images.boligsiden.dk/images/realtor_image/40a5602f-7d06-4f58-9f82-c1ab96a3cb28/1440x960/c0444a68-a284-43d3-ad55-57ed8675e891.webp?h=005721f22075a7b5ca29961537bf187913f2ed8c6272f98c5b10e9a84e4da693",
                    "branch_name": "danbolig",
                    "active_listings": {
                        "for_rent": 0,
                        "for_sale": 56,
                        "cooperative": 0
                    }
                },
                "toilets": 1,
                "latitude": 55.70643,
                "lot_area": 392,
                "bathrooms": 1,
                "financing": {
                    "down_payment": 415000,
                    "net_monthly_mortgage": 38012,
                    "gross_monthly_mortgage": 46578
                },
                "longitude": 12.584268,
                "open_house": {
                    "starts_at": "2026-10-28T09:00:00Z",
                    "sign_up_url": "https://www.danbolig.dk?propertyid=3160002367&brokerid=316",
                    "duration_minutes": 420,
                    "sign_up_required": true
                },
                "year_built": 1887,
                "days_listed": 129,
                "description": "P\u00e5 en af Indre \u00d8sterbros mest eftertragtede adresser udbydes denne indbydende 3-v\u00e6relses lejlighed, hvor klassiske detaljer g\u00e5r h\u00e5nd i h\u00e5nd med en funktionel pl...",
                "has_balcony": true,
                "has_terrace": false,
                "address_type": "condo",
                "energy_label": "D",
                "has_elevator": false,
                "listing_type": "sale",
                "days_on_market": 129,
                "price_per_area": 94261,
                "monthly_expense": 5470,
                "description_title": "Klassisk \u00d8sterbro-charme med altan og attraktiv beliggenhed ved Bopa Plads",
                "realtor_listing_url": "https://www.danbolig.dk?propertyid=3160002367&brokerid=316",
                "price_change_percent": -4.6
            }
        ]
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search_cases"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A query parameter is missing or invalid. No upstream request is made. This response is not billable. |
| 503 | Service Unavailable | Boligsiden could not be reached, blocked or rate limited every attempt, or answered with a shape that no longer matches the documented contract. Retry shortly. This response is not billable. |

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