# Hemnet Property Details Scraper (`ecomscrape/hemnet-property-details-scraper`) Actor

Automate property data extraction from Hemnet.se, Sweden's leading real estate platform. Collect comprehensive listing details including prices, specifications, broker information, and images from over 90% of Swedish property sales. Perfect for market analysis, price tracking, real estate research.

- **URL**: https://apify.com/ecomscrape/hemnet-property-details-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Stats:** 7 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## **Hemnet.se Scraper: Extract Property Data - Market Intelligence & Pricing**

### Introduction: Why Scrape Hemnet.se?

Hemnet.se is Sweden's largest property platform, receiving over 40 million visits per month and listing approximately 90% of all properties sold in Sweden. As the primary marketplace where Swedish homebuyers and sellers connect, Hemnet contains invaluable real estate data that can transform how professionals analyze the housing market.

For real estate investors, market analysts, property developers, and research professionals, manually collecting data from thousands of listings is impractical. The Hemnet.se Property Scraper solves this challenge by automating the extraction of detailed property information, enabling data-driven decision-making in Sweden's dynamic real estate market.

Whether you're tracking price trends across different regions, analyzing property characteristics, monitoring specific neighborhoods, or conducting comprehensive market research, this scraper provides reliable access to the data you need.

### Overview: Comprehensive Property Data Extraction

The Hemnet.se Property Scraper is designed to extract detailed information from individual property listings on Sweden's premier real estate platform. This tool systematically collects over 30 data points from each listing, including financial details, property specifications, location information, and visual assets.

**Key Features:**

- **Automated Data Collection**: Process multiple property URLs simultaneously with configurable retry mechanisms
- **Proxy Support**: Residential proxy integration prevents bot detection and ensures consistent access
- **Comprehensive Data Coverage**: Extracts 30+ fields including prices, specifications, broker details, and images
- **Error Handling**: Built-in failure tolerance with configurable retry attempts per URL
- **Flexible Output**: Structured data format ready for analysis, integration, or database storage

**Ideal For:**

- Real estate analysts tracking market trends and price movements
- Property investors researching investment opportunities
- Market researchers studying housing patterns and demographics
- Real estate agencies conducting competitive analysis
- Academic researchers studying urban development and housing economics

### Input and Output Specifications

Example url 1: https://www.hemnet.se/bostad/villa-10rum-jakobsberg-vastra-jarfalla-kommun-nybodavagen-32-21572671

Example url 2: https://www.hemnet.se/bostad/villa-5rum-kyrkbyn-goteborgs-kommun-korsklevegatan-9-21592500

Example url 3: https://www.hemnet.se/bostad/lagenhet-3rum-trandared-boras-kommun-kransvagen-186-21505079

Example Screenshot of property information page:

