Funda APIfunda.nl ↗
Access Funda.nl property listings via API. Search buy/rent listings by area, get listing details, bulk-fetch results, and retrieve sold properties with prices and agent info.
What is the Funda API?
The Funda.nl API provides access to the Netherlands' largest real estate platform across 4 endpoints, returning property listings with prices, addresses, floor area, bedroom count, energy labels, and agent details. Use search_listings to query any Dutch city or neighbourhood for current buy or rent properties, get_listing_detail to fetch full details for a specific property by its global ID, and get_sold_listings to pull historical sold-property data.
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'
Search for property listings on Funda.nl by area with pagination. Returns 15 listings per page with prices, addresses, property details, and agent information. Paginated via page number; each page holds 15 results. Use max_pages to fetch multiple consecutive pages in one call.
| Param | Type | Description |
|---|---|---|
| area | string | Area/city to search in (e.g., 'amsterdam', 'rotterdam', 'utrecht') |
| page | integer | Page number to start from (1-based) |
| max_pages | integer | Maximum number of pages to fetch (15 listings per page) |
| offering_type | string | Type of offering: 'buy' or 'rent' |
{
"type": "object",
"fields": {
"page": "integer - Starting page number",
"listings": "array of listing objects with global_id, url, address, price, object_type, floor_area_m2, number_of_bedrooms, energy_label, agent, and more",
"page_size": "integer - Listings per page (fixed at 15)",
"pages_fetched": "integer - Number of pages actually fetched",
"total_available": "integer - Total number of listings matching the search",
"listings_returned": "integer - Number of listings in this response"
}
}About the Funda API
Endpoints and Data Coverage
The API covers four endpoints for accessing Funda.nl property data. search_listings accepts an area string (e.g. 'amsterdam', 'rotterdam'), an offering_type of 'buy' or 'rent', and pagination controls (page, max_pages). Each page returns 15 listing objects containing global_id, url, address, price, object_type, floor_area_m2, number_of_bedrooms, energy_label, and agent. The total_available field tells you the full result count for the query.
Bulk Retrieval and Sold Properties
get_all_listings handles pagination automatically, accepting a limit parameter and fetching consecutive pages until the limit or the 10,000-record Elasticsearch window is exhausted. This is the right endpoint when you need a full market snapshot for an area rather than page-by-page browsing. get_sold_listings targets completed transactions: it returns street, house_number, postal_code, city, price (last asking price), living_area_m2, and plot_area_m2 for sold residential properties. It resolves plain area names to Funda's internal geo identifiers automatically — passing 'rijswijk' resolves to 'rijswijk-zh' without any manual lookup.
Listing Detail
get_listing_detail takes a global_id obtained from either search_listings or get_all_listings and returns an extended record: address (with title, subtitle, city, postal_code), brokers array with broker name and office_id, living_area, bedrooms, listing_type, labels (e.g. ['Nieuw']), share_url, and tiny_id. Note that very recently listed properties may not yet appear in detail results — there is a short propagation delay after initial listing publication.
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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Dutch property price tracker segmented by city, comparing median asking prices across Amsterdam, Utrecht, and Rotterdam using
priceandfloor_area_m2fields. - Generate neighbourhood-level sold-price heatmaps using coordinates and
pricedata fromget_sold_listings. - Monitor new listings in a target area by polling
search_listingsand filtering for the'Nieuw'label in listing results. - Aggregate broker market share by counting agent appearances across all listings in an area via
get_all_listings. - Compare buy-vs-rent asking prices for the same property type by running parallel
search_listingsqueries withoffering_typeset to'buy'and'rent'. - Feed a property recommendation engine with floor area, bedroom count, and energy label data from bulk listing results.
- Enrich a CRM with broker
office_idandnamefromget_listing_detailto track which agencies are active in a specific postal code range.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Funda.nl have an official developer API?+
What does `get_sold_listings` return, and how is it different from `search_listings`?+
get_sold_listings returns completed transactions with fields like living_area_m2, plot_area_m2, street, house_number, and last asking price. search_listings covers active buy or rent listings currently on the market. The sold endpoint also automatically resolves ambiguous area names to Funda's geo identifiers, so you don't need to know the canonical slug for a municipality.Is there a limit to how many listings I can retrieve for one area?+
get_all_listings paginates automatically but is capped at a 10,000-record offset, which reflects a hard window in the underlying search index. For most Dutch cities outside Amsterdam, the total available listings will fall well below this ceiling. If you need to work around the cap, you can narrow queries by sub-area or district.Does the API return listing photos or floor plans?+
global_id.Can I filter listings by price range, property type, or energy label directly in the API parameters?+
area and offering_type only. Price range, energy label, and property type filters are not exposed as query parameters. You can fork this API on Parse and revise it to pass additional filter parameters through to the search endpoint.