Real Estate

Funda.nl API

The Funda API returns Dutch real-estate listings as clean JSON.

3 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary search endpoint returns listings with id, URL, contract, object type, price (EUR), surface (m2), rooms and bedrooms, and you can pull a detail and an area. It is built for real-estate tools and Dutch property analytics that need Funda data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/funda/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "area": "amsterdam"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "funda",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1322.3,
    "record_count": 15,
    "bytes": 768162,
    "cache_hit": false,
    "stop_reason": "limit_reached",
    "method": "ssr_nuxt_state",
    "locale": "nl-NL",
    "currency": "EUR",
    "total": 6497,
    "count": 15,
    "page": 1,
    "max_pages": 434,
    "area_slug": "amsterdam",
    "filters_applied": {}
  },
  "data": {
    "results": [
      {
        "id": 8087237,
        "url": "https://www.funda.nl/detail/koop/amsterdam/appartement-cornelis-vermuydenstraat-92/44432690/",
        "contract": [
          "buy"
        ],
        "object_type": "apartment",
        "construction_type": "resale",
        "price": {
          "amount_eur": 525000,
          "currency": "EUR",
          "kind": "sale",
          "condition": "kosten_koper",
          "type": "regular"
        },
        "surface_m2": 65,
        "plot_m2": null,
        "rooms": 3,
        "bedrooms": 2,
        "energy_label": "A+",
        "status": "none",
        "publish_date": "[redacted-phone]T12:52:[redacted-phone]+02:00",
        "zoning": "residential",
        "address": {
          "street": "Cornelis Vermuydenstraat",
          "house_number": "92",
          "house_number_suffix": null,
          "postal_code": "1018RN",
          "city": "Amsterdam",
          "municipality": "Amsterdam",
          "neighbourhood": "Czaar Peterbuurt",
          "district": "Oostelijke Eilanden/Kadijken",
          "province": "Noord-Holland",
          "country": "NL"
        },
        "photo_count": 21,
        "primary_photo_url": "https://cloud.funda.nl/tiara-media/ac38ed10-d0ba-4fae-adee-12b41b46050e/d88af94d-f3db-4407-8a8a-cf5732fde98e",
        "agent": {
          "office_name": "PUUR* Makelaars Amsterdam",
          "office_id": "566588fb-dbeb-4ec1-97ea-e6148df47c1e",
          "association": "NVM",
          "url": "https://www.funda.nl/makelaar/24690-puur-makelaars-amsterdam/"
        }
      },
      {
        "id": 8086738,
        "url": "https://www.funda.nl/detail/koop/amsterdam/appartement-lindenhoevestraat-35/44431191/",
        "contract": [
          "buy"
        ],
        "object_type": "apartment",
        "construction_type": "resale",
        "price": {
          "amount_eur": 675000,
          "currency": "EUR",
          "kind": "sale",
          "condition": "kosten_koper",
          "type": "regular"
        },
        "surface_m2": 80,
        "plot_m2": null,
        "rooms": 3,
        "bedrooms": 1,
        "energy_label": "A+++",
        "status": "none",
        "publish_date": "[redacted-phone]T10:36:[redacted-phone]+02:00",
        "zoning": "residential",
        "address": {
          "street": "Lindenhoevestraat",
          "house_number": "35",
          "house_number_suffix": null,
          "postal_code": "1096DV",
          "city": "Amsterdam",
          "municipality": "Amsterdam",
          "neighbourhood": "Weespertrekvaart",
          "district": "Omval/Overamstel",
          "province": "Noord-Holland",
          "country": "NL"
        },
        "photo_count": 36,
        "primary_photo_url": "https://cloud.funda.nl/tiara-media/cb64a7e7-ab45-44b6-bf2c-dd3ec297db8c/98ca710b-8059-41fc-b3cc-5d087b0be05f",
        "agent": {
          "office_name": "Geijsel Makelaardij",
          "office_id": "28509c1d-e7a1-4eb8-a440-7169cd2f6539",
          "association": "NVM",
          "url": "https://www.funda.nl/makelaar/24751-geijsel-makelaardij/"
        }
      },
      {
        "id": 8087052,
        "url": "https://www.funda.nl/detail/koop/amsterdam/appartement-shackletonstraat-24-3/44432415/",
        "contract": [
          "buy"
        ],
        "object_type": "apartment",
        "construction_type": "resale",
        "price": {
          "amount_eur": 400000,
          "currency": "EUR",
          "kind": "sale",
          "condition": "kosten_koper",
          "type": "regular"
        },
        "surface_m2": 49,
        "plot_m2": null,
        "rooms": 3,
        "bedrooms": 2,
        "energy_label": "E",
        "status": "none",
        "publish_date": "[redacted-phone]T08:00:[redacted-phone]+02:00",
        "zoning": "residential",
        "address": {
          "street": "Shackletonstraat",
          "house_number": "24",
          "house_number_suffix": "3",
          "postal_code": "1056RM",
          "city": "Amsterdam",
          "municipality": "Amsterdam",
          "neighbourhood": "Jan Maijenbuurt",
          "district": "Van Galenbuurt",
          "province": "Noord-Holland",
          "country": "NL"
        },
        "photo_count": 31,
        "primary_photo_url": "https://cloud.funda.nl/tiara-media/71625c7e-e718-4d9e-954c-9f[redacted-phone]f/f9b252f9-b69e-4211-b554-7639b2ef2f26",
        "agent": {
          "office_name": "Wester Makelaars B.V.",
          "office_id": "aecc88b0-7e[redacted-phone]f0a-13365839d0f0",
          "association": "NVM",
          "url": "https://www.funda.nl/makelaar/24864-wester-makelaars-bv/"
        }
      }
    ],
    "total": 6497,
    "count": 15,
    "page": 1,
    "max_pages": 434,
    "area": {
      "query": "amsterdam",
      "area_slug": "amsterdam",
      "label": "Koopwoningen Amsterdam - huizen te koop in Amsterdam | Funda",
      "matched": true
    },
    "filters_applied": {}
  }
}
Actions