![](https://i.ibb.co/Zp6yJx79/Screenshot-from-2025-10-18-18-09-59.png)

#### Input Format

The scraper accepts JSON configuration with specific parameters to control the extraction process:

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "ignore_url_failures": true,
  "urls": [ // Links to property information pages.
    "https://www.hemnet.se/bostad/lagenhet-3rum-trandared-boras-kommun-kransvagen-186-21505079",
    "https://www.hemnet.se/bostad/villa-5rum-kyrkbyn-goteborgs-kommun-korsklevegatan-9-21592500",
    "https://www.hemnet.se/bostad/villa-10rum-jakobsberg-vastra-jarfalla-kommun-nybodavagen-32-21572671"
  ]
}
```

#### Parameter Explanations

**max_retries_per_url** (Number, default: 2)

- Defines how many times the scraper will retry accessing a URL if the initial attempt fails
- Recommended value: 2-3 for balance between thoroughness and efficiency
- Higher values increase success rate but extend processing time

**proxy** (Object)

- **useApifyProxy** (Boolean): Enables proxy rotation to avoid IP blocking and bot detection
- **apifyProxyGroups** (Array): Specify proxy type - "RESIDENTIAL" is recommended for Hemnet as it mimics genuine user traffic
- **apifyProxyCountry** (String): Set to "SE" (Sweden) for optimal performance and to match the target market; using Swedish IPs reduces the likelihood of geographic restrictions

**ignore_url_failures** (Boolean, default: true)

- When set to true, the scraper continues processing remaining URLs even if some fail
- Recommended for batch processing to maximize data collection
- Set to false only if you require all URLs to succeed

**urls** (Array of Strings)

- List of complete Hemnet.se property listing URLs
- Each URL must be a direct link to a specific property page
- No limit on array size, but consider processing time for large batches

#### Output Format and Data Fields

You get the output from the hemnet.it Property Details Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of property information
  {
  "id": "21572671",
  "url": "https://www.hemnet.se/bostad/villa-10rum-jakobsberg-vastra-jarfalla-kommun-nybodavagen-32-21572671",
  "title": "Nybodavägen 32",
  "street_address": "Nybodavägen 32",
  "post_code": "17761",
  "area": "Jakobsberg - Västra",
  "asking_price": "6 995 000 kr",
  "asking_price_amount": 6995000,
  "square_meter_price": null,
  "monthly_fee": null,
  "monthly_fee_amount": null,
  "running_costs": "56 167 kr",
  "number_of_rooms": 10,
  "living_area": "120 m²",
  "living_area_sqm": 120,
  "floor": null,
  "construction_year": "1969",
  "energy_class": "D",
  "housing_form": "Villa",
  "tenure": "Äganderätt",
  "description": "+ Högt belägen villa i Västra Jakobsberg med fri utsikt\r\n+ Totalyta om 241 kvm fördelat på 3 plan\r\n+ Fin lättskött och friköpt trädgårdstomt i söderläge\r\n+ Nytt tak 2016 & om dränerad grund 2005\r\n+ Uppvärmt dubbelgarage ca 40kvm & uppfart för 3-4st bilar\r\n+ Bekymmersfri Bergvärme \r\n+ Nära till förskola, skolor och busshållplats\r\n\r\nVälkommen hem till ett hus där familjelivet får blomstra – en plats att trivas på, växa i och skapa minnen som varar livet ut. Villan ligger på ett soligt, fridfullt läge med fri utsikt över den fina dalen i ett av västra Jakobsbergs mest omtyckta villaområden. Busshållplats finns 100 meter från huset med direktbuss till pendeltåg som tar er till Stockholm city på bara 18 minuter. Olovslundsskolan och Olovslunds förskola ligger på gångavstånd och hör till kommunens mest populära\r\n\r\nDe nuvarande ägarna har trivts här i över 14 år, och det märks – huset är både omsorgsfullt omhändertaget, lättskött och fyllt av kärlek. Nu är det dags att lämna över stafettpinnen till nästa lyckliga familj.  Under åren har gjorts stora renoveringar såsom installation av bergvärme, dränerat om, byte av tak och mycket mer. Här slipper ni tänka omedelbara renoveringar och kan direkt börja ert nästa bostadsliv.\r\nHär bor ni lugnt och tryggt. Den plana tomten ger en inbjudande och lättskött utemiljö – perfekt för både lek, avkoppling och sociala stunder. I den lummiga lättskötta trädgården kan barnen springa fritt. På tomten finns många bär och fruktträd, i växthuset kan ni odla egna tomater. I ett soligt sydvästläge ligger den generösa altanen, byggd med underhållsfri trall Där dukar ni upp till sköna grillkvällar med familj och vänner.\r\n\r\nRedan innanför ytterdörren möts ni av en ljus och välkomnande hall som leder er vidare in i husets hjärta – nämligen det stora köket och vardagsrummet. Här väntar ett stilrent och modernt kök från Puustelli med köksö i delvis öppen planlösning med vardagsrummet. I det generösa vardagsrummet finns stora fönster som släpper in rikligt med ljus från trädgården samt ett rejält fönsterparti med dörr direkt ut till altanen. Altanen blir det extra vardagsrummet för sommarens middagar och sociala tillställningar.\r\n\r\nLängre in i huset på samma våningsplan erbjuds ett masterbedroom och två rymliga sovrum. Alla med garderober för smidig förvaring. I anslutning till samtliga rum finns ett fräscht badrum i stilren design.\r\nEn trappa upp väntar ett mysigt allrum, idealiskt som lekrum, tonårsdel eller lugn läshörna. På övre plan finner ni även två ytterligare sovrum och rymliga vindsförråd som erbjuder utmärkta förvaringsmöjligheter.\r\n\r\nKällarvåningen bjuder på ännu mer utrymme. Här finner ni idag ett kontorsrum samt ett större ungdoms/sällskapsrum – perfekt plats för tonåringarna. I anslutning till kontoret finns en temperaturreglerad vinkällare. På samma våningsplan finner ni även en härlig gillestuga med fungerande öppen spis – en självklar plats för mysiga vinterkvällar med familj och vänner. På denna våning finner ni även ett före detta pannrum som idag används som ett hemmagym. Intill finns den stora tvättstugan utrustad med bastu, dusch och gästtoalett. Då det finns en egen ingång till källaren så kan en del av den enkelt göras om för uthyrning som kontor eller liten lägenhet.\r\n\r\nSist men inte minst erbjuder huset en lättskött och solig trädgårdstomt i eftertraktat fritt söderläge – en plats där både lugna stunder och livliga sammankomster får ta plats. Huset erbjuder ett stort uppvärmt garage om hela 40 kv",
  "amenities": [],
  "labels": [
    {
      "text": "Imorgon kl 13:45",
      "category": "STATE"
    },
    {
      "text": "Premium",
      "category": "PRODUCT"
    },
    {
      "text": null,
      "category": "MEDIA_ATTACHMENT"
    }
  ],
  "is_bidding_ongoing": false,
  "days_on_hemnet": 4,
  "published_at": "1760457558.794",
  "times_viewed": 1132,
  "water_distance_meters": 1700,
  "coastline_distance_meters": null,
  "locations": [
    "Jakobsberg",
    "Stockholm"
  ],
  "broker": {
    "name": "Jason Millado",
    "email": "jason.millado@husmanhagberg.se",
    "phone": "0704256201"
  },
  "agency": {
    "name": "HusmanHagberg Järfälla",
    "email": "jarfalla@husmanhagberg.se",
    "phone": "08-580 104 60",
    "address": "Viksjöplan 11",
    "city": "Järfälla",
    "zip_code": "17545"
  },
  "housing_cooperative": null,
  "open_houses": [
    {
      "start": "1760874300.0",
      "end": "1760876100.0",
      "description": "Varmt välkomna på visning. Föranmäl er gärna!"
    },
    {
      "start": "1760977800.0",
      "end": "1760979600.0",
      "description": "Varmt välkomna på visning. Föranmäl er gärna!"
    }
  ],
  "images": [
    "https://bilder.hemnet.se/images/1024x/b5/53/b553cbac76eb3ebd4fe00ffa926baabe.jpg",
    "https://bilder.hemnet.se/images/1024x/63/10/6310369c85913b83c2ddd1fc303e97f1.jpg",
    "https://bilder.hemnet.se/images/1024x/c0/e7/c0e7cb45e6a8cf7736750e424164188e.jpg",
    "https://bilder.hemnet.se/images/1024x/85/2f/852fb9dbbe714248e350fb864cd226e5.jpg",
    "https://bilder.hemnet.se/images/1024x/ee/94/ee947889ed48d1d9e7279567d42f0235.jpg",
    "https://bilder.hemnet.se/images/1024x/b1/5e/b15e0bb856d9b0b21f5f35b304f7d6fb.jpg",
    "https://bilder.hemnet.se/images/1024x/ba/7c/ba7c819dc5b4ed44570b71191950de85.jpg",
    "https://bilder.hemnet.se/images/1024x/44/18/44185120383775e82b5495c336f80420.jpg",
    "https://bilder.hemnet.se/images/1024x/4e/ed/4eed55d8a2887670a72075f11d2f48a4.jpg",
    "https://bilder.hemnet.se/images/1024x/1d/80/1d802aa99a875c9b204e313399076cdb.jpg",
    "https://bilder.hemnet.se/images/1024x/cc/36/cc366530f5d6fa06619e0f668db6a87d.jpg",
    "https://bilder.hemnet.se/images/1024x/6a/75/6a75fe4b348b54218b38f9d77fe4702a.jpg",
    "https://bilder.hemnet.se/images/1024x/b2/48/b2486933b4494b7f3dfcdd49ffb62bac.jpg",
    "https://bilder.hemnet.se/images/1024x/40/95/40951d1b440103a9d1bd0aa5e2d2e638.jpg",
    "https://bilder.hemnet.se/images/1024x/d4/c8/d4c882983cb54555759eff2a6ac55cac.jpg",
    "https://bilder.hemnet.se/images/1024x/45/c8/45c8f82cf9a8bddd153e488767583191.jpg",
    "https://bilder.hemnet.se/images/1024x/bc/fb/bcfb67932286c82022f4bf062ebec677.jpg",
    "https://bilder.hemnet.se/images/1024x/35/36/3536e1806e0e74e7cc00e986b898bd3e.jpg",
    "https://bilder.hemnet.se/images/1024x/4f/ec/4fec4af7b0c3987750b54ab3269870f1.jpg",
    "https://bilder.hemnet.se/images/1024x/fa/55/fa55dca781156ca31e05c4c35df946d2.jpg",
    "https://bilder.hemnet.se/images/1024x/19/4b/194bf002210badd2df7d2209aff0d248.jpg",
    "https://bilder.hemnet.se/images/1024x/b0/68/b068b8c8302c8f5ce01cf81bc67c3f99.jpg",
    "https://bilder.hemnet.se/images/1024x/2c/ae/2caeaa93d60a95c4f763a021e143f10f.jpg",
    "https://bilder.hemnet.se/images/1024x/94/09/9409a277dde8eb8f9f95cab57504122e.jpg",
    "https://bilder.hemnet.se/images/1024x/ba/cf/bacfb2ff8e24d0f05772be1ece1bb456.jpg",
    "https://bilder.hemnet.se/images/1024x/a0/d2/a0d224e6ff5fd311d3a5e561b0eb8ea9.jpg",
    "https://bilder.hemnet.se/images/1024x/f3/ff/f3ff2b56603afe3711c7e71a46152945.jpg",
    "https://bilder.hemnet.se/images/1024x/4e/88/4e881609090f12540cac19a1c7f2620d.jpg",
    "https://bilder.hemnet.se/images/1024x/1a/10/1a10f9104b2b8e8fa7f2087e4abb5b9b.jpg",
    "https://bilder.hemnet.se/images/1024x/48/51/4851a08261a53cf46a1c6752be08e6d2.jpg",
    "https://bilder.hemnet.se/images/1024x/0a/30/0a30a88e69a275525e3b4b6959bd4991.jpg",
    "https://bilder.hemnet.se/images/1024x/7c/14/7c14e0db96877dd6f3d781a11b43d3c5.jpg",
    "https://bilder.hemnet.se/images/1024x/32/31/3231a5e1d208107fdc55cfb37f312c1f.jpg",
    "https://bilder.hemnet.se/images/1024x/47/c1/47c1fc27b32f2fedf98d7442f87e7ff1.jpg",
    "https://bilder.hemnet.se/images/1024x/b2/59/b25938a8751da680660eb8e842e5cafd.jpg",
    "https://bilder.hemnet.se/images/1024x/aa/ac/aaac512582ba569c7d885eec6de27fec.jpg",
    "https://bilder.hemnet.se/images/1024x/90/c0/90c0a9cf84123b66111740303416418d.jpg",
    "https://bilder.hemnet.se/images/1024x/4e/35/4e35f968e0cc41cc65a7d553b671cec0.jpg",
    "https://bilder.hemnet.se/images/1024x/1a/b3/1ab3fa18bb9fecbd0e0d57b046dd3e15.jpg",
    "https://bilder.hemnet.se/images/1024x/4b/af/4bafedba4606050632d41201ae4e98c4.jpg",
    "https://bilder.hemnet.se/images/1024x/71/45/714518edf097a4297409fc76e46bc7c1.jpg",
    "https://bilder.hemnet.se/images/1024x/0d/3f/0d3fc8cd1814dcec45746e522d6ef863.jpg",
    "https://bilder.hemnet.se/images/1024x/6b/98/6b9851fcd6fb274f47790b14a564ea82.jpg",
    "https://bilder.hemnet.se/images/1024x/76/cb/76cb6532ca6c505d07253e6e52f12161.jpg",
    "https://bilder.hemnet.se/images/1024x/ea/30/ea3061a898d5ea2f411611d0c71b3aa2.jpg",
    "https://bilder.hemnet.se/images/1024x/ab/f0/abf0ccc7d3fd159424da6ce3784ee0b7.jpg",
    "https://bilder.hemnet.se/images/1024x/b3/6a/b36afdf5d83e515d7b2e31f9c0bb6044.jpg",
    "https://bilder.hemnet.se/images/1024x/d9/73/d973dbd86a375a2bb787302e78e628b3.jpg",
    "https://bilder.hemnet.se/images/1024x/a9/17/a91727d129099f3ff788915e2333fc6e.jpg",
    "https://bilder.hemnet.se/images/1024x/75/cc/75cc6ca19235e5e21ac3aa07715e4db8.jpg",
    "https://bilder.hemnet.se/images/1024x/b6/09/b609f920c29dff6a49124cc611a60929.jpg",
    "https://bilder.hemnet.se/images/1024x/84/4d/844d89db88b114d60fce8c4aa9b7bf56.jpg",
    "https://bilder.hemnet.se/images/1024x/83/63/8363907014a1b2ae3af13a61f0d4f466.jpg",
    "https://bilder.hemnet.se/images/1024x/e9/85/e985325ae259ec234420462848b1f840.jpg",
    "https://bilder.hemnet.se/images/1024x/85/75/8575f4959f13f0e0e2a4417a3c365f18.jpg",
    "https://bilder.hemnet.se/images/1024x/ea/94/ea94be0c12b33db2e92eedf5a9a7dcc3.jpg",
    "https://bilder.hemnet.se/images/1024x/c8/8e/c88e696767426b35fc2f263cde645373.jpg",
    "https://bilder.hemnet.se/images/1024x/fb/f5/fbf55f3665a86dccd10b74e2bf519658.jpg",
    "https://bilder.hemnet.se/images/1024x/3d/c0/3dc010ab74aba91ccb274ed031d219f3.jpg",
    "https://bilder.hemnet.se/images/1024x/0d/30/0d30d77ef5ee7f50b61d715f55236ebb.jpg",
    "https://bilder.hemnet.se/images/1024x/dd/a9/dda95306bbb690d273f5417f3bfeb1c3.jpg",
    "https://bilder.hemnet.se/images/1024x/e5/14/e514bb38d9d472db8483df132737fb69.jpg",
    "https://bilder.hemnet.se/images/1024x/d3/63/d363bb28fede312ba8b93f0575abdc93.jpg",
    "https://bilder.hemnet.se/images/1024x/38/9a/389ae3d4fce95e036bdf460f4e655d17.jpg",
    "https://bilder.hemnet.se/images/1024x/54/57/5457a7fa945470cace460ff082229950.jpg",
    "https://bilder.hemnet.se/images/1024x/6e/8e/6e8eb4fad71a1062ef56b7dbd594b36a.jpg",
    "https://bilder.hemnet.se/images/1024x/32/bf/32bf2bea73819dbe9c5cea5e4f2a2e44.jpg",
    "https://bilder.hemnet.se/images/1024x/ac/57/ac5777b31d55f69c65c6194b43b8339c.jpg"
  ],
  "floor_plan_images": [
    "https://bilder.hemnet.se/images/1024x/7e/d6/7ed665e957ecb73f0fa59f6ccb611473.jpg",
    "https://bilder.hemnet.se/images/1024x/51/3a/513aacd9a651ebf2da5172c11f9fc90d.jpg",
    "https://bilder.hemnet.se/images/1024x/f5/52/f552a68c92139c06bd98bc6a8729129b.jpg"
  ],
  "total_images": 71
}, // ... Many other property details
]
```

