Hemnet Property Scraper - Sweden Listings Data avatar

Hemnet Property Scraper - Sweden Listings Data

Pricing

from $1.50 / 1,000 properties

Go to Apify Store
Hemnet Property Scraper - Sweden Listings Data

Hemnet Property Scraper - Sweden Listings Data

Scrape Swedish property listings from Hemnet.se by location keyword or by pasting results/property URLs. One row per property: asking price, monthly fee, rooms, living area, address, GPS coordinates, housing form, broker, labels and images. Optional detail-page enrichment. Export JSON, CSV or Excel.

Pricing

from $1.50 / 1,000 properties

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

21

Total users

20

Monthly active users

6 days ago

Last modified

Share

Hemnet Property Scraper

Turn any Hemnet search into clean, structured property data. Search for-sale listings by location, paste a results/search URL you built on the site, or paste individual property URLs — and get one flat row per property with asking price, monthly fee, rooms, living area, street address, GPS coordinates, housing form, broker, labels and images. Flip on detail mode to add the full description, construction year and tenure.

Built for Swedish real-estate research, price monitoring, lead generation for brokers, and market datasets across all of Hemnet's for-sale inventory.

How it works

How the Hemnet Property Scraper works

✨ Why use this scraper?

  • Rich rows out of the box — ~40 fields per property straight from the results pages: asking price (raw + parsed number), monthly fee, price per m², rooms, living area, street address, location, latitude/longitude, housing form, new-construction flag, broker name + agency, status labels, description snippet and image URLs.
  • Three ways in — location keyword, a results/search URL you built on hemnet.se (with all your filters), or direct property URLs. Mix them in one run.
  • Beats Hemnet's block — Hemnet serves datacenter scrapers a Cloudflare "Just a moment…" challenge; this actor routes every request through Swedish residential IPs with a real browser fingerprint, so you get the real page.
  • Full detail on demand — turn on Scrape property detail pages (or paste a property URL) to add the full listing description, construction year and tenure.
  • Coordinates included — every row carries latitude/longitude, ready to plot on a map or join to geodata.
  • No brittle DOM scraping — reads Hemnet's embedded JSON (Next.js/Apollo state), so the output stays stable when the page layout changes.
  • JSON, CSV, Excel or API — pipe straight into your sheet, BI tool or pipeline. Billed per property.

🎯 Use cases

You are a…Use it to…
Real-estate analystTrack asking prices, price/m² and fees across areas and property types
Investor / buyerBuild a live feed of new listings in your target locations and price band
Broker / agencyMonitor competitor listings, pricing and inventory in your market
Data / app builderSeed a Swedish property dataset with structured, geocoded listing rows
Journalist / researcherMeasure supply, new-construction share and price distribution by region

📥 Supported inputs

InputExampleWhat it does
Location keywordStockholm, Göteborg, MalmöResolves the location and paginates its newest for-sale listings
Results / search URLhttps://www.hemnet.se/bostader?location_ids[]=17744Paginates exactly that search (keeps all your filters)
Property URLhttps://www.hemnet.se/bostad/{slug}Scrapes that single property in full detail

Not supported: account-only data, saved searches, contact/message flows, and anything behind a Hemnet login. The actor reads only public for-sale results and property pages.

Tip for precise filters: build your search on hemnet.se (price, rooms, housing form, area, etc.), then copy the URL from your browser and paste it under Results / search URLs. Every filter in the URL is honoured, and pagination is automatic.

⚙️ How it works

  1. You provide location keywords, results URLs and/or property URLs.
  2. The actor classifies each input into a results page or a property page.
  3. Results pages are paginated (?page=N, 50 properties/page) up to your limits, through Swedish residential proxies with automatic retry on Cloudflare challenges.
  4. Each property is parsed from Hemnet's embedded JSON into a flat row. With Scrape property detail pages on, each property's detail page is fetched to add the full description, construction year and tenure.
  5. Rows are de-duplicated by property ID and pushed to the dataset — one paid property event each.

🔧 Input configuration

FieldTypeDefaultDescription
searchQueriesarray["Stockholm"]Location keywords to search for-sale listings
startUrlsarray[]Hemnet results URLs and/or property URLs (auto-classified)
scrapeDetailsbooleanfalseAlso fetch each property's detail page (full description, construction year, tenure)
maxItemsinteger1000Hard cap on rows for the whole run
maxItemsPerSearchinteger1000Cap per location / results URL
maxConcurrencyinteger6Parallel requests (keep 4–8 — Hemnet is Cloudflare-protected)
maxRequestRetriesinteger20Retry budget per request (rotates to a fresh Swedish IP each time)
proxyobjectApify Residential (SE)Proxy for free-tier runs; paid runs use a built-in Swedish residential pool

📤 Output overview

One row per property. Prices are kept both as Hemnet's raw Swedish strings (e.g. "1 695 000 kr") and as parsed integers (1695000) for easy sorting and filtering.

Output sample

{
"rowType": "property",
"id": "21684506",
"slug": "forsaker-nod431-21684506",
"url": "https://www.hemnet.se/bostad/forsaker-nod431-21684506",
"recordType": "PROJECT",
"housingForm": "Lägenhet",
"housingFormSymbol": "APARTMENT",
"streetAddress": "NOD431",
"locationDescription": "Forsåker, Mölndals kommun",
"latitude": 57.6544724,
"longitude": 12.0235844,
"askingPrice": "fr. 1 695 000 kr",
"askingPriceValue": 1695000,
"fee": "fr. 2 683 kr/mån",
"feeValue": 2683,
"squareMeterPrice": "fr. 48 962 kr/m²",
"squareMeterPriceValue": 48962,
"rooms": "1-4 rum",
"roomsValue": 4,
"livingArea": "34-86 m²",
"livingAreaValue": 34,
"newConstruction": true,
"publishedAt": "2026-07-06T03:00:01.000Z",
"brokerName": "Pernilla Tilly-Meijer",
"brokerAgencyName": "Nordr Sverige AB, Region Göteborg",
"labels": [
{ "text": "28 lediga bostäder", "identifier": "UNITS_LEFT", "category": "STATE" },
{ "text": "Nybyggnadsprojekt", "identifier": "NEW_CONSTRUCTION_PROJECT", "category": "TYPE" }
],
"images": ["https://bilder.hemnet.se/images/1200x/d7/41/d741fef6fc9efee92e4e3470012def03.jpg"],
"sourceUrl": "https://www.hemnet.se/bostader",
"sourceMode": "search",
"scrapedAt": "2026-07-06T03:30:37.720Z"
}

Key output fields

FieldDescription
id, slug, urlHemnet property ID, slug and canonical detail URL
askingPrice / askingPriceValueAsking price as shown / parsed integer (kr)
fee / feeValueMonthly fee as shown / parsed integer (kr/month)
squareMeterPrice / squareMeterPriceValuePrice per m² as shown / parsed integer
rooms / roomsValueRooms as shown (e.g. "3 rum") / numeric
livingArea / livingAreaValueLiving area as shown / numeric (m²)
streetAddress, locationDescriptionAddress and area/municipality
latitude, longitudeGPS coordinates
housingForm, housingFormSymbolType name ("Lägenhet", "Villa") and symbol (APARTMENT, HOUSE)
recordType, newConstruction, upcomingListing type and status flags
brokerName, brokerAgencyNameListing broker and agency
labelsHemnet status/type badges (open house, new construction, price change, …)
images, thumbnailsFull-size and thumbnail image URLs
descriptionListing description snippet (results card)
fullDescription, constructionYear, tenureAdded when scrapeDetails is on

❓ FAQ

Does it scrape sold listings? This actor targets for-sale listings (/bostader, /till-salu, /bostad/{slug}). Sold-listing pages have a different shape and are out of scope for now.

How many properties can I get per search? Hemnet shows up to ~2,500 results per search (50 pages × 50 properties). Use precise filters in your results URL to narrow a large area into targeted, complete result sets.

Why do some rows have empty fee or squareMeterPrice? Those fields don't apply to every listing (e.g. plots and some new-construction projects). Address, price, location, coordinates and images are present on virtually every row.

Do I need my own proxies? No. Paid runs use a built-in Swedish residential pool automatically. Free-tier runs use Apify Residential (country SE) by default.

Is the price in the results reliable? Yes — it's read from Hemnet's own embedded data, the same numbers shown on the site, plus a parsed integer variant for sorting.

🛟 Support

Found a field you need that isn't in the output, or a listing type you'd like supported? Open an issue on the actor's Issues tab and it will be looked at.

🔎 Explore more scrapers

This actor is part of a portfolio of fast, HTTP-based scrapers for real-estate and directory sites. Check the publisher's profile for more.

⚠️ Disclaimer

This actor collects only publicly available data from Hemnet's for-sale results and property pages. It does not access any login-gated, private or personal account data. You are responsible for using the scraped data in compliance with Hemnet's terms, applicable laws (including GDPR where personal data such as broker names is involved), and the purpose limitations that apply to your use case. Use the data responsibly and lawfully.

🔑 SEO keywords

Hemnet scraper, Hemnet API, scrape Hemnet, Hemnet property scraper, Swedish real estate data, Sweden property listings scraper, bostäder till salu data, Hemnet listings export, real estate data Sweden, property price monitoring Sweden, Hemnet crawler, hemnet.se scraper, Swedish housing market data, lägenhet villa data, property coordinates Sweden.