Hemnet Scraper – Swedish Real Estate Listings & Sold Prices
Pricing
from $2.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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
- What is Hemnet?
- What data can you extract?
- Use cases
- How to use the Hemnet scraper
- Input examples
- Output example
- Output fields reference
- Tips for best results
- FAQ
- 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:
✅ Recommended: paste a Hemnet search URL (most reliable)
- Go to hemnet.se and search normally — pick your area, property type, price range, and (for sold prices) open the Slutpriser tab.
- Copy the URL from your browser's address bar.
- Paste it into the Start URLs field of this actor. You can add several URLs.
- 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)
- Choose a listing type — For sale (till salu) or Sold prices (slutpriser).
- Enter a location — e.g.
StockholmorGöteborg. The scraper attempts to resolve it automatically. - (Optional) add filters — property types, price range, rooms, living area, and (for sold homes) the time window.
- 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
| Field | Description |
|---|---|
listingType | forSale or sold |
id | Hemnet listing ID |
url | Direct link to the property page |
propertyType | Apartment, house, townhouse, plot, etc. |
address | Street address |
area | Neighborhood / district |
municipality | Municipality (kommun) |
county | County (län) |
askingPrice | Listed asking price in SEK |
finalPrice | Final sale price in SEK (sold homes only) |
priceChange | Difference between final and asking price (SEK) |
priceChangePercent | Price change vs. asking, in % |
squareMeterPrice | Price per square meter (SEK/m²) |
fee | Monthly association fee (SEK), apartments |
rooms | Number of rooms |
livingArea | Living area in m² |
supplementalArea | Supplemental area (biarea) in m² |
plotArea | Plot / land area in m² |
constructionYear | Year built |
soldDate | Date the property was sold |
broker | Listing broker name |
brokerAgency | Real estate agency |
latitude / longitude | GPS coordinates |
thumbnail | Primary image URL |
scrapedAt | When 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! 🏠🇸🇪