Ejendomstorvet Scraper - Denmark Commercial Property avatar

Ejendomstorvet Scraper - Denmark Commercial Property

Pricing

from $1.32 / 1,000 listing searches

Go to Apify Store
Ejendomstorvet Scraper - Denmark Commercial Property

Ejendomstorvet Scraper - Denmark Commercial Property

Scrape Ejendomstorvet.dk: Danish offices, shops, warehouses, land and investment properties for rent or sale. Rent per m², price, yield, area, GPS.

Pricing

from $1.32 / 1,000 listing searches

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Ejendomstorvet Scraper: Danish Commercial Property Data 🚀

SIÁN Agency Store Boligsiden Scraper LoopNet Scraper Hemnet Scraper

🎉 About 11,400 Danish commercial listings in all 11 regions: 7,000 premises for rent, 1,800 for sale and 2,500 investment properties

For brokers, investors, landlords, analysts and growing companies who want Ejendomstorvet's offices, shops and warehouses in a spreadsheet

🔎 What is the Ejendomstorvet Scraper — and when should you use it?

The Ejendomstorvet Scraper turns public Ejendomstorvet.dk listings of Danish offices, shops, warehouses, land and investment properties, into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: Danish commercial premises for rent, commercial property for sale, investment properties and office hotels as rows. Every search row carries the yearly rent and rent per m² or the price and price per m², floor and plot area, yield for investments, operating costs, address, GPS, energy label, the listing broker's company and the main photo. Open each listing in full and you also get the broker's description, the photos, year built and facilities.

Use something else when: you want Danish homes rather than commercial property, or commercial property outside Denmark. Use Boligsiden Scraper for Danish homes for sale, sold prices and estate agents. Use LoopNet Scraper for commercial real estate in the US, Canada, the UK, France, Spain and Australia. This actor reads live Ejendomstorvet listings only. It returns no broker phone numbers, e-mail addresses or contact names, has no size or rent filter on the site's side, and does not return closed deals.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/ejendomstorvet-property-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want commercial property for rent or sale in Denmark from Ejendomstorvet.dk using the Apify Actor `sian.agency/ejendomstorvet-property-scraper`.
Use it when I need: Danish commercial premises for rent, commercial property for sale, investment properties and office hotels as rows. Every search row carries the yearly rent and rent per m² or the price and price per m², floor and plot area, yield for investments, operating costs, address, GPS, energy label, the listing broker's company and the main photo. Open each listing in full and you also get the broker's description, the photos, year built and facilities.
Don't use it when: you want Danish homes rather than commercial property, or commercial property outside Denmark — use boligsiden-property-scraper or loopnet-property-scraper instead.
How to call it: set `listingType` to `leje` (for rent), `salg` (for sale), `investering` (investment) or `kontorhotel` (office hotel), `propertyType` to `kontor`, `detailhandel-butik`, `lager-produktion`, `hotel-restaurant`, `grunde`, `boligudlejning` or `andre-typer`, `region` to one of the 11 regions such as `byen-koebenhavn` or `oestjylland` (or `all`), and optionally `location` (a town, postcode or street, for example `Aarhus` or `2100`) and `sortBy` (`newest`, `areaLarge`, `yieldHigh` and more). `maxResults` sets how many listings come back. `includeDetails` opens each listing for the description, photos, year built and facilities, for an extra charge per listing. `searchUrls` takes Ejendomstorvet search pages as [{"url": ...}] objects. To expand listings you already have, set `operation` to `detail` and pass `listingUrls`.
Start with this input:
{
"operation": "search",
"listingType": "leje",
"propertyType": "kontor",
"region": "oestjylland",
"location": "Aarhus",
"maxResults": 50,
"includeDetails": false
}
Ask me which region or town to cover, whether I want premises for rent, for sale, investment properties or office hotels, and which property type, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • List every office for rent in Aarhus with yearly rent per m² and floor area.
  • Find investment properties for sale in Byen København sorted by highest yield.
  • Export warehouses and production halls for rent in Sydjylland, largest first.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/ejendomstorvet-property-scraper.md.


📋 Overview

The Ejendomstorvet Scraper reads Ejendomstorvet.dk, the Danish marketplace where commercial brokers list offices, shops, warehouses, land and investment properties, and returns each listing as a clean row.

