Discover/Funda API
live

Funda APIfunda.nl ↗

Access Funda.nl property listings via API. Search active and sold Dutch real estate by city or municipality with prices, addresses, agent info, and listing details.

Endpoint health
verified 6h ago
get_all_listings
get_sold_listings
search_listings
get_listing_detail
4/4 passing latest checkself-healing
Endpoints
4
Updated
7h ago

What is the Funda API?

The Funda.nl API provides access to the Netherlands' largest real estate platform through 4 endpoints covering active listings, listing details, full-area sync, and sold property history. The search_listings endpoint returns up to 15 listings per page with fields including asking price, address components, living area, construction type, agent details, and a stable global_id that persists across requests — usable as a reliable key for tracking individual properties over time.

This call costs10 credits / call— charged only on success
Try it
Area name to search (e.g. 'amsterdam', 'purmerend', 'utrecht'). Resolved to Funda's geo identifier.
Page number to start from (1-based)
Interpret area as a 'city' (town) or a 'municipality' (gemeente, all places within it). When omitted the name is matched as given, preferring city/municipality geo entries.
Maximum number of pages to fetch (15 listings per page)
Type of offering: 'buy' or 'rent'
Restrict results to one property type: 'house' or 'apartment'. Omit to return all residential property types.
When true, listings sold under reservation (verkocht onder voorbehoud) are kept with availability 'sold_subject_to_conditions' instead of being excluded.
→ api.parse.bot/scraper/1f378595-7797-4954-8a24-14454fd69432/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1f378595-7797-4954-8a24-14454fd69432/search_listings?area=amsterdam&page=1&max_pages=1&offering_type=buy' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 4 totalmissing one? ·

Search for active (for sale / for rent) property listings on Funda.nl by city or municipality with page-based pagination. Returns up to 15 listings per page with stable integer global_id, url, address, asking price, property details, construction_type, thumbnail_url, agent, raw status and normalized availability. Paginated via page number (1-based, default 1); max_pages fetches multiple consecutive pages in one call (default 1); total_pages reports how many 15-listing pages exist. area_type='municipality' covers the whole gemeente; omitted or 'city' searches the town itself; a name that does not resolve to the requested area_type returns an empty result. Sold listings are always excluded; sold-under-reservation listings are excluded by default and kept with availability 'sold_subject_to_conditions' when include_sold_under_reservation is true; under bid / under option listings are kept with availability 'under_offer'. Because exclusion happens after fetching, a page may hold fewer than 15 listings; excluded_inactive reports how many were removed and total_available is the site's count before removal. property_type optionally narrows results to houses or apartments; all residential types are returned when omitted.

