Discover/Hemnet API
live

Hemnet APIhemnet.se

Access Swedish real estate listings from Hemnet.se via API. Search properties with pagination and fetch detailed specs, coordinates, pricing, and images.

Endpoint health
verified 7d ago
get_details
search
2/2 passing latest checkself-healing
Endpoints
2
Updated
22d ago

What is the Hemnet API?

The Hemnet API exposes 2 endpoints for accessing real estate listings from Sweden's largest property marketplace. The search endpoint returns paginated listing summaries covering price, address, living area, rooms, and image URLs, while get_details retrieves full property records including coordinates, tenure type, operating costs, and the complete image gallery for any active or sold listing.

Try it
Starting page number for pagination.
Maximum number of pages to scrape sequentially.
api.parse.bot/scraper/18fbb397-f067-4333-a9ff-a0b83df48638/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/18fbb397-f067-4333-a9ff-a0b83df48638/search?page=1&max_pages=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace hemnet-se-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Hemnet.se Real Estate API — browse Swedish property listings."""
from parse_apis.hemnet_se_real_estate_api import Hemnet, ListingNotFound

client = Hemnet()

# Browse the latest listings — limit= caps TOTAL items fetched across pages.
for summary in client.listingsummaries.list(limit=5):
    print(summary.address, summary.price, summary.housing_form)

# Drill into one listing for full details (operating cost, tenure, coordinates).
first = client.listingsummaries.list(limit=1).first()
if first:
    listing = first.details()
    print(listing.address, listing.tenure, listing.operating_cost)
    if listing.coordinates:
        print(listing.coordinates.latitude, listing.coordinates.longitude)

# Fetch a listing directly by slug via the root collection.
try:
    detail = client.listings.get(slug=first.slug)
    print(detail.address, detail.rooms, detail.living_area)
except ListingNotFound as exc:
    print(f"Listing gone: {exc.slug}")

print("exercised: listingsummaries.list / summary.details / listings.get")
All endpoints · 2 totalmissing one? ·

Browse real estate listings on Hemnet.se with pagination support. Returns listing summaries including price, address, area, image URLs, and basic specs. Results are ordered by recency (newest first). Each page returns up to 50 listings. Use max_pages to fetch multiple pages sequentially in a single call.

Input
ParamTypeDescription
pageintegerStarting page number for pagination.
max_pagesintegerMaximum number of pages to scrape sequentially.
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing summary objects",
    "pages_scraped": "integer, number of pages successfully scraped",
    "total_results": "integer, total number of listings returned"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "id": "21667767",
          "url": "https://www.hemnet.se/bostad/lagenhet-4rum-torvalla-ostersunds-kommun-ottfjallsvagen-52-21667767",
          "slug": "lagenhet-4rum-torvalla-ostersunds-kommun-ottfjallsvagen-52-21667767",
          "price": "1 395 000 kr",
          "rooms": "4 rum",
          "address": "Ottfjällsvägen 52",
          "city_area": "Torvalla, Östersunds kommun",
          "plot_size": null,
          "image_urls": [
            "https://bilder.hemnet.se/images/itemgallery_cut/a0/a4/a0a4df7f369afd2af3944d4489a18bbe.jpg"
          ],
          "description": "Välkommen till ditt nya drömhem...",
          "living_area": "111,5 m²",
          "monthly_fee": "8 208 kr/mån",
          "housing_form": "Lägenhet",
          "published_at": "1781165096.0",
          "broker_agency": "Bjurfors Östersund",
          "days_on_hemnet": 0
        }
      ],
      "pages_scraped": 1,
      "total_results": 50
    },
    "status": "success"
  }
}

About the Hemnet API

Search Listings

The search endpoint returns an array of listing summary objects from Hemnet. Each object includes fields such as id, address, city_area, price, url, image_urls, living_area, rooms, plot_size, and monthly_fee. The page parameter sets the starting page, and max_pages controls how many pages are fetched sequentially in a single call. The response also includes pages_scraped and total_results integers so you can track pagination state across requests.

Listing Details

The get_details endpoint accepts a slug string derived from a Hemnet listing URL — formatted as <property-type>-<rooms>-<area>-<municipality>-<street>-<id>. It returns the full detail record for that listing: price, rooms, tenure (e.g. Bostadsrätt or Äganderätt), address, city_area, plot_size, image_urls, and a coordinates object with numeric latitude and longitude fields. The endpoint works for both currently active listings and sold or deactivated ones, which makes it useful for historical price lookups when you already hold a slug.

Data Coverage and Scope

All data is scoped to Hemnet.se, which covers residential property listings across Sweden. Slugs needed by get_details can be extracted from the url field returned by search, making the two endpoints composable. Fields such as plot_size, monthly_fee, and coordinates are nullable — not every listing type carries all fields, so your integration should handle null values gracefully.

Reliability & maintenanceVerified

The Hemnet API is a managed, monitored endpoint for hemnet.se — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hemnet.se changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official hemnet.se API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate Swedish property prices by city area using the city_area and price fields from search results.
  • Build a map-based property browser using coordinates latitude/longitude from get_details.
  • Track sold listing prices over time by querying get_details with slugs from historical Hemnet URLs.
  • Compare monthly fees and living area across apartments in a neighbourhood using monthly_fee and living_area.
  • Feed listing images into a property recommendation UI using the image_urls gallery from get_details.
  • Identify freehold vs. leasehold properties in a region by filtering on the tenure field.
  • Monitor new listings with sequential pagination using the page and max_pages parameters in search.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Hemnet offer an official developer API?+
Hemnet does not publish a public developer API. There is no documented REST or GraphQL interface available for third-party developers on hemnet.se.
What does the `get_details` endpoint return that `search` does not?+
The get_details endpoint adds tenure, coordinates (latitude and longitude), a full image_urls gallery, and the complete listing description. The search endpoint returns summary fields only — enough to display a list but not a full property page.
Can I filter search results by property type, price range, or number of rooms?+
The search endpoint does not currently expose filter parameters for property type, price range, or room count. It returns paginated listings and exposes those fields in the response for client-side filtering. You can fork the API on Parse and revise it to add filter parameters targeting specific listing categories.
Are sold or deactivated listings accessible?+
Yes. The get_details endpoint works for both active and sold or deactivated listings as long as you supply a valid slug. The search endpoint returns currently active listings; it does not expose a sold-listings archive endpoint. You can fork the API on Parse and revise it to add a dedicated sold-listings search endpoint.
How reliable are the `coordinates` and `plot_size` fields?+
Both fields are nullable. Coordinates are omitted when Hemnet does not publish a geocoded location for a listing, and plot_size is only present for property types that include land, such as houses and land plots. Your code should check for null before using either field.
Page content last updated . Spec covers 2 endpoints from hemnet.se.
Related APIs in Real EstateSee all →
booli.se API
Access Swedish property data from Booli.se. Search active and historical listings, retrieve full listing details and photos, and explore area market statistics and price trends.
housing.com API
Search and retrieve real estate listings on Housing.com. Browse properties for sale, rent, plots, and commercial spaces across major Indian cities with filtering by locality and property type.
huislijn.nl API
Search and browse housing listings on huislijn.nl to find properties for sale, rental, or vacation stays, and view detailed information about specific homes. Get access to the newest listings posted on the platform to stay updated on available properties.
immonet.de API
Search real estate listings across Germany and retrieve detailed property information including pricing, features, and location data from immonet.de. Find properties for sale or rent with comprehensive market data.
blocket.se API
Search and browse second-hand items, cars, and housing listings across Blocket.se and Qasa.se, then retrieve detailed information about any listing that interests you. Get instant access to comprehensive product details, pricing, and categorized inventory across multiple marketplaces in one unified interface.
homes.com API
Search for real estate agents and properties available for sale or rent, while accessing detailed agent profiles with their 1-year transaction history, active listings, and performance statistics. Get comprehensive property details and agent information all in one place to help you find the right agent or property that matches your needs.
otodom.pl API
Search and browse real estate listings from Otodom.pl by property type, location, price, and area, then retrieve full listing details including descriptions and seller contact information. Filter results across different markets to find properties that match your specific criteria.
realestate.com.au API
Search and retrieve property listing data from realestate.com.au, including listings for sale and rent, detailed property information, and nearby schools for any location across Australia.