The scraper extracts an extensive range of property data fields, each serving specific analytical and business purposes:

#### Property Identification

**ID** (String)

- Unique Hemnet listing identifier extracted from the URL
- Use for: Database primary keys, tracking specific properties over time, avoiding duplicate entries

**URL** (String)

- Complete link to the original property listing
- Use for: Direct reference, verification, sharing with stakeholders, re-scraping updated information

**Title** (String)

- Property headline typically including type, room count, and location
- Use for: Quick identification, search indexing, report generation

#### Location Information

**Street Address** (String)

- Complete street address including street name and number
- Use for: Geocoding, neighborhood analysis, proximity calculations

**Post Code** (String)

- Swedish postal code (typically 5 digits with space: "XXX XX")
- Use for: Regional segmentation, demographic matching, delivery route planning

**Area** (String)

- District or neighborhood name within the municipality
- Use for: Micro-market analysis, neighborhood comparison, local trend identification

**Locations** (Array of Objects)

- Hierarchical location data (city, municipality, region)
- Use for: Multi-level geographic analysis, filtering by administrative boundaries

#### Financial Data

**Asking Price** (String)

- Formatted asking price with currency (e.g., "3 500 000 kr")
- Use for: Display purposes, human-readable reports

**Asking Price Amount** (Number)

