# Funda Scraper — Listings, Prices & Monitor (`scrupulous_frostwork/funda-scraper`) Actor

Turn any Funda.nl search into clean JSON: price, floor area, rooms, energy label, coordinates, photos and a link to the listing agency. Run a one-time export, or schedule Monitor mode to get only new and changed listings. Pay only for delivered results.

- **URL**: https://apify.com/scrupulous\_frostwork/funda-scraper.md
- **Developed by:** [Victoria](https://apify.com/scrupulous_frostwork) (community)
- **Categories:** Real estate, Automation
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 new listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Funda Scraper — Dutch Real Estate Listings & Monitoring

Turn any [Funda.nl](https://www.funda.nl) search into clean, structured real-estate data — no code required.

Get prices, property details, addresses, coordinates, photos, and agency information. Run a one-time export or schedule the scraper to receive only listings that are new or have changed.

### Why use this scraper?

- 🔁 **Monitor the market** — receive only new listings and price or availability changes after the first run.
- 📊 **Get complete property data** — price, floor area, rooms, energy label, location, coordinates, agency, and photos.
- 🏢 **Identify the listing agency** — each record can include the agency office name and a link to its Funda page.
- 💶 **Pay only for results** — failed or blocked requests are not charged.
- 📁 **Export anywhere** — download JSON, CSV, Excel, or access the data through the Apify API.
- ✅ **No personal agent data** — the scraper is designed to exclude personal names, phone numbers, and email addresses.

### Get started in 3 steps

1. Open [Funda.nl](https://www.funda.nl), apply your filters, and copy the search-results URL.
2. Paste the URL into **Search URLs**, set **Max items** to cap the run (or clear it to collect everything that matches), and click **Start**.
3. Download the results or schedule the Actor to monitor the search automatically.

You can also skip the URL and select a listing type, area, price range, and property type directly in the input form.

### Choose a mode

#### Monitor — new and changed listings

Use **Monitor** when you want to follow the same market over time.

- The first run returns all current matching listings and remembers them.
- Later runs return only new listings and listings whose **price or availability status** changed.
- Unchanged listings are skipped and not charged.

Schedule the Actor hourly or daily to keep your data up to date.

> Changing the search URL, area, or filters creates a new monitor. Its first run will return the full current set again.

```json
{
  "mode": "monitor",
  "searchUrls": ["https://www.funda.nl/zoeken/koop?selected_area=amsterdam"]
}
````

#### Full scan — one-time export

Use **Full scan** when you want every listing that currently matches your search.

```json
{
  "mode": "full_scan",
  "searchUrls": ["https://www.funda.nl/zoeken/koop?selected_area=amsterdam"],
  "maxItems": 200
}
```

No Funda URL? Build the search from input fields:

```json
{
  "mode": "full_scan",
  "listingType": "buy",
  "area": ["amsterdam"],
  "objectType": "apartment",
  "priceMin": 300000,
  "priceMax": 600000,
  "maxItems": 200
}
```

For neighbourhoods, energy labels, and other advanced Funda filters, paste a Funda search URL. A pasted URL overrides the separate listing type, area, and price fields.

#### Already completed a full scan?

If you switch to Monitor using the **same search inputs**, the Actor uses the full scan as its starting point. The monitor will return only changes instead of delivering the full set again.

Keep the same `snapshotStoreName`. If you want a complete starting point, do not limit the full scan below the total number of matching listings.

### Pricing

**$2.50 per 1,000 delivered listings.**

| Delivered results | Price |
|---:|---:|
| 100 | $0.25 |
| 200 | $0.50 |
| 1,000 | $2.50 |

The first Monitor run returns and charges for the current matching listings. Later runs usually cost less because only new and changed listings are delivered. Your exact cost depends on the number of results.

### What you get

| Field | Description |
|---|---|
| `sourceId` | Stable Funda listing ID |
| `url` | Listing URL |
| `dealType` | Sale or rent |
| `propertyType` | House, apartment, parking, land, or another property type |
| `status` | Available, under offer, sold, rented, withdrawn, or unknown |
| `priceEur` | Price in EUR |
| `price` | Amount, currency, rental period, and original price text |
| `livingAreaM2`, `plotAreaM2` | Living and plot area |
| `rooms`, `bedrooms` | Room counts |
| `energyLabel` | Energy label |
| `yearBuilt` | Construction year |
| `city` | City the property is in — a flat column, so listing tables and spreadsheets stay readable |
| `location` | Full address: street, house number, postcode, city, region, latitude, and longitude |
| `photoUrls` | Full-resolution photo URLs — the images Funda publishes in the listing's page data, usually the first 6. The rest of the gallery is loaded by the site's JavaScript and is not collected. |
| `agencyName`, `agencyUrl` | Agency office name and Funda office page |
| `scrapedAt` | Time the listing was collected |

#### If you turn off Fetch detail pages

**Fetch detail pages** is on by default and is what produces the full table above. With it off, the Actor reads only the search-results page, so each record contains just `sourceId`, `url`, `dealType`, `status`, `price` / `priceEur`, `agencyName`, and `agencyUrl`. Everything else — floor area, rooms, energy label, coordinates, year built, photos, property type — is not collected.

Turning it off makes runs faster and less likely to be blocked. It does **not** make them cheaper: the price is per delivered listing regardless of how many fields each listing carries.

#### Example result

The record below is illustrative — the address, IDs, and agency are placeholders, not a real listing.

```json
{
  "sourceId": "00000000",
  "url": "https://www.funda.nl/detail/koop/amsterdam/appartement-voorbeeldstraat-1/00000000/",
  "dealType": "sale",
  "propertyType": "apartment",
  "status": "available",
  "priceEur": 415000,
  "livingAreaM2": 54,
  "rooms": 3,
  "bedrooms": 2,
  "energyLabel": "C",
  "yearBuilt": 1921,
  "city": "Amsterdam",
  "location": {
    "street": "Voorbeeldstraat",
    "houseNumber": "1",
    "postcode": "1000 AA",
    "city": "Amsterdam",
    "region": "Noord-Holland",
    "country": "NL",
    "lat": 52.3676,
    "lng": 4.9041
  },
  "photoUrls": ["https://cloud.funda.nl/valentina_media/000/000/000_1440x960.jpg"],
  "agencyName": "Voorbeeld Makelaardij B.V.",
  "agencyUrl": "https://www.funda.nl/makelaar/00000-voorbeeld-makelaardij/"
}
```

### Main input options

- `searchUrls` — one or more Funda search-results URLs (each must start with `https://www.funda.nl/zoeken/`).
- `listingType` — `buy` or `rent`. Used when no Search URL is given.
- `area` — city or region slugs as they appear in a Funda URL, such as `amsterdam`. Used when no Search URL is given.
- `mode` — `full_scan` (default) or `monitor`.
- `snapshotStoreName` — the monitor's name; change it to start a fresh monitor.
- `maxItems` — stop after this many listings, and charge for at most this many.
- `fetchDetails` — collect the complete listing details; enabled by default.
- `priceMin`, `priceMax`, `objectType` — optional search filters.
- `proxyConfiguration` — use Apify Proxy or your own proxy URLs.

### Frequently asked questions

**Can I get only new or changed listings?**

Yes. Use Monitor mode and schedule the Actor. After the first run, it returns only newly found listings and listings whose price or availability status changed.

**What happens if nothing changed?**

The run succeeds with an empty dataset. No listing results are charged.

**Where does the monitor keep its previous results?**

It stores a small record of listing IDs, prices, and statuses in a named Key-Value Store in your Apify account. The default store is `funda-monitor-snapshots`. You normally do not need to manage it.

Because it is a *named* store, Apify keeps it indefinitely — your monitor does not forget, however long it sits between runs, on any plan. The results of each run are separate: those datasets follow your Apify plan's normal data retention, so export or sync them if you want to keep a long-term history.

**How do I contact the listing agency?**

Records can include the agency's office name and a direct link to its Funda office page, where you can find its public business information.

**Will Funda block the scraper?**

The Actor uses request fingerprinting, proxy rotation, and automatic retries. Dutch residential proxies are recommended for reliable runs.

**What formats can I export?**

Apify supports JSON, CSV, Excel, XML, RSS, and API access.

**Can I send the results to my own system?**

Yes — the data is yours to move. Download it from the Console, pull it with the Apify API on your own schedule, or have Apify push it for you: there are integrations for Google Drive, Airtable, Snowflake, and HubSpot, as well as Make, n8n, and Zapier. You can also set a webhook that fires when a run succeeds so your own service collects the results automatically. This is the setup to use if you want a long-term archive of every run.

**Is scraping Funda legal?**

This Actor collects public property data and is designed to exclude personal agent contact details. You are responsible for how you use the data. Review Funda's terms and applicable laws for your use case.

### Limitations

- A listing is considered changed only when its **price or availability status** changes. Photo and description edits do not trigger a result.
- Funda's “offered since” date requires login and is not collected.
- Agency information can be empty when the scraper cannot clearly identify a business office.
- For reliable monitoring, use a focused search such as a city with relevant filters rather than all listings in the Netherlands.
- Residential Dutch proxies are recommended. The default concurrency is intentionally conservative.

### Support

Found a problem or need another field? Open an issue on the Actor's **Issues** tab.

***

<sub>Not affiliated with Funda. Scrapes publicly available pages only.</sub>

# Actor input Schema

## `searchUrls` (type: `array`):

The fastest way to run this scraper: open a search on funda.nl, apply any filters you like, and paste the results URL here (one or more). This overrides Listing type / Area / price filters below. Example: https://www.funda.nl/zoeken/koop?selected\_area=amsterdam Must be a search-results page (the URL starts with https://www.funda.nl/zoeken/). A single property's page will not work.

## `listingType` (type: `string`):

Buy (koop) or rent (huur). Used when no Search URL is given.

## `area` (type: `array`):

Dutch city or region exactly as it appears in a Funda URL — e.g. amsterdam, rotterdam, den-haag. Add several to search several areas. Not sure of the spelling? Use Search URLs above instead. Leave empty to search the whole Netherlands — that is tens of thousands of listings, so set Max items too.

## `mode` (type: `string`):

Full scan returns every matching listing. Monitor returns the full current set on the first run, then only new listings and price or availability changes.

## `snapshotStoreName` (type: `string`):

A label for this monitor's memory of what it has already seen. Change it to start a fresh monitor — the next run returns the full current set again — or to run two independent monitors over the same search.

## `maxItems` (type: `integer`):

Stop after this many listings — and charge for at most this many. Leave empty for no cap.

## `fetchDetails` (type: `boolean`):

On (recommended): open each listing's page for the full field set — floor area, rooms, energy label, coordinates, year built, photos. Off: faster and less likely to be blocked, but you only get ID, URL, price, status and agency. The price per result is the same either way.

## `priceMin` (type: `integer`):

Lower price bound, applied to the Funda search. Used when no Search URL is given.

## `priceMax` (type: `integer`):

Upper price bound, applied to the Funda search. Used when no Search URL is given.

## `objectType` (type: `string`):

Filter by object type, applied to the Funda search. Used when no Search URL is given.

## `proxyConfiguration` (type: `object`):

Residential NL proxies are strongly recommended — Funda prioritizes Dutch residential traffic. Default: Apify Proxy residential (NL). You may inject your own residential proxyUrls (often cheaper) via the Custom proxies option.

## Actor input object example

```json
{
  "listingType": "buy",
  "area": [
    "amsterdam"
  ],
  "mode": "full_scan",
  "snapshotStoreName": "funda-monitor-snapshots",
  "maxItems": 10,
  "fetchDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "NL"
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

All listings delivered by this run, as JSON. One record per property: price (plus flat priceEur), floor and plot area, rooms, energy label, address with coordinates, photo URLs, and the selling agency's name and Funda office page.

## `listingsCsv` (type: `string`):

The same listings as a spreadsheet-ready CSV — open directly in Excel, Numbers, or Google Sheets.

## `runSummary` (type: `string`):

Metrics for this run: how many listings were scanned, how many were new or changed, how many were delivered, the success and challenge rates, and per-field fill rates. Useful for monitoring scraper health over time.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "area": [
        "amsterdam"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "NL"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrupulous_frostwork/funda-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "area": ["amsterdam"],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "NL",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrupulous_frostwork/funda-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "area": [
    "amsterdam"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "NL"
  }
}' |
apify call scrupulous_frostwork/funda-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrupulous_frostwork/funda-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Funda Scraper — Listings, Prices & Monitor",
        "description": "Turn any Funda.nl search into clean JSON: price, floor area, rooms, energy label, coordinates, photos and a link to the listing agency. Run a one-time export, or schedule Monitor mode to get only new and changed listings. Pay only for delivered results.",
        "version": "0.0",
        "x-build-id": "hkcfltEVNo8fu8LSC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrupulous_frostwork~funda-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrupulous_frostwork-funda-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrupulous_frostwork~funda-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrupulous_frostwork-funda-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrupulous_frostwork~funda-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrupulous_frostwork-funda-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "The fastest way to run this scraper: open a search on funda.nl, apply any filters you like, and paste the results URL here (one or more). This overrides Listing type / Area / price filters below. Example: https://www.funda.nl/zoeken/koop?selected_area=amsterdam Must be a search-results page (the URL starts with https://www.funda.nl/zoeken/). A single property's page will not work.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listingType": {
                        "title": "Listing type",
                        "enum": [
                            "buy",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Buy (koop) or rent (huur). Used when no Search URL is given.",
                        "default": "buy"
                    },
                    "area": {
                        "title": "City or area",
                        "type": "array",
                        "description": "Dutch city or region exactly as it appears in a Funda URL — e.g. amsterdam, rotterdam, den-haag. Add several to search several areas. Not sure of the spelling? Use Search URLs above instead. Leave empty to search the whole Netherlands — that is tens of thousands of listings, so set Max items too.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "full_scan",
                            "monitor"
                        ],
                        "type": "string",
                        "description": "Full scan returns every matching listing. Monitor returns the full current set on the first run, then only new listings and price or availability changes.",
                        "default": "full_scan"
                    },
                    "snapshotStoreName": {
                        "title": "Monitor name",
                        "type": "string",
                        "description": "A label for this monitor's memory of what it has already seen. Change it to start a fresh monitor — the next run returns the full current set again — or to run two independent monitors over the same search.",
                        "default": "funda-monitor-snapshots"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Stop after this many listings — and charge for at most this many. Leave empty for no cap."
                    },
                    "fetchDetails": {
                        "title": "Fetch detail pages",
                        "type": "boolean",
                        "description": "On (recommended): open each listing's page for the full field set — floor area, rooms, energy label, coordinates, year built, photos. Off: faster and less likely to be blocked, but you only get ID, URL, price, status and agency. The price per result is the same either way.",
                        "default": true
                    },
                    "priceMin": {
                        "title": "Minimum price (EUR)",
                        "type": "integer",
                        "description": "Lower price bound, applied to the Funda search. Used when no Search URL is given."
                    },
                    "priceMax": {
                        "title": "Maximum price (EUR)",
                        "type": "integer",
                        "description": "Upper price bound, applied to the Funda search. Used when no Search URL is given."
                    },
                    "objectType": {
                        "title": "Object type",
                        "enum": [
                            "house",
                            "apartment",
                            "parking",
                            "land"
                        ],
                        "type": "string",
                        "description": "Filter by object type, applied to the Funda search. Used when no Search URL is given."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential NL proxies are strongly recommended — Funda prioritizes Dutch residential traffic. Default: Apify Proxy residential (NL). You may inject your own residential proxyUrls (often cheaper) via the Custom proxies option.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "NL"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