Input
ParamTypeDescription
areastringArea name to search (e.g. 'amsterdam', 'purmerend', 'utrecht'). Resolved to Funda's geo identifier.
pageintegerPage number to start from (1-based)
area_typestringInterpret area as a 'city' (town) or a 'municipality' (gemeente, all places within it). When omitted the name is matched as given, preferring city/municipality geo entries.
max_pagesintegerMaximum number of pages to fetch (15 listings per page)
offering_typestringType of offering: 'buy' or 'rent'
property_typestringRestrict results to one property type: 'house' or 'apartment'. Omit to return all residential property types.
include_sold_under_reservationbooleanWhen true, listings sold under reservation (verkocht onder voorbehoud) are kept with availability 'sold_subject_to_conditions' instead of being excluded.
Response
{
  "type": "object",
  "fields": {
    "area": "string - Area searched",
    "page": "integer - Starting page number",
    "listings": "array of listing objects with global_id (stable integer listing identifier), url, address (street, house_number, postal_code, city, neighbourhood, municipality, province), price (asking price, euros), price_condition, object_type, floor_area_m2, number_of_bedrooms, energy_label, construction_type ('resale'/'newly_built'), status (raw Funda status), availability ('available', 'under_offer', 'sold_subject_to_conditions'), publish_date, thumbnail_url, agent",
    "area_type": "string or null - 'city' or 'municipality' when given, null when the name was matched as-is",
    "page_size": "integer - Upstream listings per page (fixed at 15)",
    "total_pages": "integer - Number of 15-listing upstream pages covering total_available",
    "pages_fetched": "integer - Number of pages actually fetched",
    "property_type": "string or null - Property type filter applied ('house' or 'apartment'), null when not filtered",
    "total_available": "integer - Total number of listings matching the search on the site, before sold / sold-under-reservation listings are removed",
    "excluded_inactive": "integer - Number of fetched listings removed because they were sold (or sold under reservation unless included)",
    "listings_returned": "integer - Number of listings in this response"
  },
  "sample": {
    "data": {
      "area": "purmerend",
      "page": 1,
      "listings": [
        {
          "url": "https://www.funda.nl/detail/koop/purmerend/huis-de-graeffweg-4/44538461/",
          "agent": "Van Overbeek Makelaars o.g. Purmerend BV",
          "price": 425000,
          "status": "none",
          "address": {
            "city": "Purmerend",
            "street": "De Graeffweg",
            "province": "Noord-Holland",
            "postal_code": "1446BJ",
            "house_number": "4",
            "municipality": "Purmerend",
            "neighbourhood": "De Graeffweg en omgeving"
          },
          "global_id": 8183008,
          "price_type": "regular",
          "object_type": "house",
          "availability": "available",
          "energy_label": "A",
          "publish_date": "2026-10-08T12:00:02.8306813+02:00",
          "floor_area_m2": 113,
          "offering_type": [
            "buy"
          ],
          "thumbnail_url": "https://cloud.funda.nl/tiara-media/5cf2235f-32af-4dc0-9102-84ed3b993db1/bc064ee4-40c1-46eb-ae7e-b1ade6bf10c2",
          "number_of_rooms": 5,
          "price_condition": "kosten_koper",
          "construction_type": "resale",
          "number_of_bedrooms": 4
        }
      ],
      "area_type": "municipality",
      "page_size": 15,
      "total_pages": 40,
      "pages_fetched": 2,
      "property_type": null,
      "total_available": 589,
      "excluded_inactive": 0,
      "listings_returned": 30
    },
    "status": "success"
  }
}

About the Funda API

Searching and Browsing Active Listings

The search_listings endpoint accepts an area parameter (city name or municipality, e.g. amsterdam, purmerend) alongside optional filters for offering_type (buy or rent), property_type (house or apartment), and page. Each response includes total_available, total_pages, and pages_fetched counts, making it straightforward to paginate through results. The excluded_inactive field tells you how many fetched listings were filtered out because they were already sold or sold under reservation. You can retain sold-under-reservation listings by setting include_sold_under_reservation to true, at which point those listings appear with availability set to sold_subject_to_conditions.

Full-Area Synchronization with get_all_listings

For scenarios where you need every active listing in an area, get_all_listings auto-paginates all result pages in a single call and returns an is_complete boolean indicating whether the full result set was fetched without hitting the limit cap. The known_ids parameter accepts a comma-separated list of global_id values from a previous run; the response then includes a removed_ids array of integers representing listings that have since disappeared from the active set. This makes incremental synchronization practical: fetch all listings once, store their global_id values, then pass them back on subsequent calls to detect removals. The endpoint caps at 10,000 listings per call.

Listing Detail and Sold History

get_listing_detail takes a global_id (obtained from search_listings or get_all_listings) and returns richer fields: brokers (name and office_id), labels (e.g. ['Nieuw']), living_area, bedrooms, listing_type, and a share_url. Note that very recently listed properties may have a short delay before detail data is available. For historical research, get_sold_listings retrieves completed sales for a given area with fields including last asking price, living_area_m2, plot_area_m2, listing_status, and normalized availability set to sold. It supports page-based pagination and a limit parameter.