- Numerical value of asking price without formatting
- Use for: Calculations, price trend analysis, statistical modeling, comparison algorithms

**Square Meter Price** (Number)

- Price per square meter (kr/m²)
- Use for: Value comparison across different-sized properties, identifying over/underpriced listings

**Monthly Fee** (String)

- Formatted monthly maintenance fee (for apartments/condos)
- Use for: Display in reports

**Monthly Fee Amount** (Number)

- Numerical monthly fee value
- Use for: Total ownership cost calculations, comparing cooperative housing options

**Running Costs** (String/Number)

- Ongoing operational costs (utilities, maintenance for houses)
- Use for: Total cost of ownership analysis, budget planning

#### Property Specifications

**Number of Rooms** (String)

- Room count (e.g., "3 rum" or "5 rum och kök")
- Use for: Property categorization, family size matching, filtering search results

**Living Area** (String)

- Formatted living space with unit (e.g., "85 m²")
- Use for: Display purposes

**Living Area (sqm)** (Number)

- Numerical square meter value
- Use for: Space calculations, price-per-meter calculations, size-based filtering

**Floor** (String/Number)

- Floor number for apartments (e.g., "2" or "2 av 4")
- Use for: Preference filtering, accessibility considerations, view potential assessment

**Construction Year** (String/Number)

