# 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

 | Field | Meaning |
|---|---|
 | `street`, `postcode`, `city` | Address as published by the source. |
 | `lat`, `lon` | Coordinates of the property. |
 | `priceEurCents`, `priceText` | Monthly rent in euro cents, plus the rent as displayed by the source. |
 | `surfaceM2`, `rooms` | Living area in square metres and number of rooms. |
 | `propertyType`, `constructionType` | For example Apartment, House, Studio or Room. |
 | `isHousingAssociation`, `isMiddenhuur` | Rental segment flags. |
 | `source`, `sourceLabel`, `url` | Where the listing comes from and a link to the original. |
 | `agent`, `agentWebsite`, `agentPhone` | The listing agency, when the source provides it. |
 | `imageUrl` | Main image of the listing. |
 | `neighbourhoodScore` | Livability score for the area, when available. |
 | `firstSeenAt`, `lastSyncedAt` | When 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](https://woning.me/developer/rental-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](https://woning.me/developer/docs#properties) for the full response and the [rental listings API guide](https://woning.me/developer/rental-listings-api) for filters and pagination.

Source: https://woning.me/developer/dutch-housing-data (part of the WoningMe Developer API, https://woning.me/developer)
