Hemnet Scraper – Swedish Real Estate Listings & Sold Prices avatar

Hemnet Scraper – Swedish Real Estate Listings & Sold Prices

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Hemnet Scraper – Swedish Real Estate Listings & Sold Prices

Hemnet Scraper – Swedish Real Estate Listings & Sold Prices

Extract active listings AND sold prices (slutpriser) from Hemnet.se, Sweden's #1 property portal. Price, m² price, rooms, fee, address, broker, coordinates & sale history.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Hemnet Scraper – Swedish Real Estate Listings & Sold Prices (Slutpriser)

Extract active property listings and historical sold prices (slutpriser) from Hemnet.se — Sweden's #1 real estate marketplace, where 90%+ of all Swedish homes for sale are advertised. Pull clean, structured JSON, CSV, or Excel data with asking prices, final sale prices, price per square meter, fees, rooms, living area, addresses, broker details, GPS coordinates and more.

Whether you are building a property valuation model, monitoring the Swedish housing market, generating real-estate leads, or feeding a data product — this scraper turns Hemnet into a reliable, on-demand data feed. No code, no infrastructure, no maintenance.

🇸🇪 The only Hemnet scraper that covers BOTH homes for sale and sold prices. Most tools only scrape active listings. Sold prices (slutpriser) are the single most valuable dataset on Hemnet — and the one your competitors don't have.


⭐ Why this Hemnet scraper?

  • Sold prices (slutpriser) included — scrape 1.5M+ historical sales with final price, asking price, price change %, and sale date. Perfect for valuations and CMA.
  • Active listings (till salu) — every home currently for sale, with asking price, fee and m² price.
  • Dead-simple targeting — paste any Hemnet search URL (set your filters on the site, copy the link), or try a plain location name like "Stockholm".
  • Powerful filters — property type, price range, number of rooms, living area, and time window for sold homes.
  • 30+ structured fields — addresses, coordinates, brokers, agencies, fees, areas and more.
  • Optional deep enrichment — pull full descriptions and all photos for every property.
  • Reliable at scale — automatic pagination and de-duplication across thousands of listings.
  • Any format — export to JSON, CSV, Excel, XML, or pull via API.

📋 Table of contents

  1. What is Hemnet?
  2. What data can you extract?
  3. Use cases
  4. How to use the Hemnet scraper
  5. Input examples
  6. Output example
  7. Output fields reference
  8. Tips for best results
  9. FAQ
  10. Integrations

🏠 What is Hemnet?

Hemnet is Sweden's largest and most popular property platform. It is the central marketplace for buying and selling homes in Sweden, with over 90% of all property sales passing through the site. Millions of Swedes visit Hemnet every week to browse:

  • 🏢 Bostadsrätter (cooperative apartments)
  • 🏡 Villor (houses)
  • 🏘️ Radhus (townhouses)
  • 🌲 Fritidshus (vacation homes)
  • 🌳 Tomter (plots of land)
  • 🚜 Gårdar (farms)

Because Hemnet aggregates nearly the entire Swedish housing market — both current listings and a deep archive of final sale prices — it is the single richest public source of Swedish real-estate data. This scraper unlocks that data for analysis, automation and product building.


📦 What data can you extract?

This actor extracts two complementary datasets from Hemnet:

1. Homes for sale (till salu)

Everything currently on the market: asking price, monthly fee, price per square meter, rooms, living area, address, area, municipality, broker and agency, GPS coordinates, and a thumbnail image.

2. Sold prices (slutpriser) — the money data 💰

Hemnet keeps a public archive of 1.5+ million sold homes. For each sold property you get the final sale price, the original asking price, the price change in % and SEK (how far above or below asking it sold), the sale date, and full property specs. This is the dataset that powers:

  • Automated valuation models (AVMs)
  • Comparative market analysis (CMA)
  • "What did the neighbor's apartment sell for?" tools
  • Investment and yield analysis
  • Market trend dashboards

Nothing else on the market combines both in a single, easy-to-use scraper.


🎯 Use cases — who is this for?

🏦 Real estate investors & analysts

Track sold prices and asking prices across neighborhoods to spot under- and over-valued areas, calculate yields, and time the market.

💼 PropTech & startups

Power your app, valuation model, or comparison site with fresh Swedish housing data — without building and maintaining a scraper yourself.