- Year the building was constructed
- Use for: Age analysis, renovation needs assessment, energy efficiency estimation, historical value

**Energy Class** (String)

- Energy rating classification (A-G scale)
- Use for: Sustainability analysis, operating cost estimation, environmental compliance

**Housing Form** (String)

- Property type classification (e.g., "Bostadsrätt", "Villa", "Radhus")
- Use for: Market segmentation, investment category filtering, legal classification

**Tenure** (String)

- Ownership form (e.g., "Äganderätt" - freehold, "Bostadsrätt" - cooperative)
- Use for: Legal analysis, financing options, investment risk assessment

#### Property Details

**Description** (String/Text)

- Full property description from the listing
- Use for: Feature extraction, sentiment analysis, marketing copy analysis, NLP processing

**Amenities** (Array of Strings)

- List of features and facilities (e.g., "Balkong", "Hiss", "Fiber")
- Use for: Feature-based filtering, amenity value analysis, buyer preference matching

**Labels** (Array of Strings)

- Special tags or badges (e.g., "Nyproduktion", "Nytt pris")
- Use for: Identifying recently reduced prices, new construction, urgent sales

#### Market Activity

**Bidding Ongoing** (Boolean)

- Indicates if active bidding is in progress
- Use for: Hot market identification, urgency assessment, price prediction modeling

