APIs / Real estate / BoligPortal

1 credit per call7 endpoints34 datapoints

BoligPortal API

BoligPortal API for Danish rentals: search, result counts, map pins, rent histograms and listing details by ID as JSON. 1 credit per successful call.

BoligPortal
GET/v1/boligportal/search?location=K%C3%B8benhavn&type=apartment&min_rooms=2&max_rooms=2&max_rent=12000&pet_friendly=true&order=RENT_ASC
{
  "success": true,
  "result_count": 56,
  "returned": 15,
  "pagination": {
    "page": 1,
    "per_page": 18,
    "pages_count": 4,
    "has_next": true,
    "next_page": 2
  },
  "applied_filters": {
    "location": "københavn",
    "type": [
      "apartment"
    ],
    "min_rooms": 2,
    "max_rooms": 2,
    "max_rent": 12000,
    "pet_friendly": true,
    "order": "RENT_ASC"
  },
  "listings": [
    {
      "id": 5590915,
      "url": "https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/54m2-2-vaer-id-5590915",
      "title": "Central lejlighed i Herlev",
      "category": "rental_apartment",
      "state": "ACTIVE_APPROVED",
      "city": "København",
      "city_area": "Herlev",
      "city_level_1": "københavn",
      "city_level_2": "herlev",
      "postal_code": "2730",
      "street_name": "Toggangen",
      "street_number": "5",
      "floor": 2,
      "rooms": 2,
      "size_m2": 54,
      "monthly_rent": 9990,
      "currency": "DKK",
      "monthly_rent_extra_costs": 410,
      "deposit": 19580,
      "prepaid_rent": 9790,
      "rental_period": 24,
      "available_from": "2027-01-01",
      "advertised_date": "2026-10-21T16:26:15.867603+00:00",
      "created": "2026-01-23T18:10:06.023712+00:00",
      "energy_rating": "D",
      "features": {
        "pet_friendly": true,
        "furnished": false,
        "balcony": true,
        "parking": false,
        "elevator": false,
        "shareable": false,
        "student_only": false,
        "senior_friendly": false,
        "washing_machine": true,
        "social_housing": false,
        "newbuild": false
      },
      "images": [
        {
          "url": "https://image-lambda.boligportal.dk/538f2c239553eb1502e03eedf0e03096",
          "is_floor_plan": false
        },
        {
          "url": "https://image-lambda.boligportal.dk/9549ef85195e27694fe72785176d3f40",
          "is_floor_plan": false
        },
        {
          "url": "https://image-lambda.boligportal.dk/c131acad6a53c3df5fa0c38742ba0462",
          "is_floor_plan": false
        }
      ],
      "location": {
        "lat": 55.722,
        "lng": 12.443
      },
      "is_newbuild": false,
      "social_housing": false,
      "has_video": false,
      "digital_showing": true,
      "is_promoted": false,
      "has_owner": true
    },
    {
      "id": 5688556,
      "url": "https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/44m2-2-vaer-id-5688556",
      "title": "Velkommen til Rødovre Port – nybyggeri med moderne komfort og perfekt beliggenhed.",
      "category": "rental_apartment",
      "state": "ACTIVE_APPROVED",
      "city": "København",
      "city_area": "Rødovre",
      "city_level_1": "københavn",
      "city_level_2": "rødovre",
      "postal_code": "2610",
      "street_name": "Rødovre Port",
      "street_number": "21",
      "floor": 6,
      "rooms": 2,
      "size_m2": 44,
      "monthly_rent": 10550,
      "currency": "DKK",
      "monthly_rent_extra_costs": 500,
      "deposit": 31650,
      "prepaid_rent": 10550,
      "rental_period": 0,
      "available_from": "2027-01-01",
      "advertised_date": "2026-11-11T12:57:40.285649+00:00",
      "created": "2026-11-11T12:57:39.799532+00:00",
      "features": {
        "pet_friendly": true,
        "furnished": false,
        "balcony": false,
        "parking": true,
        "elevator": true,
        "shareable": false,
        "student_only": false,
        "senior_friendly": true,
        "electric_charging_station": true,
        "dishwasher": false,
        "washing_machine": false,
        "dryer": false,
        "social_housing": false,
        "newbuild": false
      },
      "images": [
        {
          "url": "https://image-lambda.boligportal.dk/bcb9d3e658a0364989c49d25bab0f540",
          "is_floor_plan": false
        },
        {
          "url": "https://image-lambda.boligportal.dk/798038b1748d7a06c92f54407d745903",
          "is_floor_plan": false
        },
        {
          "url": "https://image-lambda.boligportal.dk/853845e7daf0d8f4001120f3cc7d3c3a",
          "is_floor_plan": false
        }
      ],
      "location": {
        "lat": 55.665,
        "lng": 12.456
      },
      "is_newbuild": false,
      "social_housing": false,
      "has_video": false,
      "digital_showing": false,
      "is_promoted": false,
      "has_owner": true
    },
    {
      "id": 5455118,
      "url": "https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/75m2-2-vaer-id-5455118",
      "title": "Lys og moderne 2-værelses i Ballerup 2750",
      "category": "rental_apartment",
      "state": "ACTIVE_APPROVED",
      "city": "København",
      "city_area": "Ballerup",
      "city_level_1": "københavn",
      "city_level_2": "ballerup",
      "postal_code": "2750",
      "street_name": "Lautruphøj",
      "street_number": "3E",
      "rooms": 2,
      "size_m2": 75,
      "monthly_rent": 10875,
      "currency": "DKK",
      "monthly_rent_extra_costs": 900,
      "deposit": 32625,
      "prepaid_rent": 32625,
      "rental_period": 0,
      "available_from": "2027-03-15",
      "advertised_date": "2026-11-09T10:42:47.008529+00:00",
      "created": "2024-09-05T11:42:44.191641+00:00",
      "energy_rating": "A2020",
      "features": {
        "pet_friendly": true,
        "furnished": false,
        "balcony": true,
        "parking": true,
        "elevator": true,
        "shareable": true,
        "student_only": false,
        "senior_friendly": false,
        "electric_charging_station": false,
        "dishwasher": true,
        "washing_machine": true,
        "dryer": true,
        "social_housing": false,
        "newbuild": false
      },
      "images": [
        {
          "url": "https://image-lambda.boligportal.dk/9298b369184b2b491bae6cbb4bf6851f",
          "is_floor_plan": false
        },
        {
          "url": "https://image-lambda.boligportal.dk/a011829fdb080f7da2063f3e6dddc311",
          "is_floor_plan": false
        },
        {
          "url": "https://image-lambda.boligportal.dk/409cf2b4105d124cd65156a4ff7f6a28",
          "is_floor_plan": false
        }
      ],
      "location": {
        "lat": 55.734,
        "lng": 12.388
      },
      "is_newbuild": false,
      "social_housing": false,
      "has_video": false,
      "digital_showing": false,
      "is_promoted": false,
      "has_owner": true
    }
  ],
  "anchor_links": [
    {
      "name": "Brøndby",
      "count": 12
    },
    {
      "name": "Glostrup",
      "count": 10
    },
    {
      "name": "Taastrup",
      "count": 10
    }
  ],
  "meta": {
    "endpoint_family": "search",
    "currency": "DKK",
    "filtered_out_count": 3,
    "sorted_within_page": true,
    "request_id": "req_6ab0311023714c799b3237442cdb5509",
    "credits_charged": 1,
    "credits_remaining": 1888
  }
}
200 OKJSONX-Credits-Used: 1
Recorded from our API and shortened.