📊 Market researchers & journalists

Analyze price trends, days on market, price-per-m² by region, and how final prices compare to asking prices over time.

🏘️ Real estate agencies & brokers

Benchmark your listings against the competition, monitor pricing in your area, and build automated CMA reports for clients.

🎯 Lead generation

Identify new listings and the brokers/agencies behind them for B2B outreach and partnership opportunities.

🏦 Banks & mortgage lenders

Feed sold-price data into risk and collateral valuation models for the Swedish market.

🤖 Data products & AI

Build training datasets and feeds for real-estate machine learning models, chatbots, and analytics dashboards.


🚀 How to use the Hemnet scraper

You don't need any coding skills. There are two ways to target properties:

  1. Go to hemnet.se and search normally — pick your area, property type, price range, and (for sold prices) open the Slutpriser tab.
  2. Copy the URL from your browser's address bar.
  3. Paste it into the Start URLs field of this actor. You can add several URLs.
  4. Set Max items if you want a limit, then click Start.

The scraper auto-detects whether the URL is for homes for sale or sold prices, handles pagination, and streams results into your dataset. Export to JSON, CSV, Excel, or pull via the API.

💡 This is the most reliable method because the URL already contains Hemnet's exact area IDs and filters.

⚡ Quick: type a location name (best-effort)

  1. Choose a listing typeFor sale (till salu) or Sold prices (slutpriser).
  2. Enter a location — e.g. Stockholm or Göteborg. The scraper attempts to resolve it automatically.
  3. (Optional) add filters — property types, price range, rooms, living area, and (for sold homes) the time window.
  4. Click Start.

If a location name can't be resolved, the actor will tell you — just switch to the Start URLs method above, which always works.


📝 Input examples

Example 1 — Apartments for sale in Stockholm

{
"listingType": "forSale",
"location": "Stockholm",
"propertyTypes": ["bostadsratt"],
"maxItems": 200
}

Example 2 — Sold houses in Göteborg over the last 12 months 💰

{
"listingType": "sold",
"location": "Göteborgs kommun",
"propertyTypes": ["villa"],
"soldAge": "12m",
"maxItems": 500
}

Example 3 — High-end sold apartments in Stockholm county, 3+ rooms

{
"listingType": "sold",
"location": "Stockholms län",
"propertyTypes": ["bostadsratt"],
"roomsMin": 3,
"priceMin": 8000000,
"soldAge": "12m"
}

Example 4 — Crawl a ready-made Hemnet URL with full details

{
"startUrls": [
{ "url": "https://www.hemnet.se/salda/bostader?location_ids%5B%5D=17744&item_types%5B%5D=villa&sold_age=12m" }
],
"fetchDetails": true,
"maxItems": 100
}

📤 Output example

Each property is saved as a clean JSON record. Example of a sold apartment:

{
"listingType": "sold",
"id": "21234567",
"url": "https://www.hemnet.se/salda/lagenhet-3rum-sodermalm-stockholms-kommun-21234567",
"propertyType": "Lägenhet",
"address": "Götgatan 25",
"area": "Södermalm",
"municipality": "Stockholms kommun",
"county": "Stockholms län",
"askingPrice": 5200000,
"finalPrice": 5650000,
"priceChange": 450000,
"priceChangePercent": 8.7,
"squareMeterPrice": 94166,
"fee": 3120,
"rooms": "3",
"livingArea": 60,
"supplementalArea": null,
"plotArea": null,
"constructionYear": "1928",
"soldDate": "2026-05-14",
"broker": "Anna Svensson",
"brokerAgency": "Notar",
"latitude": 59.3148,
"longitude": 18.0732,
"thumbnail": "https://bilder.hemnet.se/images/...",
"scrapedAt": "2026-06-02T10:00:00.000Z"
}

And an active listing:

{
"listingType": "forSale",
"id": "21987654",
"url": "https://www.hemnet.se/bostad/villa-6rum-kungsbacka-21987654",
"propertyType": "Villa",
"address": "Ekvägen 12",
"area": "Kungsbacka",
"municipality": "Kungsbacka kommun",
"askingPrice": 7950000,
"finalPrice": null,
"squareMeterPrice": 51290,
"fee": null,
"rooms": "6",
"livingArea": 155,
"plotArea": 850,
"constructionYear": "2005",
"broker": "Erik Larsson",
"brokerAgency": "Fastighetsbyrån",
"latitude": 57.4878,
"longitude": 12.0765,
"scrapedAt": "2026-06-02T10:00:00.000Z"
}

