Hemnet Sweden Real Estate & Broker Contacts Scraper
Pricing
from $25.50 / 1,000 results
Hemnet Sweden Real Estate & Broker Contacts Scraper
Scrape Sweden property listings from Hemnet: asking price, address, municipality, rooms, living area, fee, floor, coordinates and the listing broker and agency. Filter by location, property type and rooms. Export to JSON, CSV or Excel.
Pricing
from $25.50 / 1,000 results
Rating
4.5
(2)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Hemnet Sweden Real Estate & Broker Contacts Scraper
Here is one real result, with every field the actor returns (the long Swedish description is trimmed to a dash-free excerpt; the real value continues):
{"searchLocation": "Stockholm","id": "21751855","streetAddress": "Västmannagatan 90","price": 7950000,"priceText": "7 950 000 kr","squareMeterPrice": 118657,"area": "Vasastan","municipality": "Stockholms kommun","locationDescription": "Vasastan, Stockholms kommun","propertyType": "Lägenhet","propertyTypeCode": "APARTMENT","rooms": 2,"roomsText": "2 rum","livingArea": 67,"livingAreaText": "67 m²","landArea": null,"fee": 3182,"feeText": "3 182 kr/mån","floor": "vån 0,5/5","newConstruction": false,"publishDate": "2026-07-31T12:42:05.000Z","daysListed": 10,"listingPackage": "PREMIUM","features": "ONGOING_VERIFIED_BIDDING","hasBalcony": false,"hasElevator": false,"showingsCount": 1,"nextShowing": "Idag kl 17:30","lat": 59.34615,"long": 18.04343,"brokerName": "Alexander Nilsson","brokerAgency": "Svensk Fastighetsförmedling Sthlm Vasastan","brokerPhone": null,"brokerPhoto": "https://bilder.hemnet.se/images/broker_profile_small/10/7d/107dc6915954dea9c8feaa1d77c6ac85.png","agencyLogo": "https://bilder.hemnet.se/images/broker_logo_1_2x/2a/4a/2a4a03ea8f74b36983d2f6e61ae5207d.png","description": "Välkommen till denna vackra och genomgående tvårummare med en takhöjd om 301 cm, stora fönster i två väderstreck och alla klassiska sekelskiftesdetaljer bevarade [trimmed]","image": "https://bilder.hemnet.se/images/itemgallery_cut/fb/56/fb5678c81eaf23604fb72501572692bc.jpg","imageCount": 5,"imageUrls": ["https://bilder.hemnet.se/images/itemgallery_cut/fb/56/fb5678c81eaf23604fb72501572692bc.jpg","https://bilder.hemnet.se/images/itemgallery_cut/8a/b2/8ab276362085cf19194aa920078e9239.jpg","https://bilder.hemnet.se/images/itemgallery_cut/f7/e0/f7e02131dbd65c6eaaf68be693bacc26.jpg"],"listingUrl": "https://www.hemnet.se/bostad/lagenhet-2rum-vasastan-stockholms-kommun-vastmannagatan-90-21751855","source": "hemnet.se","observedAt": "2026-08-10T14:31:53.220Z"}
The most complete Hemnet scraper available. It returns every field a Hemnet listing exposes (price, fee, size, rooms, floor, geolocation, showings and the listing broker and agency), plus optional AI summary, feature extraction, translation and contact enrichment, and gives you four filters to target exactly the listings you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches Hemnet for the Swedish locations you list, applies the listing type, property type and room filters you pass, paginates through the matching listings, and writes one normalized record per listing to the run's dataset. Each record includes the price, monthly fee, size, rooms, floor, geolocation, showing schedule and the listing broker and agency. Missing source values are returned as null, and optional paid add-ons can write an English AI summary, extract structured features, translate the Swedish description and find a public broker contact email.
Data covers property listings on hemnet.se. It is independent and has no affiliation with Hemnet.
Quickstart
Open the actor, paste this into the input, and press Run. It returns 10 for-sale listings across Stockholm and Goteborg.
{"maxListings": 10,"locations": ["Stockholm", "Goteborg"],"listingType": "for_sale","propertyType": "any"}
You can also paste a Hemnet location slug such as stockholms-kommun or skane-lan. Every input field is optional; with an empty input the actor searches the prefilled locations (Stockholm, Goteborg).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxListings | integer | no | 10 | Maximum listings to collect across all locations (max 200). Free Apify plans are capped at 10 per run. |
locations | string[] | no | ["Stockholm","Goteborg"] | Swedish cities, municipalities or counties to search (for example Stockholm, Goteborg, Malmo), or a Hemnet location slug like stockholms-kommun. One run searches every location. |
listingType | enum | no | for_sale | Which listings to return: for_sale (all properties for sale) or upcoming. |
propertyType | enum | no | any | Restrict to one property type: any, apartment, villa, townhouse, vacation, or plot. |
minRooms | integer | no | (none) | Only return listings with at least this many rooms (1 to 15). |
withSummary | boolean | no | false | Paid AI add-on. Write a concise English buyer summary of each listing. Billed per summarized listing; paid plans only. |
withFeatures | boolean | no | false | Paid AI add-on. Extract structured beds, baths, size, amenities and condition tags. Billed per processed listing; paid plans only. |
withTranslate | boolean | no | false | Paid AI add-on. Translate the Swedish description into English. Billed per translated listing; paid plans only. |
enrichContacts | boolean | no | false | Paid add-on. For each result without an email, attempt to find a public business contact email and name. Billed per attempt, plus an extra charge only when an email is found. |
enrichContactsMax | integer | no | 50 | Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3. |
Output reference
One dataset item per listing. Types: string, number, integer, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
searchLocation | string | Location from your input that produced this record. |
id | string | Hemnet listing ID. |
streetAddress | string | Street address of the property. |
price | integer | Asking price in SEK. |
priceText | string | Asking price as displayed. |
squareMeterPrice | integer | Price per square meter in SEK, or null. |
area | string | Neighborhood or area name. |
municipality | string | Municipality (kommun). |
locationDescription | string | Combined area and municipality text. |
propertyType | string | Property type in Swedish (for example Lägenhet). |
propertyTypeCode | string | Normalized property type code (for example APARTMENT). |
rooms | number | Number of rooms. |
roomsText | string | Rooms as displayed. |
livingArea | number | Living area in square meters, or null. |
livingAreaText | string | Living area as displayed. |
landArea | number | Land area in square meters, or null. |
fee | integer | Monthly fee in SEK, or null. |
feeText | string | Monthly fee as displayed. |
floor | string | Floor description, or null. |
newConstruction | boolean | Whether the listing is new construction. |
publishDate | string | ISO 8601 publish date. |
daysListed | integer | Whole days the listing has been published. |
listingPackage | string | Hemnet listing package (for example PREMIUM), or null. |
features | string | Listing feature flag such as ONGOING_VERIFIED_BIDDING, or null. |
hasBalcony | boolean | Whether the listing has a balcony. |
hasElevator | boolean | Whether the building has an elevator. |
showingsCount | integer | Number of scheduled showings. |
nextShowing | string | Next showing time as displayed, or null. |
lat | number | Latitude, or null. |
long | number | Longitude, or null. |
brokerName | string | Listing broker name, or null. |
brokerAgency | string | Broker agency name, or null. |
brokerPhone | string | Broker phone, or null. |
brokerPhoto | string | Broker photo URL, or null. |
agencyLogo | string | Agency logo URL, or null. |
description | string | Listing description (Swedish), or null. |
image | string | Primary image URL. |
imageCount | integer | Number of images captured. |
imageUrls | string[] | Image URLs. |
listingUrl | string | Hemnet listing URL. |
source | string | Data source. Always hemnet.se. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
aiSummary | string | English AI summary (add-on), or null. |
aiBeds | number | AI-extracted bedroom count (add-on), or null. |
aiBaths | number | AI-extracted bathroom count (add-on), or null. |
aiSizeSqft | number | AI-extracted size in square feet (add-on), or null. |
aiAmenities | string[] | AI-extracted amenity tags (add-on), or null. |
aiCondition | string | AI-extracted condition tag (add-on), or null. |
aiDescriptionEn | string | English translation of the description (add-on), or null. |
enrichedEmail | string | Public contact email from the contact add-on, or null. |
enrichedContactName | string | Contact person name from the contact add-on, or null. |
enrichedJobTitle | string | Contact job title from the contact add-on, or null. |
enrichedEmailStatus | string | Email verification status from the contact add-on, or null. |
enrichedSource | string | Source URL of the enriched contact, or null. |
enrichedConfidence | number | Confidence of the enriched contact, or null. |
Example output record
Real record from a live run (input {"maxListings":10,"locations":["Stockholm","Goteborg"],"listingType":"for_sale","propertyType":"any"}). The long Swedish description is trimmed to a dash-free excerpt; the real value continues:
{"searchLocation": "Stockholm","id": "21751855","streetAddress": "Västmannagatan 90","price": 7950000,"priceText": "7 950 000 kr","squareMeterPrice": 118657,"area": "Vasastan","municipality": "Stockholms kommun","propertyType": "Lägenhet","propertyTypeCode": "APARTMENT","rooms": 2,"livingArea": 67,"fee": 3182,"floor": "vån 0,5/5","newConstruction": false,"publishDate": "2026-07-31T12:42:05.000Z","daysListed": 10,"listingPackage": "PREMIUM","features": "ONGOING_VERIFIED_BIDDING","showingsCount": 1,"nextShowing": "Idag kl 17:30","lat": 59.34615,"long": 18.04343,"brokerName": "Alexander Nilsson","brokerAgency": "Svensk Fastighetsförmedling Sthlm Vasastan","description": "Välkommen till denna vackra och genomgående tvårummare med en takhöjd om 301 cm, stora fönster i två väderstreck och alla klassiska sekelskiftesdetaljer bevarade [trimmed]","listingUrl": "https://www.hemnet.se/bostad/lagenhet-2rum-vasastan-stockholms-kommun-vastmannagatan-90-21751855","source": "hemnet.se","observedAt": "2026-08-10T14:31:53.220Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~hemnet-sweden-realestate-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"locations":["Stockholm"],"propertyType":"apartment","minRooms":3,"maxListings":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~hemnet-sweden-realestate-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"locations":["Malmo","Goteborg"],"listingType":"for_sale","maxListings":100}'
Apify CLI:
apify call scrapers_lat/hemnet-sweden-realestate-scraper \--input '{"locations":["Uppsala"],"propertyType":"villa"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per listing record returned (
resultevent). See the pricing tab for the current per-result price. - Add-on events. AI summary (
ai_listing_summary), feature extraction (ai_features) and translation (ai_translate) are billed separately, and only when they produce usable output. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run (contact enrichment capped at 3). Upgrade for higher
maxListings.
FAQ and troubleshooting
A run returned 0 records. Why?
The location or filter combination matched nothing. Check the location spelling, loosen filters (for example remove minRooms or set propertyType to any), or try a Hemnet location slug. Zero-result runs are not charged.
Do I get the broker contact? Yes. Each record includes the listing broker name and agency where Hemnet exposes them. A public broker email can be added with the contact enrichment add-on.
Why is the description in Swedish?
Listings are published in Swedish. Enable the withTranslate add-on to add an English aiDescriptionEn field, or withSummary for a short English buyer summary.
Can I search several cities at once?
Yes. List multiple locations and one run searches all of them, tagging each record with its searchLocation.
What is a location slug?
Hemnet identifies areas with slugs like stockholms-kommun or skane-lan. You can paste one directly instead of a city name for a precise search.
Is this an official Hemnet tool? No. This actor is independent and has no affiliation with Hemnet. It reads only publicly available listing information. Use the results in accordance with the source's terms and applicable laws.
Related scrapers
- Funda Netherlands Real Estate Scraper: property listings across the Netherlands.
- Daft Ireland Real Estate Scraper: property listings across Ireland.
- Immoweb Belgium Real Estate Scraper: property listings across Belgium.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Hemnet. Accesses only publicly available listing information. Use in accordance with the source's terms and applicable laws.