Sample data

What one call returns

A recorded run of search: the fields and shapes you will get, shortened to 3 items.

#idintegerurlurltitlestringcategorystringstatestringcitystringcity_areastringcity_level_1stringcity_level_2stringpostal_codestringstreet_namestringstreet_numberstringfloornumberroomsintegersize_m2integermonthly_rentintegercurrencystringmonthly_rent_extra_costsintegerdepositintegerprepaid_rentintegerrental_periodintegeravailable_fromstringadvertised_datestringcreatedstringenergy_ratingstringfeaturesobjectimagesobject[]locationobjectis_newbuildbooleansocial_housingbooleanhas_videobooleandigital_showingbooleanis_promotedbooleanhas_ownerboolean
15590915https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/54m2-2-vaer-id-5590915Central lejlighed i Herlevrental_apartmentACTIVE_APPROVEDKøbenhavnHerlevkøbenhavnherlev2730Toggangen522549990DKK410195809790242027-01-012026-10-21T16:26:15.867603+00:002026-01-23T18:10:06.023712+00:00D{11 fields}[3 items]{2 fields}falsefalsefalsetruefalsetrue
25688556https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/44m2-2-vaer-id-5688556Velkommen til Rødovre Port – nybyggeri med moderne komfort og perfekt beliggenhed.rental_apartmentACTIVE_APPROVEDKøbenhavnRødovrekøbenhavnrødovre2610Rødovre Port21624410550DKK500316501055002027-01-012026-11-11T12:57:40.285649+00:002026-11-11T12:57:39.799532+00:00—{14 fields}[3 items]{2 fields}falsefalsefalsefalsefalsetrue
35455118https://www.boligportal.dk/lejligheder/k%C3%B8benhavn/75m2-2-vaer-id-5455118Lys og moderne 2-værelses i Ballerup 2750rental_apartmentACTIVE_APPROVEDKøbenhavnBallerupkøbenhavnballerup2750Lautruphøj3E—27510875DKK900326253262502027-03-152026-11-09T10:42:47.008529+00:002024-09-05T11:42:44.191641+00:00A2020{14 fields}[3 items]{2 fields}falsefalsefalsefalsefalsetrue

Recorded from our API · 3 items shown · 34 datapoints per itemGET /v1/boligportal/search?location=K%C3%B8benhavn&type=apartment&min_rooms=2&max_rooms=2&max_rent=12000&pet_friendly=true&order=RENT_ASC

