# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/funda/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## 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/credits/funda/get-all-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/funda/get-listing-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/funda/get-sold-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/funda/search-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","max_pages":"<integer>","offering_type":"<string>","page":"<integer>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.