Boliga.dk Scraper — Denmark Real Estate & Agent Leads
Pricing
from $1.99 / 1,000 results
Boliga.dk Scraper — Denmark Real Estate & Agent Leads
Scrape Boliga.dk Danish real estate via its clean JSON API: price, address, zip, m², rooms, build year, energy class, square-meter price and the estate agent (name + reg id) behind every listing. No login, no API key. Great for Denmark property data & estate-agent leads.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
🚀 What does the Boliga scraper do?
Boliga is the #1 real-estate portal in Denmark — virtually every house, apartment, holiday home and plot for sale in the country runs through it. This Boliga scraper talks directly to Boliga's own clean JSON API, so you pull fully structured Denmark real estate data with no login and no API key, and it paginates through the whole result set of any search — fast.
In other words, it works as a Boliga unofficial API: Boliga has no public, documented API for developers, so this actor gives you the same listing data as machine-readable rows you can pipe into a spreadsheet, database, dashboard or model.
It's two tools in one:
🏠 a Danish property dataset — for market analytics, price tracking, comps, dashboards & ML — and 🎯 a Denmark estate-agent lead engine — listings carry the estate agent's name + registration id, so one run becomes a targeted agent list.
✨ Features
| Feature | Description | |
|---|---|---|
| 🔎 | Multi-filter search | Filter by zip code(s), municipality, property type, price, size, rooms, build year and sort order — or just paste a boliga.dk search URL. |
| 🎯 | Estate-agent leads | Every listing carries the agent registration id; most carry the agent display name — build a Denmark estate-agent lead list in one run. |
| 🇩🇰 | Nationwide coverage | Scrape a single zip, a kommune, a price band, or all of Denmark in one go. |
| ⚡ | Direct JSON API | Reads Boliga's own JSON API and auto-paginates — fast, lightweight, datacenter proxy is enough. |
| 📤 | Clean export | One tidy row per listing — export Boliga data to CSV, Excel, JSON, HTML or pull via the Apify API & webhooks. |
| 🔓 | No login, no key | Scrape Danish real estate without login, account or API key. |
📊 What data you get
One clean row per property listing. Verified output fields:
| Field | Description |
|---|---|
id | Boliga listing id |
url | Canonical boliga.dk listing URL |
address | Full property address |
cleanStreet | Street part of the address, normalized |
city | City / town name |
zipCode | Danish postal (zip) code |
municipality | Municipality (kommune) name |
propertyType | Human-readable property type label (e.g. Villa, Rækkehus, Ejerlejlighed) |
propertyTypeCode | Numeric Boliga property-type code |
price | Asking price in DKK |
squaremeterPrice | Price per m² in DKK |
rooms | Number of rooms |
size | Living area in m² |
lotSize | Plot / lot size in m² |
basementSize | Basement area in m² |
floor | Floor number |
buildYear | Year the property was built |
energyClass | Energy class (A–G) |
daysForSale | Days the listing has been on the market |
createdDate | Date the listing was created |
isForeclosure | Whether the listing is a foreclosure |
isActive | Whether the listing is currently active |
agentDisplayName | Estate-agent display name (present for a subset of listings) |
agentRegId | Estate-agent registration id (present on virtually all listings) |
isPremiumAgent | Whether the agent is a premium Boliga agent |
downPayment | Down payment in DKK |
latitude | Geo latitude |
longitude | Geo longitude |
image | Main listing photo URL |
evaluationPrice | Public valuation / evaluation price |
lastSoldPrice | Last recorded sale price |
lastSoldDate | Last recorded sale date |
scrapedAt | Timestamp the row was scraped |
ℹ️ Agent data note:
agentRegIdis present on virtually all listings, whileagentDisplayNameis filled for a subset — so useagentRegIdas the reliable key and treat the name as best-effort enrichment.
⚙️ How to use
You have two ways to drive the scraper — paste a search URL or use the structured filter fields. Either way the actor paginates the full result set up to your maxResults cap.
| Field | What it does |
|---|---|
searchUrl | Paste any boliga.dk search URL — its filters (zip, price, property type, sort, etc.) are parsed and applied. Leave empty to use the fields below. |
zipCodes | Danish zip code(s): single (2100), comma-separated (2100,2200), or a range (1050-1499). Empty = all of Denmark. |
municipality | Boliga municipality (kommune) numeric code, e.g. 101 = København. |
propertyType | Property type code(s), comma-separated. 1=Villa, 2=Rækkehus, 3=Ejerlejlighed (condo), 4=Fritidshus, 6=Landejendom, etc. Empty = all types. |
sort | Sort order: date-d (newest first, default), price-a / price-d, sqmprice-a / sqmprice-d. |
extraQueryParams | Advanced — extra Boliga API filter params appended raw, e.g. salesDateMin=2024-01-01&energyClass=A. |
maxResults | Global cap across the search. 0 = no limit (a nationwide search can span tens of thousands of listings). |
maxResultsPerSearch | Extra per-search safety cap. 0 = no extra cap. |
useProxy / proxyConfiguration | Apify Proxy. Datacenter (the default) is plenty for Boliga's API — no residential needed. |
Price / size / rooms / build-year min & max fields (
priceMin,priceMax,sizeMin,sizeMax,roomsMin,roomsMax,buildYearMin,buildYearMax) are also available for fine-grained filtering.
Example 1 — Copenhagen condos by zip
{"zipCodes": "1050-1499,2100,2200","propertyType": "3","sort": "sqmprice-d","maxResults": 1000}
Example 2 — nationwide newest listings
{"sort": "date-d","maxResults": 5000}
Example 3 — paste a boliga.dk search URL
{"searchUrl": "https://www.boliga.dk/resultat?zipcodeFrom=8000&zipcodeTo=8260&propertyType=1&priceMin=2000000","maxResults": 800}
📤 Example output
One clean row per listing:
{"id": 2089413,"url": "https://www.boliga.dk/bolig/2089413","address": "Strandvejen 12, 2. tv, 2100 København Ø","cleanStreet": "Strandvejen 12, 2. tv","city": "København Ø","zipCode": "2100","municipality": "København","propertyType": "Ejerlejlighed","propertyTypeCode": 3,"price": 4295000,"squaremeterPrice": 56513,"rooms": 3,"size": 76,"lotSize": 0,"basementSize": 0,"floor": 2,"buildYear": 1932,"energyClass": "C","daysForSale": 41,"createdDate": "2026-04-27T00:00:00","isForeclosure": false,"isActive": true,"agentDisplayName": "EDC København","agentRegId": 1542,"isPremiumAgent": true,"downPayment": 215000,"latitude": 55.7158,"longitude": 12.5849,"image": "https://i.boliga.org/dk/itemImages/2089413/1.jpg","evaluationPrice": 4100000,"lastSoldPrice": 3250000,"lastSoldDate": "2018-06-15T00:00:00","scrapedAt": "2026-06-07T12:00:00.000Z"}
🎯 Use cases
| Use case | How | |
|---|---|---|
| 📊 | Denmark real-estate market analysis | Track inventory, asking prices and days-for-sale across zips, kommuner and property types. |
| 🎯 | Estate-agent lead generation | Build outreach lists of Danish estate agents by area, price band or property type using agentRegId + agentDisplayName. |
| 🧮 | Price-per-m² research | Compare squaremeterPrice across cities and neighbourhoods to map where Denmark is hot or cooling. |
| 💰 | Investment screening | Filter foreclosures, low days-for-sale, build year and energy class to surface deals and value plays. |
| 🗂️ | Portals, dashboards & ML | Power a Danish property feed, a valuation model (with evaluationPrice / lastSoldPrice) or a BI dashboard from a scheduled run. |
🤖 Automate it
Put it on an Apify Schedule → a fresh Boliga listings feed every morning, straight to the Apify API, a webhook, Google Sheet, S3 or your warehouse. Track new listings, price drops and foreclosures across the Danish market on autopilot.
❓ FAQ
Is there a Boliga API?
Boliga has no public, documented developer API. This actor works as a Boliga unofficial API — it reads Boliga's own JSON listing data and returns clean, machine-readable rows with no API key, so you get the same data you'd want from an official API without one.
Can I scrape boliga.dk without login?
Yes. The scraper reads public boliga.dk listing data without any login or account, paginating the full result set of your search through Apify Proxy. No cookies, no token.
How do I export Boliga data to Excel / CSV / JSON?
Run the actor on any search (filters or pasted URL), then download the results from the Output tab as CSV, Excel, JSON or HTML — or pull them straight from the Apify API. Every property and estate-agent field is included, so exporting Boliga data to CSV or JSON is a one-click step.
Is scraping boliga.dk legal?
The actor collects publicly available listing data only. Scraping public data is widely accepted, but you are responsible for complying with Boliga's Terms of Service, applicable Danish/EU regulations, and — especially — how you store and use any estate-agent details (e.g. GDPR for personal data).
How many listings can I scrape?
As many as your search returns — a single zip is a few hundred, while a nationwide search can span tens of thousands of listings. The actor auto-paginates until your maxResults cap is hit; set maxResults to 0 for no limit.
Why is datacenter proxy enough for Boliga?
Boliga exposes a clean JSON API rather than a heavily anti-bot HTML site, so datacenter proxy (the default) is plenty — no need for residential proxies, which keeps your runs cheap and fast.
📝 Changelog
2026-06-07
- Docs: comprehensive SEO rewrite — added Boliga unofficial API coverage, full output-field reference, example inputs/output, use cases and FAQ for exporting Boliga data to CSV/Excel/JSON and scraping boliga.dk without login.