Boligsiden.dk Scraper avatar

Boligsiden.dk Scraper

Pricing

from $1.00 / 1,000 dataset items

Go to Apify Store
Boligsiden.dk Scraper

Boligsiden.dk Scraper

Scrape Danish real estate listings from Boligsiden.dk — for sale, sold, and rental properties with pricing, details, and history.

Pricing

from $1.00 / 1,000 dataset items

Rating

0.0

(0)

Developer

Data Scrapers

Data Scrapers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Boligsiden Scraper creates a structured dataset of property rows collected from Boligsiden in Denmark. Each dataset item is one case and can include the case id, road, zip code, cash price, housing area, room count, energy label, and year built. Query the source with a search type, a location string, and property types, limit the run with maxItems, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format.

Boligsiden Scraper — input to structured data

Dataset at a glance

PropertyValue
Sourceboligsiden.dk
Record unitOne property case
Input methodssearchType, searchQuery, addressTypes
Main identifierscaseID
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, XML, and other Apify dataset exports
Update modelFresh records per Actor run
Pricing$1.00 per 1,000 dataset-item events

Coverage and available records

The Actor searches for-sale, sold, and rental sections. An empty searchQuery searches Denmark. The saved sample is a for-sale house in zip 7790.

Supported:

  • tilsalg, solgte, and leje
  • City, municipality, neighborhood, zip, or street text
  • Price, area, rooms, year built, and days-on-market filters
  • Feature flags such as balcony, terrace, elevator, and open house
  • A result cap through maxItems and a page cap through maxPages. 0 means no cap

Not currently collected unless enrichDetails is true:

  • Extra images, building notes, description, and the price timeline
  • The saved search row already includes the cash price, area, and energy label

Data dictionary

Fields match a saved for-sale row. Prices are Danish kroner.

FieldTypeNullableDescriptionExample
caseIDstringNoCase UUID. Best field for deduplication.f8df46de-9098-444b-8a67-4e8f49f1b9c6
roadNamestringYesStreet name.Søndervænget
zipCodenumberYesPostal code.7790
priceCashnumberYesCash price in DKK.595000
housingAreanumberYesLiving area in square meters.179
numberOfRoomsnumberYesRoom count.6
energyLabelstringYesEnergy label.e
yearBuiltnumberYesConstruction year.1972
slugstringYesAddress slug.soendervaenget-46-7790-thyholm-06710287__46_______
latnumberYesLatitude.Present on the saved row
lonnumberYesLongitude.Present on the saved row
imageUrlstringYesPhoto URL.Present on the saved row

Example dataset record

{
"caseID": "f8df46de-9098-444b-8a67-4e8f49f1b9c6",
"roadName": "Søndervænget",
"zipCode": 7790,
"priceCash": 595000,
"housingArea": 179,
"numberOfRooms": 6,
"energyLabel": "e",
"yearBuilt": 1972
}

The saved row came from a for-sale search. enrichDetails was not required for these fields.

Query and input reference

