Boliga.dk Scraper avatar

Boliga.dk Scraper

Pricing

Pay per usage

Go to Apify Store
Boliga.dk Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

8 days ago

Last modified

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

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.boliga.dk/resultat/landsdele/koebenhavn-by/alle-til-salgBoliga result URL to mirror.
areaIdIntegerNo-Direct Boliga area identifier override.
placeStringNo-City or place override when not using a start URL.
results_wantedIntegerNo20Maximum number of listings to save.
max_pagesIntegerNo5Safety cap on the number of API pages to request.
proxyConfigurationObjectNoResidential Apify Proxy recommendedProxy 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.

FieldTypeDescription
listing_idIntegerBoliga listing identifier.
guidStringListing GUID.
streetStringStreet address.
clean_streetStringNormalized street value.
zip_codeIntegerDanish postal code.
cityStringCity name.
municipality_codeIntegerMunicipality code.
area_idIntegerBoliga area identifier.
property_typeIntegerBoliga property type code.
item_typeIntegerListing item type code.
priceIntegerAsking price in DKK.
price_change_percent_totalNumberTotal price change percentage.
squaremeter_priceNumberPrice per square meter.
monthly_netIntegerMonthly net payment estimate.
monthly_expensesIntegerMonthly expense estimate.
down_paymentIntegerRequired down payment estimate.
energy_classStringEnergy label.
roomsNumberNumber of rooms.
sizeIntegerRegistered size in square meters.
lot_sizeIntegerLot size in square meters.
basement_sizeIntegerBasement size in square meters.
business_areaIntegerBusiness area in square meters.
floorIntegerFloor number when available.
build_yearIntegerBuild year.
days_for_saleIntegerDays on market.
open_houseStringOpen house value when available.
viewsIntegerListing views.
latitudeNumberLatitude.
longitudeNumberLongitude.
created_dateStringListing creation timestamp.
last_seenStringLast seen timestamp.
is_activeBooleanActive listing flag.
is_foreclosureBooleanForeclosure flag.
is_premium_agentBooleanPremium agent flag.
self_saleBooleanSelf-sale flag.
image_urlStringPrimary image URL.
imagesArrayListing image objects when available.
listing_urlStringBoliga detail page URL.
dawa_idStringDAWA identifier when available.
bfe_numberIntegerBFE number when available.
on_the_wayBooleanUpcoming listing indicator.
project_sale_urlStringProject sale URL when available.
search_urlStringSource result URL used for the run.
source_area_slugStringRegion slug derived from the source URL.
source_property_slugStringProperty 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 areaId or place only when you want a simpler override.

Keep QA Inputs Small

  • results_wanted: 20 and max_pages: 2 are 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.


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.