Boliga.dk Scraper
Pricing
Pay per usage
Boliga.dk Scraper
Scrape Boliga.dk property listings automatically. Extract Danish real estate data including prices, details & market insights for investment analysis & market research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
5
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Extract property listings from Boliga.dk sale result pages through the underlying listing API. The actor uses a Firefox browser session to pass site protection, then fetches the listing data via API calls for speed and reliability.
Features
- API-first collection — Uses Boliga's listing API instead of HTML parsing.
- Firefox stealth bootstrap — Opens a lightweight Firefox session before the API requests to improve reliability on the protected target.
- Fast pagination — Pulls multiple API pages until your target item count is reached.
- Simple input — Run with a Boliga result URL or a small direct override set.
- Lean dataset — Omits raw payloads and drops null-only fields from dataset items.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | https://www.boliga.dk/resultat/landsdele/koebenhavn-by/alle-til-salg | Boliga result URL to mirror. |
areaId | Integer | No | - | Direct Boliga area identifier override. |
place | String | No | - | City or place override when not using a start URL. |
results_wanted | Integer | No | 20 | Maximum number of listings to save. |
max_pages | Integer | No | 5 | Safety cap on the number of API pages to request. |
proxyConfiguration | Object | No | Residential Apify Proxy recommended | Proxy settings for reliable runs. |
Output Data
Each dataset item contains normalized listing fields only. Fields with null values are not included in the saved item.
| Field | Type | Description |
|---|---|---|
listing_id | Integer | Boliga listing identifier. |
guid | String | Listing GUID. |
street | String | Street address. |
clean_street | String | Normalized street value. |
zip_code | Integer | Danish postal code. |
city | String | City name. |
municipality_code | Integer | Municipality code. |
area_id | Integer | Boliga area identifier. |
property_type | Integer | Boliga property type code. |
item_type | Integer | Listing item type code. |
price | Integer | Asking price in DKK. |
price_change_percent_total | Number | Total price change percentage. |
squaremeter_price | Number | Price per square meter. |
monthly_net | Integer | Monthly net payment estimate. |
monthly_expenses | Integer | Monthly expense estimate. |
down_payment | Integer | Required down payment estimate. |
energy_class | String | Energy label. |
rooms | Number | Number of rooms. |
size | Integer | Registered size in square meters. |
lot_size | Integer | Lot size in square meters. |
basement_size | Integer | Basement size in square meters. |
business_area | Integer | Business area in square meters. |
floor | Integer | Floor number when available. |
build_year | Integer | Build year. |
days_for_sale | Integer | Days on market. |
open_house | String | Open house value when available. |
views | Integer | Listing views. |
latitude | Number | Latitude. |
longitude | Number | Longitude. |
created_date | String | Listing creation timestamp. |
last_seen | String | Last seen timestamp. |
is_active | Boolean | Active listing flag. |
is_foreclosure | Boolean | Foreclosure flag. |
is_premium_agent | Boolean | Premium agent flag. |
self_sale | Boolean | Self-sale flag. |
image_url | String | Primary image URL. |
images | Array | Listing image objects when available. |
listing_url | String | Boliga detail page URL. |
dawa_id | String | DAWA identifier when available. |
bfe_number | Integer | BFE number when available. |
on_the_way | Boolean | Upcoming listing indicator. |
project_sale_url | String | Project sale URL when available. |
search_url | String | Source result URL used for the run. |
source_area_slug | String | Region slug derived from the source URL. |
source_property_slug | String | Property slug derived from the source URL when present. |
Usage Examples
Mirror A Boliga Result URL
{"startUrl": "https://www.boliga.dk/resultat/landsdele/koebenhavn-by/alle-til-salg","results_wanted": 20,"max_pages": 2}
Direct Area Override
{"areaId": 1,"results_wanted": 50,"max_pages": 3}
Direct Place Override
{"place": "Frederiksberg","results_wanted": 40,"max_pages": 2}
Sample Output
{"listing_id": 2307239,"guid": "81BA4BAD-A088-4B1B-AE2F-87875766F64A","street": "Herninggade 23, 5. th.","clean_street": "Herninggade","zip_code": 2100,"city": "København Ø","municipality_code": 101,"area_id": 1,"property_type": 3,"price": 4995000,"squaremeter_price": 84661,"rooms": 2,"size": 59,"energy_class": "D","views": 8,"image_url": "https://i.boliga.org/dk/550x/2307/2307239.jpg","listing_url": "https://www.boliga.dk/bolig/2307239/herninggade-23-5-th-2100-koebenhavn-oe","search_url": "https://www.boliga.dk/resultat/landsdele/koebenhavn-by/alle-til-salg"}
Tips
Prefer Real Result URLs
- A real Boliga result URL is the most reliable way to mirror an existing search.
- Use
areaIdorplaceonly when you want a simpler override.
Keep QA Inputs Small
results_wanted: 20andmax_pages: 2are good defaults for quick QA runs.- Increase them only when you need broader coverage.
Use Residential Proxies
- Residential proxies materially improve reliability on Boliga.
- The default schema already recommends Apify residential proxy.
FAQ
Is this actor HTML-based?
No. It collects data from Boliga's API. Firefox is only used to establish a valid browsing session before the API requests.
Does the dataset include the raw API payload?
No. Raw payloads are intentionally excluded to keep the dataset lean.
What happens to null fields?
Fields with null values are omitted from the saved dataset item.
What if a start URL is not recognized?
Use areaId or place instead of relying on URL parsing.
Legal Notice
This actor is intended for legitimate data collection and analysis. You are responsible for ensuring your use complies with Boliga terms, applicable law, and your own data handling obligations.