**Days on Hemnet** (Number)

- Number of days the listing has been active
- Use for: Time-on-market analysis, seller motivation assessment, price reduction prediction

**Published At** (DateTime/String)

- Original publication timestamp
- Use for: Chronological sorting, time-series analysis, seasonality studies

**Times Viewed** (Number)

- View count for the listing
- Use for: Interest level measurement, demand indicator, comparative popularity analysis

#### Location Features

**Water Distance (meters)** (Number)

- Distance to nearest body of water
- Use for: Premium pricing factors, lifestyle preference matching, environmental features

**Coastline Distance (meters)** (Number)

- Distance to coastline
- Use for: Waterfront property identification, location premium calculation

#### Professional Information

**Broker** (Object/String)

- Real estate agent details (name, contact, photo)
- Use for: Agent performance tracking, contact information, professional network analysis

**Agency** (Object/String)

- Real estate agency information (name, logo, contact)
- Use for: Market share analysis, agency comparison, lead generation

**Housing Cooperative** (Object/String)

- Cooperative association details (for Bostadsrätt properties)
- Use for: Association reputation research, governance analysis, fee comparison

#### Viewing Information

**Open Houses** (Array of Objects)

- Scheduled viewing times and dates
- Use for: Event planning, buyer interest coordination, timeline tracking