What you get:

  • ✅ Commercial stock only: Ejendomstorvet is run by the Danish commercial brokers' association, and residential portals carry almost none of these listings
  • 💰 Rent and price as numbers: yearly rent, rent per m², operating costs, price, price per m² and yield, ready to sort and chart
  • 📍 Mappable: full address, postcode, municipality and GPS on every row
  • 🏢 Broker named: the listing broker's company, its case number and a link to the listing on the broker's own site
  • ⚡ Fast: 20 listings per page, so 1,000 listings take about two minutes
  • 💎 Pay per listing: $1.50 per 1,000 listings. A search that finds nothing costs nothing
  • ✨ NEW: open each listing in full for the broker's description, photos, year built and facilities

✨ Features

  • 🏷️ Four listing types: premises for rent, property for sale, investment properties and office hotels
  • 🏢 Seven property types: office, retail and shop, warehouse and production, hotel and restaurant, land, residential rental property and other types
  • 🗺️ All 11 regions: from Byen København to Nordjylland and Bornholm, or the whole country in one run
  • 📍 Town, postcode or street: narrow any search to Aarhus, 2100 or Vesterbrogade
  • ↕️ Ten sort orders: newest, oldest, price, area, price per m² and yield, each either way
  • 🔗 Paste any search: copy a search page from ejendomstorvet.dk and the actor runs exactly that search
  • 📄 Full listings on demand: description, photos, year built and facilities, billed only when the page opens
  • 🔒 No personal contact data: broker phone numbers, e-mail addresses and contact names are never collected

🎬 Quick Start

Pick a listing type, a property type and a region, then run. The actor pages through Ejendomstorvet's search and saves every listing once. Export the dataset as JSON, CSV or Excel.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~ejendomstorvet-property-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"listingType": "leje", "propertyType": "kontor", "region": "oestjylland", "location": "Aarhus", "maxResults": 100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Pick what

Choose For rent, For sale, Investment property or Office hotel, then the property type.

Step 2: Pick where

Choose a region, and type a town, postcode or street if you want a smaller area.

Step 3: Run and export

Set how many listings you want and press Start. Download the dataset as CSV, Excel or JSON.

That's it! In a few minutes you'll have:

  • Every matching listing with rent or price, area and address
  • GPS for each one, ready for a map
  • The listing broker's company and a link to the listing

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNosearch (Listing Search, default) or detail (Listing Detail)
listingTypestringNoall, leje (for rent), salg (for sale), investering (investment) or kontorhotel (office hotel)
propertyTypestringNoall, kontor, detailhandel-butik, lager-produktion, hotel-restaurant, grunde, boligudlejning or andre-typer
regionstringNoall or one of the 11 regions, for example byen-koebenhavn, fyn, oestjylland
locationstringNoTown, postcode or street to narrow the search, for example Aarhus or 2100
sortBystringNonewest, oldest, priceHigh, priceLow, areaLarge, areaSmall, sqmPriceHigh, sqmPriceLow, yieldHigh, yieldLow
maxResultsintegerNoHow many listings to return (1-12,000, default 50)
includeDetailsbooleanNoOpen each listing for description, photos, year built and facilities
searchUrlsarrayNoEjendomstorvet search pages to run instead of the fields above
listingUrlsarrayNoListing addresses for Listing Detail

Example: offices for rent in Aarhus

{
"listingType": "leje",
"propertyType": "kontor",
"region": "oestjylland",
"location": "Aarhus",
"maxResults": 100
}

Example: investment properties in Copenhagen, highest yield first, with full listings

{
"listingType": "investering",
"propertyType": "all",
"region": "byen-koebenhavn",
"sortBy": "yieldHigh",
"maxResults": 50,
"includeDetails": true
}

Example: a search copied from ejendomstorvet.dk

{
"searchUrls": [{ "url": "https://www.ejendomstorvet.dk/leje/fyn/odense/kontor" }],
"maxResults": 200
}

Example: full records for listings you already have

{
"operation": "detail",
"listingUrls": [{ "url": "https://www.ejendomstorvet.dk/leje/oestjylland/horsens/lager-produktion/69486096-aae9-4f7a-afd7-cbc8715b8865" }]
}

📤 Output

Each listing is one row with 50+ fields. Fields with no value on a listing are left out of that row.