Reliability & maintenanceVerified

The Funda API is a managed, monitored endpoint for funda.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when funda.nl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official funda.nl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6h ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Dutch property price tracker that monitors asking price changes using stable global_id values across repeated get_all_listings calls.
  • Detect newly removed or sold listings in a municipality by passing known_ids to get_all_listings and inspecting the removed_ids array.
  • Aggregate sold property data per neighborhood using get_sold_listings to analyze historical price trends by city.
  • Filter Amsterdam apartment rentals by offering_type=rent and property_type=apartment in search_listings for a rental market dashboard.
  • Enrich a CRM or lead tool with broker name and office_id from get_listing_detail to map agent activity across a region.
  • Alert users to new listings in a target municipality by comparing total_available and global_id sets between daily get_all_listings runs.
  • Research construction type distribution across Dutch cities using the construction_type field returned in listing objects.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Funda.nl have an official developer API?+
Funda previously offered a partner API, but it has been discontinued and is no longer publicly available to third-party developers. This Parse API provides structured access to Funda listing data without requiring a partnership agreement.
What does the `global_id` field represent and can I rely on it across multiple calls?+
Yes. The global_id is Funda's permanent integer identifier for a listing. It does not change between calls, so you can use it as a stable key to join results across search_listings, get_all_listings, and get_listing_detail calls, or to detect when a specific listing disappears from the active set.
Does `get_all_listings` return listings from the entire Netherlands in one call?+
The endpoint requires an area parameter scoped to a city or municipality and caps results at 10,000 listings per call. It does not support a country-wide query in a single request. You can fork this API on Parse and revise it to loop over a list of municipalities and aggregate results across calls.
Are property photos beyond the thumbnail available from the listing endpoints?+
The listing objects from search_listings and get_all_listings include a thumbnail_url field. Full photo galleries are not currently returned by any endpoint. You can fork this API on Parse and revise it to add a photo-fetching endpoint using the global_id or listing URL.
How do I tell whether a result set from `get_all_listings` is complete or truncated?+
Check the is_complete boolean in the response. It is true only when every available page was fetched and no listing was cut off by the limit parameter. If is_complete is false, increase limit or set it to 0 to attempt fetching all available listings up to the 10,000 cap, and compare pages_fetched against total_pages to confirm full coverage.
Page content last updated . Spec covers 4 endpoints from funda.nl.
Related APIs in Real EstateSee all →
fundainbusiness.nl API
Access data from fundainbusiness.nl.
huislijn.nl API
Search and browse housing listings on huislijn.nl to find properties for sale, rental, or vacation stays, and view detailed information about specific homes. Get access to the newest listings posted on the platform to stay updated on available properties.
Pararius.nl API
Search and browse rental properties across the Netherlands from Pararius.nl, with filtering by city and detailed property information including pricing, location, and amenities. Access paginated listings to easily discover available rentals that match your needs.
booli.se API
Access Swedish property data from Booli.se. Search active and historical listings, retrieve full listing details and photos, and explore area market statistics and price trends.
domain.com.au API
Search and compare property listings for sale, rent, or sold properties across Australia, view detailed property information and agent profiles, and explore suburb insights to make informed real estate decisions. Access comprehensive data on agents, neighborhoods, and properties all in one place.
rightmove.co.uk API
Search for properties across the UK's largest property portal and retrieve detailed listings for homes for sale or to rent, including prices, descriptions, and key property information. Find your next home or investment opportunity by browsing available properties and getting comprehensive details on individual listings.
krisha.kz API
Search and browse real estate listings across Krisha.kz to find properties for sale, rent, or new developments, then access detailed information and contact details for each listing. Get comprehensive property data including prices, descriptions, and seller information to make informed decisions about properties in Kazakhstan.
pararius.com API
Search and browse rental property listings on Pararius.com. Filter by city, price, size, and furnishing; retrieve full property details; look up listings by estate agent; and autocomplete location queries.