#### Visual Assets

**Images** (Array of URLs)

- Property interior/exterior photo URLs
- Use for: Visual analysis, marketing materials, virtual tours, AI-based feature detection

**Floor Plan Images** (Array of URLs)

- Architectural floor plan images
- Use for: Layout analysis, space planning, conversion potential assessment

**Total Images** (Number)

- Total count of all images
- Use for: Listing quality assessment, presentation completeness indicator

#### Sample Output

### How to Use: Step-by-Step Guide

#### Step 1: Collect Property URLs

- Browse Hemnet.se to find properties matching your criteria
- Copy complete URLs from individual property listings
- Organize URLs in a list or spreadsheet for batch processing

#### Step 2: Configure Your Input

- Set `max_retries_per_url` to 2 or 3 for reliability
- Enable proxy with `"useApifyProxy": true`
- Use `"RESIDENTIAL"` proxy group to avoid detection
- Set proxy country to `"SE"` for Sweden-based scraping
- Enable `ignore_url_failures` for batch jobs

#### Step 3: Run the Scraper

- Submit your configuration with target URLs
- Monitor progress as the scraper processes each listing
- Review any failed URLs if `ignore_url_failures` is set to true

#### Step 4: Process the Output

- Export data to CSV, JSON, or database format
- Clean and validate extracted information
- Apply data analysis or integrate with your systems

#### Best Practices

**URL Management**

- Verify URLs are active before batch processing
- Group similar properties for efficient analysis
- Keep a record of when URLs were scraped for time-series data

**Proxy Configuration**

- Always use residential proxies for reliable access
- Match proxy country (SE) to target website location
- Rotate proxies for large-scale scraping operations

**Error Handling**

- Review failed URLs and retry with adjusted settings
- Check for pattern in failures (specific property types, regions)
- Consider rate limiting for very large batches

**Data Quality**

- Validate extracted data against sample manual checks
- Handle missing fields appropriately in your analysis
- Update your dataset regularly as listings change

#### Common Issues and Solutions

**Issue: High failure rate**

- Solution: Increase `max_retries_per_url`, verify URLs are accessible, check proxy settings

**Issue: Missing data fields**

- Solution: Some listings may not include all fields; implement null-value handling in your analysis

**Issue: Slow processing**

- Solution: Reduce batch size, optimize proxy configuration, consider parallel processing

**Issue: Outdated information**

- Solution: Re-scrape URLs periodically to capture price changes, new images, or updated descriptions

### Benefits and Applications: Real-World Use Cases

#### Time Efficiency

Manual data collection from hundreds of property listings would require dozens of hours. The Hemnet.se Property Scraper completes the same task in minutes, freeing professionals to focus on analysis and decision-making rather than data entry.

