Boliga Sold Prices API Documentation Retrieve completed home sales in Denmark from Boliga, newest first by default: for each sale the listing id, public Boliga url, address, zip code, city, municipality, coordinates, property type code, sale type, final sold price in DKK, price per square metre, sold date (ISO 8601, UTC), change in percent compared with the last asking price (omitted when unknown), rooms, size and build year. Search a street, optionally narrowed by a zip code range, to read the sale history of an address. At least a street, a zip range or a municipality is required. A valid search with no sales is a successful response with an empty results list.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
10 optional filters available.
string
Optional
Street name or address to search, e.g. Kaj Munks Vej. Example: Kaj Munks Vej.
example
integer
Optional
Lowest 4-digit zip code. If only one of zip_from and zip_to is sent, both use that value. Example: 8600.
10
integer
Optional
Highest 4-digit zip code. Example: 8600.
10
integer
Optional
Danish municipality code, e.g. 740 for Silkeborg.
10
integer
Optional
Boliga property type code: 1 villa, 2 townhouse, 3 apartment, 4 holiday home, 5 co-operative home.
10
integer
Optional
Earliest year of sale, e.g. 2020.
10
integer
Optional
Latest year of sale, e.g. 2025.
10
integer
Optional
Page number, starting at 1. Defaults to 1.
1
integer
Optional
Sales per page, 1 to 100. Defaults to 50.
10
string
Optional
Sort order: date-d (newest first, default), price-a, price-d or sqmPrice-d (price per square metre, descending).
relevance
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"meta": {
"page": 1,
"has_more": true,
"page_size": 3,
"total_count": 22,
"total_pages": 8
},
"results": [
{
"url": "https://www.boliga.dk/bolig/2299755/kaj-munks-vej-18-8600-silkeborg",
"city": "Silkeborg",
"size": 164,
"price": 7300000,
"rooms": 7,
"address": "Kaj Munks Vej 18",
"latitude": 56.18282,
"zip_code": 8600,
"estate_id": 2299755,
"longitude": 9.525477,
"sale_type": "Alm. Salg",
"sold_date": "2026-10-14T22:00:00Z",
"build_year": 1967,
"municipality": 740,
"price_per_sqm": 44512.195,
"property_type": 1,
"change_percent": -8.69
},
{
"city": "Silkeborg",
"size": 158,
"price": 7300000,
"rooms": 5,
"address": "Kaj Munks Vej 24",
"latitude": 56.183178,
"zip_code": 8600,
"longitude": 9.525969,
"sale_type": "Alm. Salg",
"sold_date": "2025-03-30T22:00:00Z",
"build_year": 1970,
"municipality": 740,
"price_per_sqm": 46202.53,
"property_type": 1
}
]
},
"meta": {
"billable": true,
"endpoint_family": "sold_search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A query parameter is missing or invalid. No upstream request is made. This response is not billable.
{
"errors": {
"page_size": [
"The page size must be 100 or fewer."
]
},
"message": "The request validation failed"
}Service Unavailable
The upstream service is temporarily unavailable. Please retry shortly.
{
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "The Boliga API is temporarily unavailable. Please retry."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.