Hemnet.se Scraper - Swedish Real Estate Listings
Pricing
from $1.00 / 1,000 listings
Hemnet.se Scraper - Swedish Real Estate Listings
Scrape property listings from Hemnet.se including for-sale, upcoming, and sold homes. Search by URL or location query with pagination controls and Apify residential proxy support.
Pricing
from $1.00 / 1,000 listings
Rating
0.0
(0)
Developer
Data Scrapers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Hemnet.se Scraper creates a structured dataset of Swedish property listings collected from Hemnet.se. Each dataset item can include the listing id, address, location, asking price, rooms, living area, housing form, broker agency, coordinates, and publication time. Query the source with a Hemnet results URL or with a place name such as Stockholm, plus listing type and property type. Control volume with maxListings and maxPages. Retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format.
Dataset at a glance
| Property | Value |
|---|---|
| Source | hemnet.se |
| Record unit | One property listing |
| Input methods | startUrls or searchQueries |
| Main identifiers | id, url |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel, XML |
| Update model | Fresh records per Actor run |
| Pricing | $1.00 per 1,000 dataset-item events, plus $1.00 per 1,000 listing-details events. Platform usage is billed separately. |
Coverage and available records
Supported Hemnet sections are for sale, upcoming, and sold. searchQueries are place names. The Actor uses the best autocomplete match. startUrls can point at /bostader, /kommande/bostader, or /salda/bostader result pages. itemTypes filters villa, apartment, housing cooperative, townhouse, holiday home, plot, farm, and other. Room, living-area, and price filters apply to query searches. expandLocations accepts 1, 5, 10, 25, or 50 kilometers.
maxPages defaults to 3, and Hemnet shows about 50 listings per page. maxListings of 0 means no extra cap inside maxPages. listingDetails fetches the listing page and charges listing-details. Search rows still save when details are off. Sold-only fields such as finalPrice and soldAt are present on sold listings and empty on for-sale cards.
Data dictionary
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
| id | string | no | Hemnet listing id. Deduplication key. | 21715144 |
| url | string | yes | Public listing page | https://www.hemnet.se/bostad/villa-7rum-staket-jarfalla-kommun-bielkenstiernas-vag-5-21715144 |
| listingType | string | yes | for_sale, upcoming, or sold | for_sale |
| streetAddress | string | yes | Street address | Bielkenstiernas väg 5 |
| locationDescription | string | yes | Area and municipality | Stäket, Järfälla kommun |
| askingPrice | string | yes | Asking price text, SEK | 6 990 000 kr |
| finalPrice | string | yes | Sold price text when the listing is sold | null |
| rooms | string | yes | Room label | 7 rum |
| livingArea | string | yes | Living area text | 179+85 m² |
| landArea | string | yes | Plot area text | 1 296 m² |
| squareMeterPrice | string | yes | Price per square meter | null |
| housingForm | object | yes | Symbol and name | {"symbol": "HOUSE", "name": "Villa"} |
| broker | object | yes | Agency fields. The example keeps the agency name. | {"agencyName": "Mäklarringen Järfälla"} |
| coordinates | object | yes | lat and lng | {"lat": 59.47323, "lng": 17.7998371} |
| publishedAt | string | yes | Publication time, ISO-8601 | 2026-06-20T07:39:46+00:00 |
| soldAt | string | yes | Sale time on sold listings | null |
| details | object | yes | Listing-page payload when listingDetails is on | null |
Example dataset record
{"id": "21715144","url": "https://www.hemnet.se/bostad/villa-7rum-staket-jarfalla-kommun-bielkenstiernas-vag-5-21715144","listingType": "for_sale","streetAddress": "Bielkenstiernas väg 5","locationDescription": "Stäket, Järfälla kommun","askingPrice": "6 990 000 kr","rooms": "7 rum","livingArea": "179+85 m²","landArea": "1 296 m²","housingForm": {"symbol": "HOUSE", "name": "Villa"},"broker": {"agencyName": "Mäklarringen Järfälla"},"coordinates": {"lat": 59.47323, "lng": 17.7998371},"publishedAt": "2026-06-20T07:39:46+00:00","totalResults": 10211}
This row is a for-sale villa card from a Stockholm-area Hemnet search. The broker object in the stored dataset can include more agency fields. This example keeps the agency name.
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
| startUrls | array | no | empty | Hemnet result URLs | Direct result pages. |
| searchQueries | array | no | empty | Place names | Autocomplete locations. |
| listingType | string | no | for_sale | for_sale, upcoming, sold | Section used with search queries. |
| itemTypes | array | no | empty | villa, lagenhet, bostadsratt, radhus, fritidshus, tomt, gard-skog, ovrigt | Property types. Empty includes all. |
| minRooms | number | no | empty | Number | Minimum rooms. |
| maxRooms | number | no | empty | Number | Maximum rooms. |
| minLivingArea | integer | no | empty | Square meters | Minimum living area. |
| maxLivingArea | integer | no | empty | Square meters | Maximum living area. |
| minPrice | integer | no | empty | SEK | Minimum price. |
| maxPrice | integer | no | empty | SEK | Maximum price. |
| expandLocations | integer | no | empty | 1, 5, 10, 25, 50 | Extra radius in kilometers. |
| maxPages | integer | no | 3 | Integer | Pages per search target. |
| maxListings | integer | no | 0 | Integer | Total listings. 0 stays inside maxPages. |
| listingDetails | boolean | no | false | true, false | Fetch listing pages. Charges listing-details. |
| proxyConfiguration | object | no | Apify residential | Apify proxy input | Proxy used for Hemnet requests. |
Minimal request:
{"searchQueries": ["Stockholm"],"maxListings": 5,"listingDetails": false}
Retrieve the data through the API
Start the Actor with JSON input, wait for the run, then read the default dataset. Other languages are on the Actor API tab.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("datascrapers/hemnet-se-scraper").call(run_input={"searchQueries": ["Stockholm"],"maxListings": 5,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["id"], item.get("askingPrice"))
Data quality and record handling
Use id as the deduplication key. Price and area fields on search cards are display strings, including Swedish spacing, not parsed numbers. publishedAt is ISO-8601. A listing page that fails is skipped for its detail payload, and the search card can still be saved. Broker objects can include an agency name. Person names are not part of the example above.
Pricing and cost examples
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| dataset-item | $1.00 | $1.00 | $1.00 | $1.00 |
| listing-details | $1.00 | $1.00 | $1.00 | $1.00 |
Prices are per 1,000 events. Platinum and Diamond use the Gold price. Platform usage is billed separately. Saving 1,000 search cards costs $1.00 before platform usage. Turning on listingDetails adds $1.00 per 1,000 successful detail fetches.
Limitations and responsible data use
Hemnet can change result markup, require a proxy, or hide fields on some cards. totalResults is the search total reported on that page, not a guarantee that the run saved every match. Use the data under Hemnet's terms and applicable privacy rules.
Dataset questions
How do I scrape sold homes?
Set listingType to sold, or paste a /salda/bostader URL in startUrls.
Does maxListings 0 download the whole site?
No. 0 means the cap is maxPages for each search target. The default is 3 pages.
Which field should I store as the key?
Store id. It is also the trailing number in the listing URL.
Related datasets from Data Scrapers
- Finn.no Real Estate Scraper for Norwegian homes.
- Booli Sweden Scraper for another Swedish homes source.
- Boliga Denmark Scraper for Danish listings.
- Daft.ie Property Scraper for Irish listings.
- DAHLER Real Estate Scraper for German listings.
Data Scrapers support
Questions about this dataset: stardustspotlight@gmail.com
