Hemnet.se Scraper
Pricing
from $1.49 / 1,000 listings
Hemnet.se Scraper
Extract for-sale property listings from Hemnet.se, Sweden's largest housing portal. Get prices, addresses, rooms, living area, and broker details as structured JSON.
Pricing
from $1.49 / 1,000 listings
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Share

Extract property listings from hemnet.se at scale, in a clean, consistent structure ready for market analysis, valuation models, lead generation and monitoring. No API key required.
Why this scraper?
🎯 Built for Sweden
A dedicated Swedish scraper, not a global tool with a country dropdown. Locations, price formats and currency (SEK) are tuned for hemnet.se.
💶 Structured pricing
Asking price or rent as a clean number in SEK, plus the price exactly as displayed. Price-on-request listings return null, never a guess.
🏠 Property characteristics
Bedrooms, rooms, surface and property type in structured fields, ready for filtering and analysis.
📄 Full listing content
Complete listing description and title for every record, with a direct link back to the source.
📍 Precise location
Address fields plus latitude/longitude for mapping and radius analysis.
🖼️ Listing photos
Photo URLs for every listing where the source publishes them.
🔁 Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new listings instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
location | string | "Stockholm" | Swedish location by name — any municipality, city, district, or county (e.g. 'Stockholm', 'Lund', 'Umeå', 'Vasastan'). Resolved automatically against Hemnet. Leave empty to use Location ID or Start URLs. |
locationId | string | (empty) | Exact Hemnet location ID, e.g. '17744'. Overrides the Location name field. Find it in the location_ids[] parameter of any hemnet.se search URL. |
listingStatus | string | "for_sale" | Scrape active for-sale listings or historical sold prices. |
housingType | string | "apartment" | Which property category to scrape. |
sortBy | string | "newest" | Sort order (for-sale listings only). |
minPrice | integer | (empty) | Minimum asking price in SEK. |
maxPrice | integer | (empty) | Maximum asking price in SEK. |
minRooms | integer | (empty) | Minimum number of rooms. |
maxRooms | integer | (empty) | Maximum number of rooms. |
livingAreaMin | integer | (empty) | Minimum living area in square metres. |
livingAreaMax | integer | (empty) | Maximum living area in square metres. |
daysOld | integer | (empty) | For-sale only: return listings published within the last N days (requires Newest sort). Leave empty for no recency filter — ideal for a daily feed. |
maxItems | integer | 100 | Maximum number of listings to return. Set to 0 for unlimited. |
startUrls | array | (empty) | Paste full hemnet.se search URLs (/bostader or /salda). Filters in the URL are honoured. Overrides the Location and filter fields above. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given listing are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
id | string | Hemnet sale ID |
url | string | Sold listing page URL |
slug | string | URL slug |
transaction | string | Always sold |
propertyType | string | Housing form name |
housingFormSymbol | string | Housing form code (APARTMENT, HOUSE…) |
recordType | string | COMMON, PROJECT, etc. |
activePackage | string | Listing tier (PREMIUM, STANDARD) |
hemnetBusiness | boolean | Whether it is a Hemnet Business listing |
isNewConstruction | boolean | New construction flag |
isUpcoming | boolean | Upcoming listing flag |
isRemovedBeforeShowing | boolean | Removed before showing flag |
priceText | string | Asking price as shown (e.g. "2 295 000 kr") |
priceAmount | number | Asking price as a number (SEK) |
priceCurrency | string | Always SEK |
squareMeterPriceAmount | number | Final price per m² (SEK) |
squareMeterPriceText | string | Price per m² as shown |
monthlyFeeAmount | number | Monthly fee / avgift (SEK) |
monthlyFeeText | string | Monthly fee as shown |
streetAddress | string | Street address |
area | string | Area / district name |
municipality | string | Municipality (kommun) |
locationDescription | string | Full location string |
country | string | Always SE |
latitude | number | Latitude of the property. |
longitude | number | Longitude of the property. |
rooms | number | Room count |
roomsText | string | Room count as shown |
areaM2 | number | Living area in m² |
livingAreaText | string | Living area as shown |
landAreaM2 | string | Land area in m² (houses/plots) |
floorText | string | Floor as shown (e.g. "vån 1/8") |
floorNumber | number | Floor number |
totalFloors | number | Total floors in building |
showings | array | Scheduled showing times |
features | array | Feature labels (Balkong, Hiss…) |
stateLabels | array | State labels |
images | array | Image URLs |
agencyName | string | Broker agency name |
publishDate | string | Publish date (YYYY-MM-DD) |
publishDateISO | string | Publish date (ISO 8601) |
projectId | string | Project ID (project listings) |
description | string | Listing description |
descriptionMarkdown | string | Description in Markdown/plain text. |
source | string | Always hemnet.se |
scrapedAt | string | Scrape timestamp |
contentHash | string | Change-detection hash |
Example record
{"id": "21715959","url": "https://www.hemnet.se/bostad/lagenhet-2rum-edsberg-sollentuna-kommun-flintlasvagen-37-21715959","slug": "lagenhet-2rum-edsberg-sollentuna-kommun-flintlasvagen-37-21715959","transaction": "sale","propertyType": "Lägenhet","housingFormSymbol": "APARTMENT","recordType": "COMMON","activePackage": "PREMIUM","hemnetBusiness": true,"isNewConstruction": false,"isUpcoming": false,"isRemovedBeforeShowing": false,"priceText": "2 050 000 kr","priceAmount": 2050000,"priceCurrency": "SEK","squareMeterPriceAmount": 32800,"squareMeterPriceText": "32 800 kr/m²","monthlyFeeAmount": 3788,"monthlyFeeText": "3 788 kr/mån","streetAddress": "Flintlåsvägen 37","area": "Edsberg","municipality": "Sollentuna kommun","locationDescription": "Edsberg, Sollentuna kommun","country": "SE","latitude": 59.4476128,"longitude": 17.9605122,"rooms": 2,"roomsText": "2 rum","areaM2": 62.5,"livingAreaText": "62,5 m²","landAreaM2": null,"floorText": null,"floorNumber": null,"totalFloors": null,"showings": ["Sön 5 jul"],"features": ["Balkong"],"stateLabels": ["Sön 5 jul"],"images": ["https://bilder.hemnet.se/images/itemgallery_cut/80/36/80363a232a2e79cde8ee547b276b0947.jpg","https://bilder.hemnet.se/images/itemgallery_cut/ab/78/ab786d3ed0eb52db4e042c9028182050.jpg","https://bilder.hemnet.se/images/itemgallery_cut/86/f7/86f71685bf51007d7fae5cef76810a48.jpg","https://bilder.hemnet.se/images/itemgallery_cut/70/02/7002fa5874c346986b25320b00bd5ad7.jpg"],"agencyName": "HusmanHagberg Sollentuna","publishDate": "2026-07-02","publishDateISO": "2026-07-02T15:37:45.000Z","projectId": null,"description": "Välkommen till en trivsam och välplanerad lägenhet där varje kvadratmeter är genomtänkt. Här erbjuds moderna materialval, generösa ljusinsläpp och en fin utsikt över grönska och vatten.\r\n\r\nEntrén öppn …","descriptionMarkdown": "Välkommen till en trivsam och välplanerad lägenhet där varje kvadratmeter är genomtänkt. Här erbjuds moderna materialval, generösa ljusinsläpp och en fin utsikt över grönska och vatten.\r\n\r\nEntrén öppn …","source": "hemnet.se","scrapedAt": "2026-07-02T15:45:00.547Z","contentHash": "a7b50509043ea730"}
Examples
Listings in Stockholm:
{"location": "Stockholm","maxItems": 100}
Cap the price:
{"location": "Stockholm","maxItems": 100,"maxPrice": 3450000}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.hemnet.se/bostader?location_ids%5B%5D=17744&item_types%5B%5D=bostadsratt&rooms_min=3"}],"maxItems": 200}
Daily feed of new listings (run on a schedule):
{"location": "Stockholm","daysOld": 1,"maxItems": 500}
Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours.
💰 Pricing
$1.79 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.18 |
| 1,000 | ~$1.79 |
| 10,000 | ~$17.90 |
| 100,000 | ~$179 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $1.29 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Some fields (surface, year built, energy label) are only returned when the lister publishes them — expect
nullon a share of records. - Listing photos and agent details vary per listing; the scraper returns what the source publishes and never invents data.
- Very large result sets are bounded by the source's own paging limits.
- Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: hemnet.se — Sweden property listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl