Hemnet.se API scraper
Hemnet.se API scraper
/hemnet/v1/search1 creditSearch Hemnet.se for-sale property listings by location, with structured filters: price (SEK), rooms, living area (m²), plot, property type, price-per-m², construction year, keyword and sort. Each result carries asking price, fee, square-metre price, rooms, living area, housing form, coordinates, broker agency, address and photos. Paginate with page.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| location | required | — | Where to search — a Swedish city, municipality, county, district or postal area ('Stockholm', 'Göteborg', 'Malmö', 'Uppsala kommun', 'Vasastan'). Free text is resolved to Hemnet's location id automatically; pass a numeric Hemnet location_id directly to skip resolution. |
| home_type | optional | — | Property type — one or several comma-separated: villa (house), radhus (townhouse), bostadsratt (apartment/condo), fritidshus (holiday home), tomt (plot/land), gard (farm). e.g. 'villa,radhus'. |
| sort = newest | optional | newest · oldest · price_low · price_high · size_high · size_low · ppm2_low · ppm2_high · fee_low | Result ordering. |
| page = 1 | optional | 1– | Result page (50 listings per page; paginate with page += 1). Hemnet caps the viewable window at 50 pages / 2500 results. |
| price_min | optional | 0– | Minimum asking price in SEK. |
| price_max | optional | 0– | Maximum asking price in SEK. |
| rooms_min | optional | 1–20 | Minimum number of rooms. |
| rooms_max | optional | 1–20 | Maximum number of rooms. |
| living_area_min | optional | 0– | Minimum living area in square metres (m²). |
| living_area_max | optional | 0– | Maximum living area in square metres (m²). |
| land_area_min | optional | 0– | Minimum plot / land area in square metres (m²). |
| land_area_max | optional | 0– | Maximum plot / land area in square metres (m²). |
| price_per_m2_min | optional | 0– | Minimum price per square metre (SEK/m²). |
| price_per_m2_max | optional | 0– | Maximum price per square metre (SEK/m²). |
| year_min | optional | 1700–2035 | Earliest construction year. |
| year_max | optional | 1700–2035 | Latest construction year. |
| keywords | optional | — | Free-text listing keyword filter ('pool', 'sjöutsikt', 'kakelugn', 'balkong'). |
/hemnet/v1/sold1 creditRecently-SOLD property prices (slutpriser) by location, with the same filters as search — the comparable-sales / price-history surface. Each record carries asking price, FINAL sold price, sold date, price change (%) and square-metre price.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| location | required | — | Where to search — a Swedish city, municipality, county, district or postal area ('Stockholm', 'Göteborg', 'Malmö', 'Uppsala kommun', 'Vasastan'). Free text is resolved to Hemnet's location id automatically; pass a numeric Hemnet location_id directly to skip resolution. |
| home_type | optional | — | Property type — one or several comma-separated: villa (house), radhus (townhouse), bostadsratt (apartment/condo), fritidshus (holiday home), tomt (plot/land), gard (farm). e.g. 'villa,radhus'. |
| sort = newest | optional | newest · oldest · price_low · price_high · size_high · size_low · ppm2_low · ppm2_high · fee_low | Result ordering. |
| page = 1 | optional | 1– | Result page (50 listings per page; paginate with page += 1). Hemnet caps the viewable window at 50 pages / 2500 results. |
| price_min | optional | 0– | Minimum asking price in SEK. |
| price_max | optional | 0– | Maximum asking price in SEK. |
| rooms_min | optional | 1–20 | Minimum number of rooms. |
| rooms_max | optional | 1–20 | Maximum number of rooms. |
| living_area_min | optional | 0– | Minimum living area in square metres (m²). |
| living_area_max | optional | 0– | Maximum living area in square metres (m²). |
| land_area_min | optional | 0– | Minimum plot / land area in square metres (m²). |
| land_area_max | optional | 0– | Maximum plot / land area in square metres (m²). |
| price_per_m2_min | optional | 0– | Minimum price per square metre (SEK/m²). |
| price_per_m2_max | optional | 0– | Maximum price per square metre (SEK/m²). |
| year_min | optional | 1700–2035 | Earliest construction year. |
| year_max | optional | 1700–2035 | Latest construction year. |
| keywords | optional | — | Free-text listing keyword filter ('pool', 'sjöutsikt', 'kakelugn', 'balkong'). |
/hemnet/v1/detail1 creditFull record for a single listing by its Hemnet listing URL, slug or id (hemnet.se/bostad/<slug>). Returns asking price, fee, rooms, living & plot area, construction year, energy class, tenure, the full description, every photo, amenities, days-on-market, view count and any sale history.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| url | required | — | A Hemnet listing URL, /bostad/<slug> path or slug — the `url` from a search result. A full https URL, the path or the bare slug all work. |
/hemnet/v1/locationfreeLocation resolver / autocomplete — map a free-text Swedish place name to Hemnet locations (city, municipality, county, district, postal area) with their ids. Use it to power a search box or to confirm the exact location a search will use.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Free-text Swedish place to resolve — a city, municipality, county or district ('Göteborg', 'Vasastan', 'Lund'). |
| limit = 10 | optional | 1–40 | Max suggestions to return (1-40). |
curl -X POST https://api.reefapi.com/hemnet/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"location":"Stockholm"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}