WoningMeDevelopers

Developer API / Dutch rental housing data, in one schema

Dutch rental housing data, in one schema

Rental listings from different sources arrive in different shapes. WoningMe maps them to one structure, so your code handles one format.

The fields of a listing

FieldMeaning
street, postcode, cityAddress as published by the source.
lat, lonCoordinates of the property.
priceEurCents, priceTextMonthly rent in euro cents, plus the rent as displayed by the source.
surfaceM2, roomsLiving area in square metres and number of rooms.
propertyType, constructionTypeFor example Apartment, House, Studio or Room.
isHousingAssociation, isMiddenhuurRental segment flags.
source, sourceLabel, urlWhere the listing comes from and a link to the original.
agent, agentWebsite, agentPhoneThe listing agency, when the source provides it.
imageUrlMain image of the listing.
neighbourhoodScoreLivability score for the area, when available.
firstSeenAt, lastSyncedAtWhen WoningMe first saw the listing and when it was last updated.

Money and units

Rent is always an integer number of euro cents in priceEurCents, so there is no rounding or locale parsing on your side. The properties endpoint takes min_price and max_price in whole euros. Surface is in square metres.

Missing values

Sources do not all publish the same data. A field that a source does not provide is null rather than guessed. Typical examples are availableFrom, constructionType, agentPhone and neighbourhoodScore. Treat these as optional in your model.

Freshness

firstSeenAt tells you when a listing first appeared at WoningMe. Sort on it to read the newest listings first, or receive them through webhooks. lastSyncedAt shows when the listing was last refreshed.

Example

{
  "id": 19022,
  "source": "nederwoon",
  "street": "Kerkstraat 12",
  "postcode": "1234AB",
  "city": "Utrecht",
  "propertyType": "Apartment",
  "surfaceM2": 75,
  "rooms": 3,
  "priceEurCents": 145000,
  "isHousingAssociation": false,
  "isMiddenhuur": false,
  "lat": 52.09,
  "lon": 5.12,
  "firstSeenAt": "2026-07-27T20:20:00+00:00"
}

See the API reference for the full response and the rental listings API guide for filters and pagination.

Try it on a real search

Personal plan: €15/month for personal and non-commercial use, with a 2-day free trial. A payment method is required before the trial starts, and nothing is charged during the trial.