# Kleinanzeigen Scraper — Monitor New Ads & Alerts (`crawloop/kleinanzeigen-scraper`) Actor

Fast and lightweight python scraper for kleinanzeigen.de using curl\_cffi. Extracts titles, prices, descriptions, high-res images, location, dynamic attributes, and detailed seller metrics (active ads, registration date, satisfaction badges). Supports real-time monitoring and Telegram/Discord alerts.

- **URL**: https://apify.com/crawloop/kleinanzeigen-scraper.md
- **Developed by:** [Andrej Kiva](https://apify.com/crawloop) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 scraped 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.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

## Kleinanzeigen Scraper — Germany Classified Ads, Prices & Monitor Alerts

> **Disclaimer:** This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by Kleinanzeigen.de (formerly eBay Kleinanzeigen) or any of its subsidiaries.
>
> **Kleinanzeigen** and related names are trademarks of Kleinanzeigen GmbH. Data is read from publicly accessible search results and listing pages. No Kleinanzeigen account login is required.
>
> This Actor is provided **for informational, research, and price monitoring purposes only**. You are solely responsible for complying with applicable laws, Kleinanzeigen's terms of use, and your organization's policies.

Extract **structured classified ads data** from Germany's largest marketplace — `kleinanzeigen.de` (formerly eBay Kleinanzeigen). Search by keyword, German postal code (PLZ) + radius, price range, seller type, and shipping filters — or paste a pre-filtered browser URL. Parses full descriptions, dynamic attributes (brand, model, size, condition), **all high-resolution images**, location, and non-personal seller metrics (account type, registration date, active listing counts, trust badges). **No seller names, emails, or phone numbers are collected.**

Includes **monitoring mode** with delta tracking and native **Telegram & Discord webhooks** for real-time deal alerts when new listings appear.

**Best for:** Kleinanzeigen price research, local classifieds monitoring, resale arbitrage alerts, German marketplace data export, and bulk JSON/CSV pipelines via Apify integrations.

### When to use this Actor

- **Kleinanzeigen price tracking** — Collect listing prices, attributes, and locations for market averages and trend analysis.
- **Real-time deal hunting & arbitrage** — Run in monitor mode every 1–5 minutes and get instant Telegram or Discord alerts for newly listed underpriced items.
- **Local inventory matching** — Search by PLZ + radius (e.g. RTX 4090 within 50 km of Berlin) to find pickup-friendly deals.
- **Category & filter scraping** — Copy any filtered search URL from your browser (category, brand, condition, sort order) into Start URLs for exact replication.
- **Seller trust signals** — Filter private vs commercial sellers and parse satisfaction badges without collecting personal contact data.

### When not to use this Actor

- **Private messages or seller contact** — This Actor reads public listing pages only; it does not access Kleinanzeigen messaging or seller phone/email fields.
- **Account-authenticated actions** — No login, favorites, or saved-search API; use Start URLs for pre-built filter combinations instead.
- **Heavy JavaScript SPAs outside Kleinanzeigen** — Built specifically for `kleinanzeigen.de` search and detail pages, not generic web scraping.

### Key Features

- **Lightweight & fast** — Runs on **128–512 MB RAM** with efficient HTTP requests — no heavy headless browser required.
- **Full image extraction** — All available high-resolution listing images, not just search-result thumbnails.
- **PLZ + radius search** — German postal code geolocation with configurable km radius (5–200 km).
- **Seller trust profile parsing** — Account type, registration date, active ads count, and badges (*TOP Zufriedenheit, Sehr zuverlässig, Besonders freundlich*). Personal contact data excluded.
- **Telegram & Discord alerts** — Native webhook support in input config: images, prices, location, and description snippets on new listings.
- **Smart monitoring** — Key-Value store tracks seen listing IDs; stops pagination early when consecutive known ads are found.
- **Parallel detail fetching** — Configurable concurrency for faster bulk runs on large result sets.

### Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `startUrls` | Array | `[]` | Direct URLs to search results, categories, or individual listings. Filters from the URL are preserved. |
| `searchQuery` | String | — | Search term (e.g. `iphone 15 pro`). Ignored when Start URLs are provided. |
| `postalCode` | String | — | German postal code (PLZ) to restrict search to a region. |
| `radius` | String | `"0"` | Radius in km around PLZ: `5`, `10`, `20`, `30`, `50`, `100`, `150`, `200`. |
| `minPrice` / `maxPrice` | Number | — | Filter listings by price range (€). |
| `sellerType` | String | `"all"` | `all`, `private` (Privater Nutzer), or `commercial` (Gewerblicher). |
| `adType` | String | `"all"` | `all`, `biete` (Offers), or `suche` (Wanted). |
| `shipping` | String | `"all"` | `all` or `shipping_only` (Versand möglich). |
| `maxItems` | Integer | `100` | Maximum number of listings to collect. |
| `maxConcurrency` | Integer | `15` | Parallel detail-page fetches (1–30). Higher = faster, more proxy load. |
| `monitorMode` | Boolean | `false` | Delta tracking: only new/updated listings in output; early stop on known ads. |
| `telegramToken` | String | — | Telegram Bot token for alert notifications. |
| `telegramChatId` | String | — | Telegram chat ID to receive alerts. |
| `discordWebhook` | String | — | Discord webhook URL for rich listing embed cards. |
| `proxyConfiguration` | Object | — | Apify Proxy settings. German residential proxy recommended for high volume. |

#### Input Example

```json
{
  "searchQuery": "iphone 15 pro",
  "postalCode": "10115",
  "radius": "30",
  "minPrice": 400,
  "maxPrice": 800,
  "sellerType": "private",
  "maxItems": 200,
  "maxConcurrency": 15,
  "monitorMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "DE"
  }
}
````

### Output Format

Each dataset row = one parsed Kleinanzeigen listing.

| Field | Type | Description |
| :--- | :--- | :--- |
| `adId` | String | Unique Kleinanzeigen listing ID. |
| `url` | String | Canonical listing URL. |
| `title` | String | Ad headline. |
| `price` | String | Numeric price or negotiable label. |
| `priceType` | String | e.g. `Festpreis`, `VB` (Verhandlungsbasis). |
| `description` | String | Full listing description text. |
| `location` | String | City, state, and region string. |
| `shipping` | String | Shipping cost or availability note. |
| `attributes` | Object | Dynamic key/value pairs (brand, color, condition, etc.). |
| `images` | Array | High-resolution image URLs. |
| `seller.id` | String | Seller account ID (no personal name). |
| `seller.type` | String | `Privater Nutzer` or commercial. |
| `seller.active_since` | String | Account registration date. |
| `seller.active_listings` | String | Count of active ads. |
| `seller.badges` | Array | Trust badges when present. |
| `publishedDate` | String | Relative or absolute publish time from listing. |
| `scrapedAt` | String | Extraction timestamp (UTC ISO 8601). |

#### Output Example

```json
{
  "adId": "3449640229",
  "url": "https://www.kleinanzeigen.de/s-anzeige/apple-iphone-13-128gb-top-zustand-inklusive-zubehoer/3449640229-173-9039",
  "title": "Apple iPhone 13 128GB top Zustand inklusive Zubehör",
  "price": "200.00",
  "priceType": "Festpreis",
  "description": "Verkaufe hier mein sehr gut erhaltenes iPhone 13 in Blau. Das iPhone wurde stets mit Hülle, Panzerglas und Kamerapanzerglas genutzt und ist daher in top Zustand!",
  "location": "77656 Baden-Württemberg - Offenburg",
  "shipping": "+ Versand ab 1,99 €",
  "attributes": {
    "Art": "Apple",
    "Farbe": "Blau",
    "Gerät & Zubehör": "Zubehör",
    "Zustand": "Sehr Gut"
  },
  "images": [
    "https://img.kleinanzeigen.de/api/v1/prod-ads/images/0c/0c43bc93-2246-4b30-854d-2bfdcde70123_rule.jpg",
    "https://img.kleinanzeigen.de/api/v1/prod-ads/images/dc/dcd5d9d4-cc33-4b0c-8126-2bfdcde98124_rule.jpg"
  ],
  "seller": {
    "id": "27922947",
    "type": "Privater Nutzer",
    "active_since": "02.02.2015",
    "active_listings": "5 Anzeigen online",
    "badges": [
      "Besonders freundlich",
      "TOP Zufriedenheit",
      "Sehr zuverlässig"
    ]
  },
  "publishedDate": "Gestern, 22:35",
  "scrapedAt": "2026-07-03T13:37:55.201Z"
}
```

### Use Cases

| Use Case | What you get |
| :--- | :--- |
| **Resale arbitrage** | New-listing alerts with price, photos, and location for flip opportunities |
| **Market pricing** | Structured price + attribute datasets per keyword or category |
| **Local deal hunting** | PLZ + radius filters for pickup-friendly classifieds |
| **Competitor monitoring** | Track commercial seller inventory in your niche |
| **Data pipelines** | JSON/CSV export or webhook integrations to Sheets, databases, and BI tools |

### FAQ

#### How is this different from a generic web scraper?

This Actor is built specifically for `kleinanzeigen.de`: Kleinanzeigen pagination, dynamic attribute parsing, seller trust badges, and monitor-mode delta tracking — out of the box.

#### Do I need proxies?

For high-volume runs, aggressive monitoring (every 1 minute), or large `maxItems` batches, use **Apify Residential Proxies** with **Germany (`DE`) country targeting** to improve reliability.

#### Can I scrape specific categories or advanced filters?

Yes. Open `kleinanzeigen.de` in your browser, apply all filters (category, brand, price, condition, sort), copy the URL from the address bar, and paste it into **Start URLs** (`startUrls`). This is the most reliable way to replicate complex filter combinations.

#### How does Monitoring Mode work?

With `monitorMode: true`, listing IDs are stored in the default Key-Value Store. On each run the Actor scans from the top of search results. New or price-changed listings are written to the dataset and sent to Telegram/Discord. After **5 consecutive** already-known unchanged ads, pagination stops to save compute.

#### Does it collect seller names, emails, or phone numbers?

No. The Actor intentionally excludes personal contact data. Seller output includes only non-identifying metrics: account ID, seller type, registration date, active listing count, and public trust badges.

#### Can I scrape 1000+ listings in one run?

Yes. Set `maxItems` to your target (e.g. 1000) and tune `maxConcurrency` (default 15, max 30). Use German residential proxies for large batches. Pagination walks search result pages automatically until the limit is reached or results are exhausted.

#### Does it export to JSON / CSV / API?

Yes. Results are written to the Apify dataset. Download JSON, CSV, or Excel from the run, or connect webhooks and integrations (Google Sheets, BigQuery, custom API endpoints, etc.).

# Actor input Schema

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

Direct URLs to Kleinanzeigen.de search results pages, category listings, or individual ads.

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

The search phrase to search for (e.g. 'iPhone 15 Pro'). Leave empty if using Start URLs.

## `postalCode` (type: `string`):

German postal code (PLZ) to restrict search by region.

## `radius` (type: `string`):

Distance radius in km around the postal code. Only works if Postal Code is set.

## `minPrice` (type: `number`):

Filter by minimum price.

## `maxPrice` (type: `number`):

Filter by maximum price.

## `sellerType` (type: `string`):

Filter ads by private users or commercial business users.

## `adType` (type: `string`):

Filter by offers (biete) or want-to-buy requests (suche).

## `shipping` (type: `string`):

Filter by ads offering shipping.

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

Maximum number of listings to collect.

## `scrapeDetails` (type: `boolean`):

When enabled, fetches each listing detail page for full description, images, attributes, and seller metrics. Disable for faster search-card-only output (title, price, location, URL).

## `maxConcurrency` (type: `integer`):

How many listing detail pages to fetch in parallel. Higher = faster but more proxy load. Default 15.

## `monitorMode` (type: `boolean`):

Enable delta-monitoring. If true, the scraper checks previously crawled listings and only outputs newly published or updated listings.

## `telegramToken` (type: `string`):

Your Telegram Bot token for sending real-time notifications.

## `telegramChatId` (type: `string`):

Telegram user ID or chat ID to receive listings notifications.

## `discordWebhook` (type: `string`):

Discord webhook URL to send listings notifications to a Discord channel.

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

Configure proxies to avoid rate limiting for large volume scraping. Highly recommended to use Germany country-targeting.

## Actor input object example

```json
{
  "startUrls": [],
  "radius": "0",
  "sellerType": "all",
  "adType": "all",
  "shipping": "all",
  "maxItems": 100,
  "scrapeDetails": true,
  "maxConcurrency": 15,
  "monitorMode": false
}
```

# 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": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawloop/kleinanzeigen-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": [] }

# Run the Actor and wait for it to finish
run = client.actor("crawloop/kleinanzeigen-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": []
}' |
apify call crawloop/kleinanzeigen-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kleinanzeigen Scraper — Monitor New Ads & Alerts",
        "description": "Fast and lightweight python scraper for kleinanzeigen.de using curl_cffi. Extracts titles, prices, descriptions, high-res images, location, dynamic attributes, and detailed seller metrics (active ads, registration date, satisfaction badges). Supports real-time monitoring and Telegram/Discord alerts.",
        "version": "0.3",
        "x-build-id": "PB4yUOA9o1TfnFbR8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawloop~kleinanzeigen-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawloop-kleinanzeigen-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/crawloop~kleinanzeigen-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawloop-kleinanzeigen-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/crawloop~kleinanzeigen-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawloop-kleinanzeigen-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": "Direct URLs to Kleinanzeigen.de search results pages, category listings, or individual ads.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "The search phrase to search for (e.g. 'iPhone 15 Pro'). Leave empty if using Start URLs."
                    },
                    "postalCode": {
                        "title": "Postal Code (PLZ)",
                        "type": "string",
                        "description": "German postal code (PLZ) to restrict search by region."
                    },
                    "radius": {
                        "title": "Radius (km)",
                        "enum": [
                            "0",
                            "5",
                            "10",
                            "20",
                            "30",
                            "50",
                            "100",
                            "150",
                            "200"
                        ],
                        "type": "string",
                        "description": "Distance radius in km around the postal code. Only works if Postal Code is set.",
                        "default": "0"
                    },
                    "minPrice": {
                        "title": "Minimum Price (€)",
                        "type": "number",
                        "description": "Filter by minimum price."
                    },
                    "maxPrice": {
                        "title": "Maximum Price (€)",
                        "type": "number",
                        "description": "Filter by maximum price."
                    },
                    "sellerType": {
                        "title": "Seller Type",
                        "enum": [
                            "all",
                            "private",
                            "commercial"
                        ],
                        "type": "string",
                        "description": "Filter ads by private users or commercial business users.",
                        "default": "all"
                    },
                    "adType": {
                        "title": "Ad Type",
                        "enum": [
                            "all",
                            "biete",
                            "suche"
                        ],
                        "type": "string",
                        "description": "Filter by offers (biete) or want-to-buy requests (suche).",
                        "default": "all"
                    },
                    "shipping": {
                        "title": "Shipping Options",
                        "enum": [
                            "all",
                            "shipping_only"
                        ],
                        "type": "string",
                        "description": "Filter by ads offering shipping.",
                        "default": "all"
                    },
                    "maxItems": {
                        "title": "Max Listings",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of listings to collect.",
                        "default": 100
                    },
                    "scrapeDetails": {
                        "title": "Scrape detail pages",
                        "type": "boolean",
                        "description": "When enabled, fetches each listing detail page for full description, images, attributes, and seller metrics. Disable for faster search-card-only output (title, price, location, URL).",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Max concurrent detail requests",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "How many listing detail pages to fetch in parallel. Higher = faster but more proxy load. Default 15.",
                        "default": 15
                    },
                    "monitorMode": {
                        "title": "Monitoring Mode",
                        "type": "boolean",
                        "description": "Enable delta-monitoring. If true, the scraper checks previously crawled listings and only outputs newly published or updated listings.",
                        "default": false
                    },
                    "telegramToken": {
                        "title": "Telegram Bot Token",
                        "type": "string",
                        "description": "Your Telegram Bot token for sending real-time notifications."
                    },
                    "telegramChatId": {
                        "title": "Telegram Chat ID",
                        "type": "string",
                        "description": "Telegram user ID or chat ID to receive listings notifications."
                    },
                    "discordWebhook": {
                        "title": "Discord Webhook URL",
                        "type": "string",
                        "description": "Discord webhook URL to send listings notifications to a Discord channel."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Configure proxies to avoid rate limiting for large volume scraping. Highly recommended to use Germany country-targeting."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
