# Funda — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for property listings on Funda.nl, the largest Dutch real estate platform. Access prices, addresses, property details, and agent contact information across Dutch cities and neighbourhoods. Supports paginated browsing and bulk retrieval of listings by area.

**Category:** Real Estate | **Website:** [www.funda.nl/zoeken/kaart/koop?zoom=8&centerLat=52.3702&centerLng=4.8952](https://www.funda.nl/zoeken/kaart/koop?zoom=8&centerLat=52.3702&centerLng=4.8952) | **Docs:** [parse.bot/marketplace/a7731ff5-826e-4bcf-b4c3-31b514de0c20/funda-nl-api](https://parse.bot/marketplace/a7731ff5-826e-4bcf-b4c3-31b514de0c20/funda-nl-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-funda-nl-api-a7731ff5/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_all_listings

Retrieve listings for an area by automatically paginating through all result pages. Returns up to the specified limit of listings. Internally fetches 15 listings per page and stops when the limit is reached or all pages are exhausted (max 10000 offset due to Elasticsearch window).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area` | string | No | Area/city to search (e.g., 'amsterdam', 'rotterdam', 'utrecht') |
| `limit` | integer | No | Maximum number of listings to return. Set to 0 to fetch all available (up to 10000), though large values may cause timeouts for areas with many listings. |
| `offering_type` | string | No | Type of offering: 'buy' or 'rent' |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-funda-nl-api-a7731ff5/get_all_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","limit":"<integer>","offering_type":"<string>"}'
```

### get_listing_detail

Get detailed information for a specific listing by its global ID. Returns price, address, living area, bedrooms, broker info, labels, and publication date. The global_id is obtained from search_listings or get_all_listings results. Note: very recently listed properties may take a short time before they are available in the detail API.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `global_id` | string | Yes | The global ID of the listing (numeric string from search_listings results, e.g. '7983002') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-funda-nl-api-a7731ff5/get_listing_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"global_id":"<string>"}'
```

### get_sold_listings

Retrieve sold (verkocht) residential property listings for a given area. Returns sold properties with last asking price, address details, property characteristics, and agent info. Internally resolves area names to Funda geo identifiers (e.g. 'rijswijk' resolves to 'rijswijk-zh'). Paginated via page number; fetches up to the specified limit of listings starting from the given page offset.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area` | string | No | Area/city to search for sold properties (e.g., 'amsterdam', 'rijswijk', 'utrecht'). Automatically resolved to Funda geo identifier. |
| `limit` | integer | No | Maximum number of sold listings to return. |
| `page` | integer | No | Page number for pagination (1-based). Each page returns up to 15 listings from the upstream API. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-funda-nl-api-a7731ff5/get_sold_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","limit":"<integer>","page":"<integer>"}'
```

### search_listings

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.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area` | string | No | Area/city to search in (e.g., 'amsterdam', 'rotterdam', 'utrecht') |
| `max_pages` | integer | No | Maximum number of pages to fetch (15 listings per page) |
| `offering_type` | string | No | Type of offering: 'buy' or 'rent' |
| `page` | integer | No | Page number to start from (1-based) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-funda-nl-api-a7731ff5/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","max_pages":"<integer>","offering_type":"<string>","page":"<integer>"}'
```
