Kamernet Scraper — Dutch Rooms & Apartments avatar

Kamernet Scraper — Dutch Rooms & Apartments

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Kamernet Scraper — Dutch Rooms & Apartments

Kamernet Scraper — Dutch Rooms & Apartments

Scrape rental listings from Kamernet.nl: rooms, apartments and studios with prices, sizes, availability dates, deposits and exact locations. Supports filters and a new-listings-only monitoring mode.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Philipp Merz

Philipp Merz

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

3 hours ago

Last modified

Categories

Share

Kamernet Scraper — Dutch Rooms, Apartments & Studios

Extract rental listings from Kamernet.nl, the largest room-rental platform in the Netherlands, as clean structured JSON. Search any city, filter by rent, size and property type, and get every field that matters: price, surface area, availability dates, deposit, exact address with GPS coordinates, house rules and photos.

Built for the Dutch housing market's #1 problem: speed. Rooms in Amsterdam or Utrecht are gone within hours — the built-in monitoring mode outputs only listings that are new since your last run, so you can pipe fresh listings straight into alerts, a Slack channel or your own app within minutes of them going live.

What you get

Each listing is one JSON object:

{
"listingId": 2380154,
"url": "https://kamernet.nl/en/for-rent/room-amsterdam/gerard-schaepstraat/room-2380154",
"listingType": "room",
"city": "Amsterdam",
"street": "Gerard Schaepstraat",
"postalCode": "1052GK",
"latitude": 52.379791,
"longitude": 4.875219,
"totalRentalPrice": 1503,
"currency": "EUR",
"utilitiesIncluded": false,
"deposit": 2750,
"agencyFee": 250,
"surfaceArea": 84,
"furnishing": "unfurnished",
"availabilityStartDate": "2026-07-01T00:00:00",
"availabilityEndDate": null,
"title": "In search of a roommate",
"description": "LOOKING FOR ROOMMATE / ROOM AVAILABLE in shared flat…",
"candidatePetsAllowed": false,
"candidateSmokingAllowed": false,
"isNewAdvert": true,
"imageUrls": ["https://resources.kamernet.nl/image/…"],
"scrapedAt": "2026-07-02T21:40:00.000Z"
}

Turn off Fetch full details for a faster, cheaper run with the core fields only (price, size, type, street, availability, photo).

Use cases

  • Rental alerts — run on a 15–30 min schedule with New listings only enabled; connect a webhook, Zapier/Make, or email integration and beat the crowd to every new room.
  • Market research — rent per m² by city or neighbourhood, supply trends, furnishing and deposit statistics across the NL housing shortage.
  • Relocation & expat services — feed live inventory for clients moving to the Netherlands.
  • Aggregators & portals — keep your Dutch rental coverage complete and current.

Input

FieldTypeNotes
citiesarrayOne or more Dutch cities, e.g. ["Amsterdam", "Utrecht", "Den Haag"]
listingTypesarrayAny of room, apartment, studio; empty = all
maxRentEurintegerMax monthly rent in € (Kamernet filters in €100 steps)
minSizeM2integerMinimum surface in m²
radiusKminteger1, 2, 5, 10 or 20 km around the city
sortstringnewest (default), cheapest, most_expensive
maxListingsintegerCap per run (default 200) — keeps costs predictable
fetchDetailsbooleanFull record incl. description, address, deposit, coordinates (default true)
newListingsOnlybooleanMonitoring mode: only listings not seen in previous runs of the same search
languagestringen (default) or nl for title/description

Minimal example:

{
"cities": ["Utrecht"],
"maxRentEur": 900,
"newListingsOnly": true
}

Monitoring mode — how it works

With newListingsOnly enabled, the actor remembers which listing IDs it has already output per search configuration (same cities + filters = same memory). Each run outputs only genuinely new listings — no client-side deduplication needed. Change the filters and you get a fresh memory automatically.

Typical setup: schedule the actor every 15–30 minutes, add the platform's webhook or email integration on new dataset items, and you have a real-time Kamernet alert service for exactly the search you care about.

Export & integrations

Results land in an Apify dataset — export as JSON, CSV, Excel or XML with one click or via API, or connect Zapier, Make, Slack, Google Sheets, webhooks and the other platform integrations.

# Run via API and get JSON back
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"cities": ["Amsterdam"], "maxRentEur": 1200}'

Data & fair use

  • Only publicly visible listing data is collected — the same information any visitor sees.
  • No landlord or account data: advertiser names, photos, IDs and activity are deliberately excluded (GDPR-conscious by design).
  • Respectful request rates with modest concurrency; the actor reads Kamernet's lightweight page data rather than hammering search pages.
  • Listing descriptions may contain whatever the advertiser wrote; treat them accordingly if you republish.

FAQ

Do I need proxies? No — Kamernet currently works without any proxy. The input has a proxy option as a safety valve should that ever change.

How fresh is the data? It's scraped live at run time, directly from Kamernet's own page data — no caches, no third-party APIs.

A run returned 0 items in monitoring mode — is that a bug? No: it means nothing new appeared since the previous run for that search. That's the signal doing its job.

City name doesn't work? Use the Dutch spelling Kamernet uses (e.g. Den Haag, not The Hague). The actor logs a warning when a city page can't be found.

Support

Found an issue or missing a field you need? Open an issue on the actor's Issues tab — it's monitored continuously and fixes usually ship within hours, not days.