FieldTypeDescription
thumbnailstringMain photo
propertyTitlestringThe broker's title for the listing
listingTypestringFor rent, For sale, Investment property or Office hotel
categorystringMain property type, as Ejendomstorvet shows it (Danish)
yearlyRentDkknumberYearly rent in DKK
yearlyRentPerSqmDkknumberYearly rent per m² in DKK
yearlyOperatingCostDkknumberYearly operating costs in DKK
salePriceDkknumberPrice in DKK (for sale and investment)
pricePerSqmDkknumberPrice per m² in DKK
yieldPercentnumberYield in % (investment properties)
floorAreaSqm / plotAreaSqmnumberFloor area and plot area in m²
address, zipCode, city, municipalitystringWhere the property is
latitude / longitudenumberGPS
brokerNamestringThe listing broker's company
brokerCaseNumber / brokerListingUrlstringThe broker's case number and the listing on the broker's site
officePriceMinDkk / officePriceMaxDkk / officeSeatsMaxnumberOffice hotels: monthly price range and seats
descriptionText, photos, yearBuilt, facilitiesmixedAdded when the full listing is opened
listingUrlstringThe listing on Ejendomstorvet

Example (an office for rent, opened in full):

{
"hasDetail": true,
"thumbnail": "https://i.ejendomstorvet.dk/0c/57/0c5779c6b145582d0f42fa3ddbacb49d64321edb3574388d82121b9db27f99aa.jpg",
"listingId": "32264254-d302-4461-bdb9-b19b69b18c26",
"propertyTitle": "165 m² lyst og fleksibelt kontor- eller klinikmiljø i Risskov",
"headline": "En attraktiv og central beliggenhed i Risskov",
"listingUrl": "https://www.ejendomstorvet.dk/leje/oestjylland/aarhus/kontor/32264254-d302-4461-bdb9-b19b69b18c26",
"listingType": "For rent",
"category": "Kontor",
"usageTypes": [
"Kontor"
],
"address": "Sindalsvej 30B, 1. TH., 8240 Risskov",
"street": "Sindalsvej",
"zipCode": "8240",
"city": "Risskov",
"municipality": "Aarhus",
"municipalityCode": "0751",
"latitude": 56.2101023882428,
"longitude": 10.2124135267978,
"floorAreaSqm": 165,
"currency": "DKK",
"yearlyRentDkk": 123750,
"yearlyRentPerSqmDkk": 875,
"yearlyOperatingCostDkk": 20625,
"yearlyRentInclOperatingDkk": 144375,
"energyLabel": "C",
"isNew": true,
"priceChanged": false,
"isProject": false,
"isTender": false,
"brokerName": "EDC Erhverv Poul Erik Bech, Aarhus",
"brokerLogo": "https://img.ejendomstorvet.dk/20/cb/20cbeace752c5386351804cdd0de13e0877629c898f15ec9a0bde3cf49b25e03.png",
"brokerCaseNumber": "812003463",
"brokerListingUrl": "https://edc.dk/erhverv/812003463",
"searchUrl": "https://www.ejendomstorvet.dk/api/v2/listings/search?grouplistings=false&q=Aarhus&listingTypes=leje&usageProposals=kontor&provinces=oestjylland&sort=created_desc&page=1",
"searchPage": 1,
"yearBuilt": 1986,
"descriptionText": "• Lyse og præsentable lokaler med flot lysindfald\n• Central beliggenhed i Risskov med kort afstand til Aarhus C\n• Fleksibelt erhvervslejemål – velegnet til kont…",
"photos": [
"https://i.ejendomstorvet.dk/0c/57/0c5779c6b145582d0f42fa3ddbacb49d64321edb3574388d82121b9db27f99aa.jpg?class=listingimagebannerlarge",
"https://i.ejendomstorvet.dk/24/70/2470c9690b2570dbd42f1b7a45756dee5cbc061c0bfb229f7dff25c72f704569.jpg?class=listingimagebannerlarge"
],
"_operation": "search",
"_fetchedAt": "2026-10-08T07:07:52.927Z",
"status": "success"
}

💼 Use Cases & Examples

1. Office and retail rent benchmarks

Valuers, landlords and analysts get a live rent level per m² for any town without buying a market report.

Input: For rent, Office, region Østjylland, location Aarhus Output: Every office to let with yearly rent, rent per m², operating costs and floor area Use: Median rent per m² by postcode, refreshed every week

2. Investment deal sourcing

Investors and fund managers see new investment cases with price, yield and area the day they are listed.

Input: Investment property, region Byen København, sorted by highest yield Output: Price, yield, price per m², floor area and the listing broker Use: A shortlist of cases above a target yield, straight into a deal sheet

3. Leads for movers, fit-out firms and facility services

Service companies see which premises are about to change hands and which broker handles each one.

Input: For rent, all property types, one region, newest first Output: Address, floor area, broker company and a link to each listing Use: A weekly list of new premises to pitch fit-out, moving or cleaning to

4. Vacancy and supply tracking

