Skip to content
HuislyHuisly
StatusLiveGET /data/v1/places/insights

Neighbourhood API

The Neighbourhood API returns figures about the people and homes in a municipality, district or neighbourhood, with the source attribution they require.

Sample API requests. Sample data from the published API contract.
Neighbourhood

Request

GET/data/v1/places/insights?type=neighborhood&slug=langestraat-e-o-jtvr6xz675kh

X-API-Key: YOUR_API_KEY

Response

{
  "type": "neighborhood",
  "slug": "langestraat-e-o-jtvr6xz675kh",
  "displayName": "Langestraat e.o.",
  "archived": false,
  "municipality": {"slug": "amsterdam-gsxxzjaz98rj", "displayName": "Amsterdam"},
  "district": {
    "slug": "grachtengordel-west-mavt2wcj84gj",
    "displayName": "Grachtengordel-West"
  },
  "districts": [],
  "neighborhoods": [],
  "metrics": [
    {
      "key": "population.total",
      "unit": "count",
      "latest": {
        "period": {"type": "date", "start": "2026-01-01", "end": "2026-01-01"},
        "value": 1180
      },
      "history": [
        {
          "period": {
            "type": "date",
            "start": "2026-01-01",
            "end": "2026-01-01"
          },
          "value": 1180
        },
        {
          "period": {
            "type": "date",
            "start": "2025-01-01",
            "end": "2025-01-01"
          },
          "value": 1165
        },
        {
          "period": {
            "type": "date",
            "start": "2024-01-01",
            "end": "2024-01-01"
          },
          "value": 1140
        }
      ],
      "comparisons": [
        {"place": "district", "value": 9870},
        {"place": "municipality", "value": 934900},
        {"place": "country", "value": 17942942}
      ]
    },
    {
      "key": "housing.ownership.owner_occupied_share",
      "unit": "percentage",
      "latest": {
        "period": {"type": "date", "start": "2026-01-01", "end": "2026-01-01"},
        "value": 38
      },
      "history": [],
      "comparisons": [{"place": "country", "value": 57}]
    }
  ],
  "attribution": [
    {
      "provider": "cbs-statistics",
      "publisher": "Centraal Bureau voor de Statistiek (CBS)",
      "license": "CC-BY-4.0",
      "licenseUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
  ]
}

200 OK2 creditsSample response

Sample data from the published API contract.

  • 2 creditsper request
  • 395figures in the published contract
  • 3kinds of place

Places

Figures are available for three kinds of place: municipalities, districts (wijken) and neighbourhoods (buurten).

  • Municipality
  • District (wijk)
  • Neighbourhood (buurt)

Identified by its slug

400 unknown_place

A place is named by its type and its slug, the pair that the place search of the Aggregator API returns. A place that does not exist, or has no figures yet, gets a 400 error with the code unknown_place.

Source attribution

attribution

The figures come from public sources whose licenses require attribution. Every response has an attribution list with one entry per provider. If you republish the figures, you must show it.

What each figure holds

Sample
key: population.totalunit: count

Latest

1,180

2026-01-01

Earlier values history

  • 1,1402024
  • 1,1652025
  • 1,1802026

Compared with comparisons

District
9,870
Municipality
934,900
Netherlands
17,942,942

Centraal Bureau voor de Statistiek (CBS) · CC-BY-4.0

Each figure has a key, a unit, its latest value with the period it is about, its earlier values when at least 3 periods have a figure, and the same figure for the district, the municipality and the country that the place lies in, where one exists. The published contract names 395 figures. A place returns the figures that have an available value for it. The figures are updated at most once a day, when the publisher has released new ones.

Call it from your code

Cost

A request costs 2 credits, for a municipality, a district or a neighbourhood alike. A failed request costs nothing.

Read the docs

curl "https://api.huisly.nl/data/v1/places/insights?type=neighborhood&slug=langestraat-e-o-jtvr6xz675kh" \
  -H "X-API-Key: YOUR_API_KEY"
const params = new URLSearchParams({ type: "neighborhood", slug: "langestraat-e-o-jtvr6xz675kh" })
const response = await fetch(`https://api.huisly.nl/data/v1/places/insights?${params}`, {
  headers: { "X-API-Key": "YOUR_API_KEY" },
})
const body = await response.json()
import requests

response = requests.get(
    "https://api.huisly.nl/data/v1/places/insights",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"type": "neighborhood", "slug": "langestraat-e-o-jtvr6xz675kh"},
)
body = response.json()

Try it with free credits

A new organization can claim free trial credits to try the API.