#### Market Intelligence

- **Price Trend Analysis**: Track asking prices and price-per-square-meter across regions and property types to identify market movements
- **Inventory Monitoring**: Monitor days-on-market and view counts to gauge demand levels in different neighborhoods
- **Competitive Analysis**: Compare your listings against similar properties to optimize pricing strategies

#### Investment Research

- **Opportunity Identification**: Filter properties by price, location, and features to find undervalued opportunities
- **Portfolio Diversification**: Analyze property types, locations, and price ranges to build balanced portfolios
- **Risk Assessment**: Evaluate construction years, energy classes, and monthly fees to estimate ongoing costs

#### Professional Applications

- **Real Estate Agencies**: Benchmark your listings, track competitor activity, and identify market gaps
- **Property Developers**: Research target areas, analyze housing stock characteristics, and identify development opportunities
- **Financial Institutions**: Assess collateral values, monitor market conditions, and support lending decisions
- **Academic Research**: Study housing patterns, price dynamics, and urban development trends with comprehensive datasets

#### Business Value

By automating data collection, organizations can:

- Respond faster to market changes with up-to-date information
- Make evidence-based decisions using comprehensive datasets
- Scale research operations without proportional staff increases
- Improve accuracy by eliminating manual data entry errors
- Generate regular reports and dashboards with fresh data

### Legal and Ethical Considerations

Hemnet is a publicly accessible platform where property sellers pay to list their homes, and the information is intended for public viewing. However, users should:

- Respect robots.txt directives and website terms of service
- Use scraped data responsibly and ethically
- Avoid excessive request rates that could burden Hemnet's servers
- Not republish scraped data in ways that compete directly with Hemnet
- Comply with GDPR and Swedish data protection laws when handling personal information (broker contacts, etc.)
- Attribute data sources appropriately in published research or reports

This scraper is designed for legitimate research, analysis, and business intelligence purposes. Users are responsible for ensuring their use complies with applicable laws and regulations.

### Conclusion: Transform Your Real Estate Data Strategy

The Hemnet.se Property Scraper provides professional-grade access to Sweden's most comprehensive real estate data source. By automating the extraction of detailed property information, this tool enables data-driven decision-making in the Swedish housing market.

Whether you're tracking market trends, researching investment opportunities, or conducting comprehensive property analysis, this scraper delivers the reliable, structured data you need to succeed. With its comprehensive field coverage, robust error handling, and flexible configuration options, you can focus on insights rather than data collection.

Start extracting valuable property intelligence from Hemnet.se today and gain the competitive advantage that comes from better data.

## Related Actors

- [**hemnet.it Property Search Scraper**](https://apify.com/ecomscrape/hemnet-property-search-scraper): A specialized data extraction tool engineered to harvest detailed property information from hemnet's property marketplace.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about hemnet.it Property Details Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Specific property urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

## `ignore_url_failures` (type: `boolean`):

If a URL fails to load after the maximum number of retries, ignore the failure and continue with the next URL.

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.hemnet.se/bostad/lagenhet-3rum-trandared-boras-kommun-kransvagen-186-21505079"
  ],
  "max_retries_per_url": 2,
  "ignore_url_failures": true,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.hemnet.se/bostad/lagenhet-3rum-trandared-boras-kommun-kransvagen-186-21505079"
    ],
    "max_retries_per_url": 2,
    "ignore_url_failures": true,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/hemnet-property-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.hemnet.se/bostad/lagenhet-3rum-trandared-boras-kommun-kransvagen-186-21505079"],
    "max_retries_per_url": 2,
    "ignore_url_failures": True,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/hemnet-property-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.hemnet.se/bostad/lagenhet-3rum-trandared-boras-kommun-kransvagen-186-21505079"
  ],
  "max_retries_per_url": 2,
  "ignore_url_failures": true,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call ecomscrape/hemnet-property-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/hemnet-property-details-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/46gaPh1lOYdGIGgSo/builds/y6Uq46rz1NIdLnuFt/openapi.json