Landlords and municipalities watch how much space is on the market and how long it stays there.

Input: The same search on a daily or weekly schedule Output: One dataset per run; compare listing IDs between runs Use: Time-on-market and new-supply charts by region and property type

5. Site search for growing companies

Operations teams find warehouses, production halls or office hotels that fit their size and region.

Input: Warehouse and production, Sydjylland, largest first Output: Floor and plot area, rent or price, GPS Use: A map of every candidate site, filtered in a spreadsheet

6. Office hotel and coworking comparison

Small teams compare desk and office prices across Copenhagen office hotels.

Input: Office hotel, Byen København Output: Monthly price range, number of seats and seating types Use: A price table per neighbourhood before booking viewings


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/ejendomstorvet-property-scraper').call({
listingType: 'leje',
propertyType: 'kontor',
region: 'oestjylland',
location: 'Aarhus',
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/ejendomstorvet-property-scraper').call(
run_input={
'listingType': 'investering',
'region': 'byen-koebenhavn',
'sortBy': 'yieldHigh',
'maxResults': 50,
}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['address'], item.get('salePriceDkk'), item.get('yieldPercent'))

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~ejendomstorvet-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"listingType": "salg", "propertyType": "lager-produktion", "region": "sydjylland", "maxResults": 200}'

Automation Workflows (n8n / Zapier / Make)

  1. Trigger: a schedule, for example every weekday at 07:00
  2. Run: call this actor with your saved search
  3. Process: keep only listing IDs you have not seen before
  4. Action: add them to a Google Sheet, your CRM or a Slack channel

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 listings per run, with every field
  • No credit card required
  • Enough to see the fields on your own search before paying
  • Unlimited listings per run, up to the whole site
  • 20 listings per page, about two minutes per 1,000 listings
  • Pay per listing returned: $1.50 per 1,000 listings, plus $3.00 per 1,000 for full listings when you switch them on
  • Searches that match nothing and listing pages that do not open cost nothing

💰 Each listing is charged once per run, even when several of your searches return it.

🔗 View current pricing


❓ Frequently Asked Questions

Q: Which listings are covered? A: Everything Ejendomstorvet shows in its search: premises for rent, properties for sale, investment properties and office hotels in all 11 Danish regions. That was about 11,400 listings on 8 October 2026, 7,000 of them for rent.

Q: Do I get the broker's phone number or e-mail? A: No. The actor does not collect phone numbers, e-mail addresses or contact names. Each row names the listing broker's company, the broker's case number and a link to the listing, so you can make contact there.

Q: Can I search one municipality or postcode? A: Yes. Type a town, postcode or street in Town, postcode or street, for example Aarhus or 2100. Or open a search on ejendomstorvet.dk, for example https://www.ejendomstorvet.dk/leje/fyn/odense/kontor , and paste it into Search page URLs.

Q: Can I filter by size or rent? A: Not directly, because Ejendomstorvet's search has no size or rent filter. Sort by area or price and stop after the rows you need, or filter the dataset afterwards.

Q: Why do some rows have a price and others a yearly rent? A: Rentals carry a yearly rent, usually with rent per m² and operating costs. Properties for sale and investment properties carry a price and price per m², and investments also carry the yield. Office hotels carry a monthly price range and seats.

Q: Are the texts in Danish? A: Yes. Titles, descriptions, categories and facilities come exactly as the broker wrote them, which is Danish. Field names and the listing type are in English.

Q: What output formats are available? A: JSON, CSV, Excel, XML and HTML, straight from the Apify dataset.

Q: How long does a run take? A: About two minutes per 1,000 listings (4,950 offices took 9 minutes in a test run). With full listings switched on, allow about one more second per listing.


🐛 Troubleshooting

The run finished with 0 listings

  • Ejendomstorvet has nothing matching that combination right now. Widen the region, set the property type to all, or clear the town field.
  • Check the spelling in Town, postcode or street. A postcode such as 8000 always works.

A pasted search URL was skipped

  • Paste a search page, not a single listing, news article or broker page. Single listings go in Listing URLs with the mode set to Listing Detail.

A full listing is missing its description

  • The broker may have just taken the listing down. The search row is kept and you are not charged for the full listing.

I need more than 25 listings

  • Free plans stop at 25 listings per run. On a paid plan there is no cap.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Ejendomstorvet is a trademark of its owner. This actor is not affiliated with, endorsed by, or sponsored by Ejendomstorvet or Foreningen Erhvervsmæglerbasen.


🤝 Support

Join our active support community


Built by SIÁN Agency | More Tools