APIs / Real estate / Kamernet

1 credit per call3 endpoints18 datapoints

Kamernet API

Kamernet API for rooms, studios and apartments to rent in the Netherlands, listing details and city autocomplete as JSON. 1 credit per successful call.

Kamernet
GET/v1/kamernet/search?city=Amsterdam&sort=price_asc&max_rent=1000&listing_type=room
{
  "success": true,
  "platform": "kamernet",
  "city": {
    "name": "Amsterdam",
    "slug": "amsterdam"
  },
  "currency": "EUR",
  "total": 127,
  "returned": 17,
  "page_items_removed": 0,
  "pagination": {
    "page": 1,
    "limit": 17,
    "total_pages": 8,
    "has_next": true,
    "has_previous": false
  },
  "applied_filters": {
    "city": "amsterdam",
    "sort": "price_asc",
    "max_rent": 1000,
    "listing_type": [
      "room"
    ]
  },
  "listings": [
    {
      "id": 2416685,
      "url": "https://kamernet.nl/en/for-rent/room-almere/keiwierde/room-2416685",
      "type": "room",
      "street": "Keiwierde",
      "city": "Almere",
      "city_slug": "almere",
      "city_id": 34,
      "surface_m2": 15,
      "total_rent": 200,
      "currency": "EUR",
      "utilities_included": true,
      "furnishing": "furnished",
      "available_from": "2026-12-01T00:00:00",
      "available_to": "2027-06-30T00:00:00",
      "is_new": false,
      "is_student_house": false,
      "thumbnail_url": "https://resources.kamernet.nl/image/8d44d934-2f68-4115-b0ba-f9fc5efd3035",
      "image_url": "https://resources.kamernet.nl/image/f312d21e-dcb5-47a3-898d-c3776452edd3"
    },
    {
      "id": 2412172,
      "url": "https://kamernet.nl/en/for-rent/room-abcoude/waardassackerstraat/room-2412172",
      "type": "room",
      "street": "Waardassackerstraat",
      "city": "Abcoude",
      "city_slug": "abcoude",
      "city_id": 36,
      "surface_m2": 7,
      "total_rent": 400,
      "currency": "EUR",
      "utilities_included": false,
      "furnishing": "furnished",
      "available_from": "2026-12-21T00:00:00",
      "available_to": "2027-06-30T00:00:00",
      "is_new": false,
      "is_student_house": false,
      "thumbnail_url": "https://resources.kamernet.nl/image/d8e43076-6a2a-4761-be0d-63a8f12f4474",
      "image_url": "https://resources.kamernet.nl/image/e73a2c2c-b3e5-46dd-b438-ad4ab2fd4f0f"
    },
    {
      "id": 2413209,
      "url": "https://kamernet.nl/en/for-rent/room-amsterdam/tourniairestraat/room-2413209",
      "type": "room",
      "street": "Tourniairestraat",
      "city": "Amsterdam",
      "city_slug": "amsterdam",
      "city_id": 1,
      "surface_m2": 14,
      "total_rent": 404,
      "currency": "EUR",
      "utilities_included": false,
      "furnishing": "unfurnished",
      "available_from": "2026-10-21T00:00:00",
      "is_new": false,
      "is_student_house": false,
      "thumbnail_url": "https://resources.kamernet.nl/image/77ef947e-2b4a-4774-8574-fa792a39264d",
      "image_url": "https://resources.kamernet.nl/image/1bb314db-63e8-4643-b0d6-b270b0c1af62"
    }
  ],
  "city_stats": {
    "active_tenants": 1616,
    "average_rent_per_month": {
      "room": 834,
      "apartment": 1722,
      "studio": 1144,
      "antisquat": 0,
      "student_housing": 0,
      "furnished": 0,
      "short_term_rental": 0,
      "long_term_rental": 0,
      "generic": 1109
    },
    "average_rent_per_m2": {
      "room": 46,
      "apartment": 30,
      "studio": 42,
      "antisquat": 0,
      "student_housing": 0,
      "furnished": 0,
      "short_term_rental": 0,
      "long_term_rental": 0,
      "generic": 41
    }
  },
  "effective_filters": {
    "searchCategories": [
      1
    ],
    "citySlug": "amsterdam",
    "cityName": "Amsterdam",
    "pageNo": 1,
    "streetSlug": "",
    "radius": 5,
    "maxRent": 10,
    "minSize": 0,
    "hasInternet": false,
    "isBathroomPrivate": false,
    "isKitchenPrivate": false,
    "isToiletPrivate": false,
    "availableFrom": "",
    "suitableForNumberOfPersons": 0,
    "suitableForAge": 0,
    "isSmokingInsideAllowed": false,
    "isPetsInsideAllowed": false,
    "roommateNumberMax": 0,
    "sort": 2
  },
  "seo_links": {
    "nearby_cities": [
      {
        "name": "Halfweg",
        "slug": "halfweg"
      },
      {
        "name": "Diemen",
        "slug": "diemen"
      },
      {
        "name": "Zwanenburg",
        "slug": "zwanenburg"
      }
    ],
    "popular_streets": [
      {
        "name": "Spuistraat",
        "slug": "spuistraat"
      },
      {
        "name": "Stromarkt",
        "slug": "stromarkt"
      },
      {
        "name": "Herengracht",
        "slug": "herengracht"
      }
    ]
  },
  "meta": {
    "endpoint_family": "search",
    "attempts": 1,
    "post_filtered": true,
    "request_id": "req_a6e8c4fb54424bd0a287ffcfaf84d672",
    "credits_charged": 1,
    "credits_remaining": 1854
  }
}
200 OKJSONX-Credits-Used: 1
Recorded from our API and shortened.