InputTypeRequiredDefaultAccepted valuesDescription
searchTypestringNotilsalgtilsalg, solgte, lejeWhich section of Boligsiden.dk to scrape
searchQuerystringNo``Location search text — city, municipality (e.g.
addressTypesarrayNo["villa", "condo", "terraced_house"]villa, condo, terraced_house, holiday_house, cooperative, farm, hobby_farm, full_year_plot, villa_apartment, holiday_plot, houseboat, roomFilter by property types (leave empty for all)
sortBystringNo``timeOnMarket, price, createdAt, soldDate, area, distance, randomHow to sort the results (note: only timeOnMarket, price, and random work for tilsalg; price, timeOnMarket, and soldDate for solgte; createdAt for leje)
sortAscendingbooleanNoFalseSort from lowest to highest (false = highest to lowest)
minPriceintegerNo``Minimum price in Danish Kroner
maxPriceintegerNo``Maximum price in Danish Kroner
minAreaintegerNo``Minimum living area in square meters
maxAreaintegerNo``Maximum living area in square meters
minLotAreaintegerNo``Minimum lot/plot area in square meters
maxLotAreaintegerNo``Maximum lot/plot area in square meters
minRoomsintegerNo``Minimum number of rooms
maxRoomsintegerNo``Maximum number of rooms
minYearBuiltintegerNo``Earliest construction year
maxYearBuiltintegerNo``Latest construction year
maxDaysOnMarketintegerNo``Only properties listed for at most this many days
maxDaysSincePriceDropintegerNo``Only properties with a price reduction within this many days
hasOpenHousebooleanNoFalseOnly properties with scheduled open house viewings
hasBalconybooleanNoFalseOnly properties with a balcony
hasTerracebooleanNoFalseOnly properties with a terrace
hasElevatorbooleanNoFalseOnly properties with an elevator in the building
registrationTypesarrayNo``normal, family, auction, sole_owner, company, sold, new_constructionFilter sold properties by registration type (normal, auction, family transfer, etc.)
maxItemsintegerNo0Maximum number of listings to scrape (0 = unlimited)
maxPagesintegerNo0Maximum number of search result pages to scrape (0 = unlimited)
enrichDetailsbooleanNoFalseFetch listing details (images, buildings, description, realtor ratings), stats (page views, favourites, clicks), and price timeline for each listing
maxConcurrencyintegerNo10How many listings to enrich in parallel when enrichDetails is enabled (1–50).
proxyConfigurationobjectNo{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Proxy settings for anti-bot protection

Minimal request:

{
"searchType": "tilsalg",
"searchQuery": "7790",
"maxItems": 10
}

Retrieve the data through the API

  1. Start datascrapers/boligsiden-dk-scraper with the JSON input.
  2. Wait until the run finishes, or call the synchronous dataset endpoint.
  3. Read items from the run's default dataset.
  4. Paginate with dataset offset and limit.
from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("datascrapers/boligsiden-dk-scraper").call(run_input={
"searchType": "tilsalg",
"searchQuery": "7790",
"maxItems": 10,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["caseID"], item["priceCash"], item["zipCode"])

Other languages are listed on the Actor's API tab. This is the Apify Actor API, not a Boligsiden API.

Data quality and record handling

  • One dataset item is one case. Each pushed case charges one dataset-item event.
  • Deduplicate on caseID.
  • label can be an empty string on a saved row.
  • Prices are kroner as returned by Boligsiden.
  • maxItems and maxPages of 0 do not cap the result set.

Pricing and cost examples

The price file charges $1.00 per 1,000 listings. That is $0.001 per dataset-item on every Apify plan. Platform usage, including compute and proxy, is billed separately by Apify.

RecordsEstimated event cost
1,000$1.00
10,000$10.00

Limitations and responsible data use

  • Coverage is the search the input requests. An empty query is a Denmark-wide search and can be large.
  • Sort options depend on searchType. Some sort values do not apply to every section.
  • Prices change. This dataset is not a historical archive unless enrichment returns a price timeline for that run.
  • You are responsible for complying with Boligsiden's terms and applicable law.

Dataset questions

What does one dataset item represent?

One Boligsiden property case from for-sale, sold, or rental search.

Which field should I use as a unique identifier?

Use caseID.

Are fields nullable or conditional?

Yes. Description and price timeline fields are conditional on enrichDetails.

Can I retrieve the records as CSV or JSON?

Yes. Export the default dataset as JSON, CSV, Excel, XML, or another Apify format.

How do I paginate large datasets?

Use limit and offset on the dataset items endpoint. maxItems and maxPages limit the run.

Does the Actor return historical data?

Sold searches return sold rows. A for-sale row is the current case.

What counts as a billable result?

One dataset-item event per case saved to the dataset.

Data Scrapers support

Questions about this dataset: stardustspotlight@gmail.com