
Hemnet Scraper
hipersoft/hemnet-scraper
Scrape Swedish property listings and sold-price history from Hemnet: address, asking or sold price, size, rooms, price per m², broker, coordinates and listing URL. Search any Swedish location and export one clean row per property as JSON, CSV or Excel. For real-estate research, valuation and n8n.
Total users
2Monthly users
1Total runs
61Per listing scraped
$0.003Last rebuilt
Oct 26, 2026Overview
Scrape Swedish property data from Hemnet into clean, structured JSON, CSV or Excel. Search any Swedish city, municipality, county or district and pull both for-sale listings (asking prices) and sold-price history (final sale prices) — address, price, living area, rooms, price per m², broker, coordinates and the listing URL — one tidy row per property. Built for real-estate research, valuation, market analysis and automations.
Features
- 🏠 For-sale listings — every active listing for your chosen area: asking price, size, rooms, broker and more.
- 💰 Sold prices — Hemnet's sold-price history with the final sale price and sale date for closed deals.
- 🔎 Search by place name — just type a Swedish location (e.g.
Stockholm,Göteborg,Malmö,Östermalm) and it resolves the right area automatically. - 🔗 Paste a Hemnet URL — already have a search open? Paste its URL and the area is picked up for you.
- 🎛️ Filters — narrow by price, number of rooms and living area.
- 📍 Coordinates — latitude and longitude for every property, ready for mapping and geo analysis.
- 📐 Price per m² — square-metre pricing included for quick comparisons.
- 📄 Volume control — set
maxItemsto balance coverage and cost.
Input
{
"location": "Stockholm",
"listingType": "forsale",
"priceMin": 2000000,
"priceMax": 6000000,
"roomsMin": 2,
"maxItems": 100
}
| Field | Description |
|---|---|
location |
Swedish place to search — city, municipality (kommun), county (län) or district. You can also paste a Hemnet search URL. |
listingType |
forsale for active listings (asking prices) or sold for sold-price history (final prices + sale dates). |
locationIds |
Optional. Exact Hemnet numeric location IDs; overrides location when set. |
priceMin / priceMax |
Optional. Price range in Swedish kronor (SEK). |
roomsMin / roomsMax |
Optional. Room-count range. |
livingAreaMin / livingAreaMax |
Optional. Living-area range in m². |
maxItems |
Maximum properties to collect (0 = no limit). |
How to search
Type any Swedish location into location and run. To target a very specific area, open hemnet.se, run a search, then paste the result-page URL into location — or read the numeric location ID from the URL and put it in locationIds.
Use cases
- Build and refresh a Swedish property dataset for market and price analysis.
- Track sold prices by area for valuation and comparable-sales (comps) research.
- Monitor new for-sale listings in target neighbourhoods.
- Generate broker and agency lead lists by location.
- Feed structured property records into a CRM, spreadsheet or analytics pipeline.
What you get
Each property is one dataset record. A for-sale example:
{
"id": "21755834",
"listingType": "forsale",
"type": "Lägenhet",
"streetAddress": "Vapengatan 8",
"area": "Aspudden",
"municipality": "Stockholms kommun",
"askingPrice": 3495000,
"askingPriceFormatted": "3 495 000 kr",
"soldPrice": null,
"soldPriceFormatted": null,
"soldDate": null,
"livingArea": 44,
"rooms": 2,
"pricePerM2": "79 432 kr/m²",
"brokerAgency": "Svensk Fastighetsförmedling Hägersten-Liljeholmen",
"broker": null,
"latitude": 59.30624,
"longitude": 17.99659,
"url": "https://www.hemnet.se/bostad/lagenhet-2rum-aspudden-stockholms-kommun-vapengatan-8-21755834",
"publishedAt": "2026-08-01T12:00:00.000Z"
}
A sold example carries soldPrice and soldDate instead of an asking price.
Output schema
| Field | Type | Description |
|---|---|---|
id |
string | Hemnet's unique identifier for the property. |
listingType |
string | forsale or sold. |
type |
string | Housing form (e.g. Lägenhet, Villa). |
streetAddress |
string | Street address as shown on the listing. |
area |
string | Area / district name (for-sale listings). |
municipality |
string | Municipality (kommun). |
askingPrice |
integer | Asking price in SEK (for-sale). |
askingPriceFormatted |
string | Asking price as displayed. |
soldPrice |
integer | Final sale price in SEK (sold). |
soldPriceFormatted |
string | Final sale price as displayed. |
soldDate |
string | Date the property was sold (ISO). |
livingArea |
number | Living area in m². |
rooms |
number | Number of rooms. |
pricePerM2 |
string | Price per square metre as displayed. |
brokerAgency |
string | Broker agency name. |
broker |
string | Broker name where shown. |
latitude |
number | Latitude of the property. |
longitude |
number | Longitude of the property. |
url |
string (URL) | Direct link to the property on Hemnet. |
publishedAt |
string | When the listing was published / the sale date (ISO). |
FAQ
Do I need a Hemnet account? No. Just enter a location and run.
Can I get sold prices?
Yes. Set listingType to sold to collect Hemnet's sold-price history — the final sale price and sale date for closed deals.
How many properties can I collect?
As many as your search returns. Use maxItems to control the volume and cost.
What export formats are supported? JSON, CSV, Excel and XML, plus the Apify API for programmatic access.
Can I use this with n8n? Yes. Use the Apify node for n8n to run this Actor and pull its dataset straight into an n8n workflow — trigger it on a schedule, then route the property rows to a database, spreadsheet or messaging step.
Can I connect it to other tools? The Hemnet Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Notes
Returns only public Hemnet property data — the same information any visitor can see. This is an independent tool and is not affiliated with, endorsed by or connected to Hemnet; "Hemnet" is a trademark of its respective owner. Original clean-room implementation.
Input
| Field | Type | Description |
|---|---|---|
locationLocation | string | Swedish place to search — a city, municipality (kommun), county (län) or district name, e.g. Stockholm, Göteborg, Malmö or Östermalm. You can also paste a full Hemnet search URL (any hemnet.se link that contains location_ids) and its area is used automatically |
listingTypeListing type | string · forsale, sold | Choose 'forsale' for currently listed properties (asking prices) or 'sold' for sold-price history (final sale prices and sale dates). Default: "forsale" |
locationIdsLocation IDs (optional) | array | Optional. Exact Hemnet numeric location IDs to search, e.g. 18031 for Stockholms kommun. Use this to target specific areas precisely; when set it overrides the Location field. One ID per line. |
priceMinMin price (SEK) | integer | Optional. Only include properties with an asking (or sold) price at or above this amount, in Swedish kronor. |
priceMaxMax price (SEK) | integer | Optional. Only include properties with an asking (or sold) price at or below this amount, in Swedish kronor. |
roomsMinMin rooms | integer | Optional. Only include properties with at least this many rooms. |
roomsMaxMax rooms | integer | Optional. Only include properties with at most this many rooms. |
livingAreaMinMin living area (m²) | integer | Optional. Only include properties with a living area at or above this many square metres. |
livingAreaMaxMax living area (m²) | integer | Optional. Only include properties with a living area at or below this many square metres. |
maxItemsMax items | integer | Maximum number of properties to collect (0 = no limit; collect everything the search returns). Default: 100 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~hemnet-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"location": "Stockholm"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/hemnet-scraper").call(run_input={
"location": "Stockholm"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/hemnet-scraper').call({
"location": "Stockholm"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Listing Scraped Charged per listing scraped. | $0.003 | $0.0015 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
CNN Fear & Greed Index Scraper
Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.
547 runs · 6 users · $0.003 / item scrapedDivar Scraper
Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.
224 runs · 22 users · $0.003 / listing scrapedAirbnb Scraper
Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.
122 runs · 2 users · $0.005 / listing scrapedSingapore HDB Property Information Scraper
Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.
113 runs · 1 users · $0.002 / block scrapedPropertyGuru Singapore Scraper
Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.
106 runs · 3 users · $0.004 / listing scrapedEdgeProp Singapore Property Scraper
Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.
105 runs · 1 users · $0.004 / listing scrapedSend the site and the fields. We build it and you get it first.