What the Funda.nl API does

ActionDescriptionConcrete use caseKey params
searchSearch Funda.nl property listings by area (for sale or for rent), with structured filters: price (EUR), rooms, living surface (m²), plot size, property type and sort. Each result carries price, object type, surface, rooms, bedrooms, energy label, construction type, address, agent and the primary photo. Paginate with page.Real-estate investors call search to search Funda.nl property listings by area (for sale or for rent), with structured filters.area, contract, home_type, sort, page, ...
detailFull record for a single listing by its Funda detail URL or path (funda.nl/detail/koop/<city>/<slug>/<id>/). Returns price, address, description, every photo at full resolution, and the complete Kenmerken (specifications) table — surface, rooms, year built, energy label, heating, location and more.Brokerage tools call detail to get full record for a single listing by its Funda detail URL or path (funda.nl/detail/koop/<city>….url
areaArea resolver — map a free-text Dutch place name to Funda's search area-slug and report the live listing count there. Use it to power a search box or to confirm the exact area the search will use (a city resolves to its slug, a province to its provincie- slug).Property dashboards call area to get area resolver.query
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/funda/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"area":"amsterdam"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.funda.search with {"area":"amsterdam"}.
Use cases

Who uses this API and why

  • Investors call search to track Dutch listing prices by area.
  • Property dashboards use detail to enrich a listing.
  • Market analysts use area to size inventory in a Dutch region.
FAQ

Questions developers ask before integrating

What is the Funda.nl API?

Funda.nl API is a ReefAPI endpoint group for funda.nl It returns live JSON through POST requests under /funda/v1.

Is the Funda.nl API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Funda.nl calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Funda.nl login or account?

No login to Funda.nl is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Funda.nl data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Funda.nl API use?

Funda.nl actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Funda.nl from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call funda actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Funda.nl API a Funda.nl scraper?

It is the managed alternative to a DIY Funda.nl scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same funda.nl back as clean JSON.

Why does my Funda.nl scraper keep getting blocked?

Most Funda.nl scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / funda

Funda.nl

Funda.nl

base /funda/v13 endpoints
post/funda/v1/detail1 credit

Full record for a single listing by its Funda detail URL or path (funda.nl/detail/koop/<city>/<slug>/<id>/). Returns price, address, description, every photo at full resolution, and the complete Kenmerken (specifications) table — surface, rooms, year built, energy label, heating, location and more.

ParameterAllowed / rangeDescription
urlrequiredA Funda listing detail URL or path — the funda.nl/detail/koop/<city>/<slug>/<id>/ link from a search result's `url`. A full https URL or just the /detail/... path both work.
Try in playground →
post/funda/v1/areafree

Area resolver — map a free-text Dutch place name to Funda's search area-slug and report the live listing count there. Use it to power a search box or to confirm the exact area the search will use (a city resolves to its slug, a province to its provincie- slug).

ParameterAllowed / rangeDescription
queryrequiredFree-text Dutch place to resolve — a city, town or province ('Amsterdam', 'Den Haag', 'Noord-Holland').
Try in playground →