# ImmoScout24 Scraper — German Real Estate & Prices (`studio-amba/immoscout24-scraper`) Actor

Scrape real estate listings from immobilienscout24.de — apartments, houses, prices, photos, and details for the German property market. Supports sale and rental listings.

- **URL**: https://apify.com/studio-amba/immoscout24-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** E-commerce
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## ImmobilienScout24 Scraper

Extract rental and sale listings from [ImmobilienScout24.de](https://www.immobilienscout24.de) — Germany's #1 real estate portal with over 1.5 million active properties — into structured JSON with prices, GPS coordinates, floor plans, energy ratings, and agent contacts.

### What is ImmobilienScout24 Scraper?

**ImmobilienScout24 Scraper** lets you extract structured property data from Germany's largest real estate platform, helping you monitor the market, compare prices, and automate research — all without manual browsing or copy-pasting.

- **Track rental prices across German cities:** extract thousands of apartment and house listings with exact prices, sizes, and locations to build rent-index datasets or spot underpriced deals
- **Automate relocation research:** search by city, property type, and keywords (e.g., "Wohnung mit Balkon") and get structured results you can filter, sort, and compare instantly
- **Monitor investment opportunities:** schedule daily runs to detect new sale listings in target neighborhoods before they get crowded with offers
- **Build market intelligence dashboards:** feed structured data into Google Sheets, Airtable, or any BI tool to visualize trends by city, district, or property type
- **Power lead generation for agencies:** extract agent names and contact details alongside listings to identify active brokers in specific regions
- **Enrich property databases:** combine ImmobilienScout24 data with listings from other European portals for cross-border real estate analysis

ImmobilienScout24 has **no public API and no bulk export**. This scraper is the only way to get structured data out of the platform at scale. No other Apify actor covers ImmobilienScout24.

### What data does ImmobilienScout24 Scraper extract?

🏠 **Title** — full listing headline in German
💰 **Price** — rent or sale price in EUR
📍 **Full address** — street, postal code, city
🗺️ **GPS coordinates** — latitude and longitude for mapping
🛏️ **Rooms** — bedrooms and bathrooms count
📐 **Surface area** — living space in m² and land area in m²
🏗️ **Build year** — construction year of the property
⚡ **EPC energy score** — energy efficiency rating (A+ to H)
🏷️ **Listing type** — rent (Miete) or sale (Kauf)
🏘️ **Property type** — apartment, house, land, room, shared flat, garage, office
🏢 **Agency** — agent/broker name and website
📸 **All images** — primary image + full gallery URLs
📝 **Description** — complete listing text in German
🔗 **Direct URL** — link to the original listing on ImmobilienScout24.de

### How to scrape ImmobilienScout24

The input is simple: pick a **location**, **property type**, and **listing type** — then hit run. You can also paste search URLs directly or use a free-text search query.

#### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | Array | — | ImmobilienScout24 search result or listing detail URLs. Paste any URL from the site |
| `searchQuery` | String | — | Free-text search, e.g., `"Wohnung mit Balkon"` or `"Altbau Kreuzberg"` |
| `location` | String | `"berlin"` | City or region name, e.g., `"muenchen"`, `"hamburg"`, `"koeln"` |
| `propertyType` | String | `"wohnung"` | One of: `wohnung`, `haus`, `grundstueck`, `zimmer`, `wg`, `garage-stellplatz`, `buero-praxisflaeche` |
| `listingType` | String | `"mieten"` | `"mieten"` (rent) or `"kaufen"` (buy) |
| `maxResults` | Integer | `100` | Number of listings to return (1 – 10,000) |
| `proxyConfiguration` | Object | Residential | Proxy settings. **Residential proxies are required** — ImmobilienScout24 blocks datacenter IPs |

#### Tips for best results

- **Start with `startUrls` for precision:** go to ImmobilienScout24.de, apply all your filters (price range, rooms, district), copy the URL, and paste it into `startUrls` — the scraper will respect every filter
- **Use `searchQuery` for flexible searches:** queries like `"Altbau Einbaukueche"` or `"Dachgeschoss Charlottenburg"` let you find niche listings that structured filters miss
- **Keep `maxResults` under 1,000 for fast runs:** ImmobilienScout24 paginates aggressively — smaller batches complete faster and cost less
- **Schedule daily runs** to catch new listings as soon as they appear — the German rental market moves fast, especially in Berlin and Munich
- **Always use residential proxies** — this is not optional. ImmobilienScout24 has strong anti-bot protection and will block datacenter proxies immediately

#### Supported search types

| Search | `propertyType` | `listingType` |
|--------|---------------|---------------|
| Rent apartments | `wohnung` | `mieten` |
| Buy apartments | `wohnung` | `kaufen` |
| Rent houses | `haus` | `mieten` |
| Buy houses | `haus` | `kaufen` |
| Buy land/plots | `grundstueck` | `kaufen` |
| Shared flats (WG) | `wg` | `mieten` |
| Rooms | `zimmer` | `mieten` |
| Garages & parking | `garage-stellplatz` | `mieten` or `kaufen` |
| Office & commercial | `buero-praxisflaeche` | `mieten` or `kaufen` |

### Output

Results are stored in a **dataset** that you can download in JSON, CSV, Excel, XML, or HTML format directly from the Apify Console.

#### JSON example

```json
{
    "title": "Helle 2-Zimmer-Wohnung mit Balkon in Kreuzberg",
    "price": 1450,
    "currency": "EUR",
    "listingType": "rent",
    "propertyType": "apartment",
    "address": "Oranienstrasse 58",
    "city": "Berlin",
    "postalCode": "10969",
    "latitude": 52.5024,
    "longitude": 13.4105,
    "bedrooms": 2,
    "bathrooms": 1,
    "surface": 75,
    "landSurface": null,
    "buildYear": 2003,
    "epcScore": "C",
    "imageUrl": "https://pictures.immobilienscout24.de/listings/abc123/1.jpg",
    "imageUrls": [
        "https://pictures.immobilienscout24.de/listings/abc123/1.jpg",
        "https://pictures.immobilienscout24.de/listings/abc123/2.jpg",
        "https://pictures.immobilienscout24.de/listings/abc123/3.jpg",
        "https://pictures.immobilienscout24.de/listings/abc123/4.jpg"
    ],
    "description": "Lichtdurchflutete 2-Zimmer-Wohnung mit Suedbalkon in ruhiger Seitenstrasse. Einbaukueche, Dielenboden, Kellerabteil. Naehe U-Bahn Kottbusser Tor.",
    "agencyName": "Berliner Wohnraum GmbH",
    "agencyUrl": "https://www.berliner-wohnraum.de",
    "url": "https://www.immobilienscout24.de/expose/145892367",
    "scrapedAt": "2026-04-04T09:15:00.000Z"
}
````

### How much does it cost to scrape ImmobilienScout24?

ImmobilienScout24 Scraper uses **Playwright browser automation with residential proxies**, which makes it more expensive than HTTP-only scrapers but necessary due to the site's anti-bot protection.

| Scenario | Est. cost | Time |
|----------|-----------|------|
| 100 listings in one city | ~$0.35 | ~2 min |
| 1,000 listings across multiple cities | ~$3.50 | ~15 min |
| 5,000 listings (large market scan) | ~$17.50 | ~60 min |

**Pricing breakdown:**

- Per run start: $0.01
- Per result (pay-per-event): $0.004

Costs depend on proxy usage and the number of detail pages visited. Actual costs may vary based on Apify platform pricing.

### Can I integrate ImmobilienScout24 Scraper with other apps?

Yes. ImmobilienScout24 Scraper connects with any tool through [Apify integrations](https://apify.com/integrations):

- **Google Sheets** — automatically export listings to a spreadsheet for team collaboration
- **Slack / Email** — get notified when new properties match your criteria
- **Zapier / Make** — trigger workflows when data is ready (e.g., add to CRM, send alerts)
- **Airtable** — build a searchable property database with filters and views
- **REST API** — call the scraper programmatically from any language
- **Webhooks** — get notified the moment a run finishes

### Can I use ImmobilienScout24 Scraper as an API?

Yes. Use the [Apify API](https://docs.apify.com/api/v2) to run ImmobilienScout24 Scraper programmatically from any application.

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/immoscout24-scraper").call(run_input={
    "location": "berlin",
    "propertyType": "wohnung",
    "listingType": "mieten",
    "maxResults": 200,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['title']} — €{item['price']:,}/month — {item['surface']}m²")
```

**JavaScript:**

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('studio-amba/immoscout24-scraper').call({
    location: 'berlin',
    propertyType: 'wohnung',
    listingType: 'mieten',
    maxResults: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(`${item.title} — €${item.price}/month`));
```

Check the [API tab](https://apify.com/studio-amba/immoscout24-scraper/api) for full documentation.

### FAQ

#### What is ImmobilienScout24?

ImmobilienScout24.de is Germany's largest and most-visited real estate platform, with over 1.5 million active listings for apartments, houses, land, commercial spaces, and shared flats. It is the go-to portal for anyone renting or buying property in Germany.

#### How does ImmobilienScout24 Scraper work?

It uses Playwright browser automation to navigate ImmobilienScout24's search results and detail pages, extracting structured data from each listing. Residential proxies are used to handle the site's anti-bot protection reliably.

#### Can I scrape both rental and sale listings?

Yes. Set `listingType` to `"mieten"` for rentals or `"kaufen"` for sales. You can run separate jobs for each or use `startUrls` with pre-filtered search URLs.

#### Can I scrape specific neighborhoods or districts?

Yes. Either use the `searchQuery` field (e.g., `"Kreuzberg"`, `"Schwabing"`) or paste a pre-filtered search URL from ImmobilienScout24 into `startUrls`. The scraper will respect all filters in the URL, including district, price range, and room count.

#### Does it work for cities outside Berlin?

Absolutely. Set the `location` field to any German city or region: `"muenchen"`, `"hamburg"`, `"frankfurt"`, `"koeln"`, `"duesseldorf"`, `"stuttgart"`, `"leipzig"`, etc. ImmobilienScout24 covers all of Germany.

#### How often should I run the scraper?

For active markets (Berlin, Munich, Hamburg), daily runs catch new listings fastest. For smaller cities or investment research, weekly runs are usually sufficient.

#### Is it legal to scrape ImmobilienScout24?

This scraper extracts publicly available listing data that ImmobilienScout24.de displays to all visitors. The data is factual (prices, addresses, sizes) and does not contain private personal information. As with any scraping tool, use the data responsibly and in compliance with applicable laws.

### Limitations

- **Germany only.** ImmobilienScout24.de covers the German real estate market exclusively.
- **Residential proxies required.** The site has strong anti-bot protection — datacenter proxies will be blocked. This increases running costs.
- **Some listings have incomplete data.** Not all sellers fill in every field — bedrooms, EPC score, or build year may be missing on some listings.
- **Rate-limited pagination.** Requesting more than ~1,000 results in a single run may slow down due to the site's pagination limits.
- **Listing descriptions are in German.** The site is German-language only; descriptions are not translated.

### Other European real estate scrapers

Combine ImmobilienScout24 Scraper with these actors for cross-border European property market coverage:

- 🇧🇪 [Immoweb Scraper](https://apify.com/studio-amba/immoweb-scraper) — Belgium's #1 real estate platform
- 🇫🇷 [Logic-Immo Scraper](https://apify.com/studio-amba/logicimmo-scraper) — French real estate listings
- 🇧🇪 [Immovlan Scraper](https://apify.com/studio-amba/immovlan-scraper) — Belgian property listings (VTM network)
- 🇱🇺 [Athome.lu Scraper](https://apify.com/studio-amba/athome-scraper) — Luxembourg real estate
- 🇧🇪 [Biddit Scraper](https://apify.com/studio-amba/biddit-scraper) — Belgian notarial property auctions with live bidding data

### Your feedback

Found a bug or have a feature request? Please open an issue on the [Issues tab](https://apify.com/studio-amba/immoscout24-scraper/issues). We actively maintain this scraper and respond to all reports.

# Actor input Schema

## `startUrls` (type: `array`):

One or more ImmoScout24 search result URLs or listing detail URLs. Go to immobilienscout24.de, set your filters, and paste the URL(s) here. Overrides other search filters when provided.

## `searchQuery` (type: `string`):

Free-text search query (e.g., 'Wohnung mit Balkon'). Used only when no startUrls are provided.

## `location` (type: `string`):

City or region to search in (e.g., 'berlin', 'muenchen', 'hamburg'). Used only when no startUrls are provided.

## `propertyType` (type: `string`):

Type of property to search for. Used only when no startUrls are provided.

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

Buy or rent. Used only when no startUrls are provided.

## `maxResults` (type: `integer`):

Maximum number of listings to return.

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

Proxy settings. REQUIRED — ImmoScout24 has strong anti-bot protection. Use Apify residential proxies for best results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten"
    }
  ],
  "location": "berlin",
  "propertyType": "wohnung",
  "listingType": "mieten",
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten"
        }
    ],
    "location": "berlin",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/immoscout24-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 = {
    "startUrls": [{ "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten" }],
    "location": "berlin",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/immoscout24-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 '{
  "startUrls": [
    {
      "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten"
    }
  ],
  "location": "berlin",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call studio-amba/immoscout24-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ImmoScout24 Scraper — German Real Estate & Prices",
        "description": "Scrape real estate listings from immobilienscout24.de — apartments, houses, prices, photos, and details for the German property market. Supports sale and rental listings.",
        "version": "0.1",
        "x-build-id": "K9fj07dpGKjRKHcT6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~immoscout24-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-immoscout24-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/studio-amba~immoscout24-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-immoscout24-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/studio-amba~immoscout24-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-immoscout24-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": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "One or more ImmoScout24 search result URLs or listing detail URLs. Go to immobilienscout24.de, set your filters, and paste the URL(s) here. Overrides other search filters when provided.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Free-text search query (e.g., 'Wohnung mit Balkon'). Used only when no startUrls are provided."
                    },
                    "location": {
                        "title": "Location (City / Region)",
                        "type": "string",
                        "description": "City or region to search in (e.g., 'berlin', 'muenchen', 'hamburg'). Used only when no startUrls are provided."
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "enum": [
                            "wohnung",
                            "haus",
                            "grundstueck",
                            "zimmer",
                            "wg",
                            "garage-stellplatz",
                            "buero-praxisflaeche"
                        ],
                        "type": "string",
                        "description": "Type of property to search for. Used only when no startUrls are provided.",
                        "default": "wohnung"
                    },
                    "listingType": {
                        "title": "Listing Type",
                        "enum": [
                            "mieten",
                            "kaufen"
                        ],
                        "type": "string",
                        "description": "Buy or rent. Used only when no startUrls are provided.",
                        "default": "mieten"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of listings to return.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. REQUIRED — ImmoScout24 has strong anti-bot protection. Use Apify residential proxies for best results."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