📚 Output fields reference

FieldDescription
listingTypeforSale or sold
idHemnet listing ID
urlDirect link to the property page
propertyTypeApartment, house, townhouse, plot, etc.
addressStreet address
areaNeighborhood / district
municipalityMunicipality (kommun)
countyCounty (län)
askingPriceListed asking price in SEK
finalPriceFinal sale price in SEK (sold homes only)
priceChangeDifference between final and asking price (SEK)
priceChangePercentPrice change vs. asking, in %
squareMeterPricePrice per square meter (SEK/m²)
feeMonthly association fee (SEK), apartments
roomsNumber of rooms
livingAreaLiving area in m²
supplementalAreaSupplemental area (biarea) in m²
plotAreaPlot / land area in m²
constructionYearYear built
soldDateDate the property was sold
brokerListing broker name
brokerAgencyReal estate agency
latitude / longitudeGPS coordinates
thumbnailPrimary image URL
scrapedAtWhen the record was collected (ISO 8601)

When Fetch full details is enabled, records also include a full description and an images array.


💡 Tips for best results

  • 🔗 Use Start URLs for precise targeting. Set your filters on hemnet.se, copy the URL, and paste it in — it's the most accurate way to get exactly the segment you want.
  • 🔍 Be specific with locations. "Stockholm" matches the city, but "Stockholms län" (county) or "Stockholms kommun" (municipality) give you a precise area.
  • 📄 A single Hemnet search returns at most ~2,500 results. To collect more, split a large area into smaller districts or municipalities and run them separately (or as multiple Start URLs).
  • Skip "Fetch full details" for large jobs. It collects extra data for every property and is slower. Leave it off when you only need the core fields.
  • 💰 For valuations, use sold + soldAge: 12m. Recent comparable sales are the gold standard for estimating value.
  • 🎯 Combine filters (price + rooms + area) to zero in on exactly the segment you care about.

❓ Frequently asked questions

Does this scraper get sold prices (slutpriser)?

Yes — and that's its biggest advantage. Set listingType to sold to scrape Hemnet's archive of final sale prices, including how much above or below asking each home sold for. Most other Hemnet scrapers only cover active listings.

Do I need to know Hemnet's location IDs?

No. The easiest and most reliable approach is to search on hemnet.se the way you normally would, then copy the URL from your browser into Start URLs — the area IDs are already baked into that link. You can also just type a location name (best-effort); if it can't be resolved, the actor will ask you to use a Start URL.

What's the difference between asking price and final price?

Asking price (utgångspris) is what the seller advertised. Final price (slutpris) is what the home actually sold for. The priceChange and priceChangePercent fields show the gap — a key market-temperature indicator.

How many properties can I scrape?

As many as you need across multiple searches. Note that a single Hemnet search is capped at ~2,500 results by the site itself, so split large areas into smaller ones to go beyond that.

What formats can I export to?

JSON, CSV, Excel, XML, RSS, or programmatically via the Apify API. The data also includes a clean tabular overview view in the dataset.

Can I run this on a schedule?

Yes. Use Apify Schedules to run the scraper hourly, daily, or weekly and keep your dataset fresh — great for monitoring new listings or tracking sold prices over time.

Can I get notified of new listings?

Combine scheduled runs with Apify integrations (webhooks, Make, Zapier, Slack, email) to get alerts whenever new properties match your criteria.


🔌 Integrations & exporting your data

This actor works seamlessly with the Apify ecosystem:

  • API — pull results programmatically with a single HTTP request.
  • Webhooks — trigger downstream workflows when a run finishes.
  • Make / Zapier — connect Hemnet data to thousands of apps with no code.
  • Google Sheets, Slack, email — push results where your team works.
  • Schedules — automate recurring runs to keep data fresh.

Results can be downloaded as JSON, CSV, Excel, XML, or RSS at any time.


🆘 Support

Found a bug or need a new field or filter? Open an issue on the actor's Issues tab. Feedback and feature requests are welcome — this scraper is actively maintained.

Happy scraping! 🏠🇸🇪