34 datapoints

Identity

  • idinteger
  • titlestring
  • categorystring

Contact

  • urlurl
  • has_ownerboolean

Location

  • statestring
  • citystring
  • city_areastring
  • city_level_1string
  • city_level_2string
  • postal_codestring
  • street_namestring
  • street_numberstring
  • locationobject

Reputation

  • energy_ratingstring
  • imagesobject[]

Price

  • currencystring
  • monthly_rent_extra_costsinteger

Other

  • floornumber
  • roomsinteger
  • size_m2integer
  • monthly_rentinteger
  • depositinteger
  • prepaid_rentinteger
  • rental_periodinteger
  • available_fromstring
  • advertised_datestring
  • createdstring
  • featuresobject
  • is_newbuildboolean
  • social_housingboolean
  • has_videoboolean
  • digital_showingboolean
  • is_promotedboolean

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/boligportal/search?location=K%C3%B8benhavn&type=apartment&min_rooms=2&max_rooms=2&max_rent=12000&pet_friendly=true&order=RENT_ASC" \
  -H "X-API-Key: $API_KEY"

BoligPortal · 7 endpoints

Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

EndpointRequired parametersCost
GET/v1/boligportal/address-autocomplete
q+1 optional
1 credit
GET/v1/boligportal/count
none+31 optional
1 credit
GET/v1/boligportal/listings
ids
1 credit
GET/v1/boligportal/map
min_latmax_latmin_lngmax_lng+27 optional
1 credit
GET/v1/boligportal/postal-code
code
1 credit
GET/v1/boligportal/price-histogram
none+29 optional
1 credit
GET/v1/boligportal/search
none+33 optional
1 credit

Overview

About the BoligPortal API

What you can get

The BoligPortal API returns BoligPortal rental data for Denmark as JSON through 7 endpoints. search, count, map and price-histogram share the same filters: location, district, area, street, type, min_rooms, max_rooms, min_size, max_size, min_rent and max_rent (except on price-histogram), min_rental_period, available_before, a min_lat, max_lat, min_lng, max_lng box, and true/false flags such as pet_friendly, furnished, balcony, parking, elevator, shareable, student_only, senior_friendly, social_housing, newbuild, dishwasher and washing_machine.

  • Search: search takes the filters, with order (DEFAULT, RENT_ASC, RENT_DESC, SIZE_M2_DESC or SIZE_M2_ASC) and page.
  • Market figures: count returns the number of matching listings; price-histogram the spread of rents; map requires the lat/lng box.
  • Listings: listings takes ids, comma-separated.
  • Addresses: address-autocomplete takes q, with container; postal-code takes a code.

The recorded search (location=København, type=apartment, min_rooms=2, max_rooms=2, max_rent=12000, pet_friendly=true, order=RENT_ASC) returns listings, each with id, url, title, city, city_area, postal_code, street_name, floor, rooms, size_m2, monthly_rent, monthly_rent_extra_costs, deposit, prepaid_rent, rental_period, available_from, energy_rating, features, images and location. It also returns result_count (56), pagination with pages_count and has_next, and anchor_links with listing counts per nearby area.

How a call works

Search pet-friendly two-room flats in Copenhagen: GET /v1/boligportal/search?location=København&type=apartment&min_rooms=2&max_rooms=2&max_rent=12000&pet_friendly=true&order=RENT_ASC with your key in the X-API-Key header. Pass the id of each listing you want to listings in one call, as ids=5450948,5450949. Run count with the same filters to size a market without paging. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track monthly rents in kroner for Copenhagen, Aarhus and other Danish cities

Use the BoligPortal API to track monthly rents in kroner for Copenhagen, Aarhus and other Danish cities

Count matching rentals for a filter set with `count`, one call per segment

Use the BoligPortal API to count matching rentals for a filter set with `count`, one call per segment

Chart the spread of rents for an area with `price-histogram`

Use the BoligPortal API to chart the spread of rents for an area with `price-histogram`

Compare deposit, prepaid rent and extra costs across listings

Use the BoligPortal API to compare deposit, prepaid rent and extra costs across listings

FAQ

Questions

Do I need a BoligPortal account?

No. You call this BoligPortal API with your Perceptlayer key in the `X-API-Key` header, with no BoligPortal login.

How much does the BoligPortal API cost?

Each successful call costs one credit, and `listings` returns several listings in one call. New accounts get free credits to start, and credit packs bring the price down as you scale.

What format are responses in?

Every endpoint returns JSON, with no HTML parsing on your side.

How do I get the number of results without paging?

Call `count` with the same filters you would pass to `search`.

Should I build a BoligPortal scraper instead?

You can, but a BoligPortal scraper is code you maintain: page changes break it, requests get blocked, and BoligPortal's terms govern how you collect data. The BoligPortal API gives you 7 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

Try the BoligPortal API with 100 free credits

No credit card. Failed calls are never billed.