Sample data

What one call returns

A recorded run of search: the fields and shapes you will get, shortened to 3 items.

#idintegerurlurltypestringstreetstringcitystringcity_slugstringcity_idintegersurface_m2integertotal_rentintegercurrencystringutilities_includedbooleanfurnishingstringavailable_fromstringavailable_tostringis_newbooleanis_student_housebooleanthumbnail_urlurlimage_urlurl
12416685https://kamernet.nl/en/for-rent/room-almere/keiwierde/room-2416685roomKeiwierdeAlmerealmere3415200EURtruefurnished2026-12-01T00:00:002027-06-30T00:00:00falsefalsehttps://resources.kamernet.nl/image/8d44d934-2f68-4115-b0ba-f9fc5efd3035https://resources.kamernet.nl/image/f312d21e-dcb5-47a3-898d-c3776452edd3
22412172https://kamernet.nl/en/for-rent/room-abcoude/waardassackerstraat/room-2412172roomWaardassackerstraatAbcoudeabcoude367400EURfalsefurnished2026-12-21T00:00:002027-06-30T00:00:00falsefalsehttps://resources.kamernet.nl/image/d8e43076-6a2a-4761-be0d-63a8f12f4474https://resources.kamernet.nl/image/e73a2c2c-b3e5-46dd-b438-ad4ab2fd4f0f
32413209https://kamernet.nl/en/for-rent/room-amsterdam/tourniairestraat/room-2413209roomTourniairestraatAmsterdamamsterdam114404EURfalseunfurnished2026-10-21T00:00:00—falsefalsehttps://resources.kamernet.nl/image/77ef947e-2b4a-4774-8574-fa792a39264dhttps://resources.kamernet.nl/image/1bb314db-63e8-4643-b0d6-b270b0c1af62

Recorded from our API · 3 items shown · 18 datapoints per itemGET /v1/kamernet/search?city=Amsterdam&sort=price_asc&max_rent=1000&listing_type=room

18 datapoints

Identity

  • idinteger
  • typestring

Contact

  • urlurl
  • thumbnail_urlurl
  • image_urlurl

Location

  • streetstring
  • citystring
  • city_slugstring
  • city_idinteger

Price

  • currencystring

Other

  • surface_m2integer
  • total_rentinteger
  • utilities_includedboolean
  • furnishingstring
  • available_fromstring
  • available_tostring
  • is_newboolean
  • is_student_houseboolean

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/kamernet/search?city=Amsterdam&sort=price_asc&max_rent=1000&listing_type=room" \
  -H "X-API-Key: $API_KEY"

Kamernet · 3 endpoints

Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

EndpointRequired parametersCost
GET/v1/kamernet/listing
id
1 credit
GET/v1/kamernet/location-autocomplete
q
1 credit
GET/v1/kamernet/search
city+19 optional
1 credit

Overview

About the Kamernet API

What you can get

The Kamernet API returns Kamernet rental data as JSON through 3 endpoints.

  • Search: search takes a city, with page, sort (newest, price_asc, price_desc or surface_asc), max_rent, min_size, radius_km (0, 1, 2, 5, 10 or 20), persons (1 or 2), age, listing_type, furnishing, availability, gender, work_status, owner_type, and true or false filters for pets_allowed, smoking_allowed, internet, private_bathroom, private_kitchen and private_toilet.
  • Listings: listing takes an id.
  • Locations: location-autocomplete takes q.

The recorded search for Amsterdam (rooms up to 1,000 a month, sorted by price_asc) returns listings, each with id, url, type, street, city, surface_m2, total_rent, currency, utilities_included, furnishing, available_from, available_to, is_student_house and image_url. It also returns city_stats with active_tenants, average_rent_per_month and average_rent_per_m2 by type (room, apartment, studio and more), plus pagination with total_pages and has_next.

How a call works

Search a city: GET /v1/kamernet/search?city=Amsterdam&sort=price_asc&max_rent=1000&listing_type=room with your key in the X-API-Key header. Each listing's id is what listing takes. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track room and studio rents in Amsterdam and other Dutch cities

Use the Kamernet API to track room and studio rents in Amsterdam and other Dutch cities

Compare average rent per month and per square metre with `city_stats`

Use the Kamernet API to compare average rent per month and per square metre with `city_stats`

Alert students to new rooms with `sort=newest`

Use the Kamernet API to alert students to new rooms with `sort=newest`

Filter for private bathrooms, kitchens or toilets

Use the Kamernet API to filter for private bathrooms, kitchens or toilets

FAQ

Questions

How much does the Kamernet API cost?

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

What format are responses in?

Every endpoint returns JSON, with no HTML parsing on your side.

Do I need a Kamernet account?

No. You call this Kamernet API with your Perceptlayer key in the `X-API-Key` header, with no Kamernet login.

Does a search include nearby places?

It can. `radius_km` sets the distance around the `city`, from 0 to 20 km.

Should I build a Kamernet scraper instead?

You can, but a Kamernet scraper is code you maintain: page changes break it, requests get blocked, and Kamernet's terms govern how you collect data. The Kamernet API gives you 3 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

Try the Kamernet API with 100 free credits

No credit card. Failed calls are never billed.