# leboncoin Listings Scraper (`xtracto/leboncoin-listings`) Actor

Scrape classified ad listings from leboncoin.fr — France's #1 classifieds marketplace. Searches by keyword, category, and location. Returns full ad objects: title, price, seller info, images, geo, and category-specific attributes. Requires Apify FR Residential proxy (DataDome WAF).

- **URL**: https://apify.com/xtracto/leboncoin-listings.md
- **Developed by:** [Farhan Febrian Nauval](https://apify.com/xtracto) (community)
- **Categories:** Real estate, E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## leboncoin Listings Scraper

Extract classified ads from [leboncoin.fr](https://www.leboncoin.fr/) — France's largest peer-to-peer and business marketplace (~33 million monthly users) — including title, price, seller info, location, images, and category details.

### Why use this actor

- **No account or login required** — publicly listed ads are collected as-is.
- **Search by keyword, category, or location** — find iPhones nationwide, apartments in Paris, used cars in Lyon, and more.
- **Full ad detail in every record** — price, city, seller type, listing date, images, and category-specific attributes all included.
- **Stable JSON output** ready to load into spreadsheets, databases, or downstream pipelines.
- **Automatic retries** on transient failures so you don't need to babysit the run.
- **Runs entirely on Apify** — no need to manage browsers, proxies, or scrapers yourself.

### How it works

1. You provide search keywords (e.g. `"iphone 14"`), an optional category (e.g. Electronics), and optional location filters (e.g. `"Paris_75000"`).
2. The actor pages through the search results, collecting up to `maxResults` ads (or all results if you set it to `0`).
3. Each ad is saved as a structured JSON record in your dataset, ready to download as JSON, CSV, or Excel.
4. A summary record is added at the end showing total results available, how many were collected, and how many pages were fetched.

**Important:** leboncoin only serves results to visitors located in France. The actor must run with the **Residential proxy set to country France** (this is the default — no extra configuration needed).

You do not need to manage sessions, handle retries, or set up any infrastructure.

### Input

```json
{
  "searchQuery": "iphone",
  "category": "17",
  "locations": [],
  "priceMin": 0,
  "priceMax": 0,
  "sortBy": "time",
  "ownerType": "all",
  "maxResults": 200,
  "maxConcurrency": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "FR"
  }
}
````

| Field | Type | Default | Description |
|---|---|---|---|
| `searchQuery` | string | — | Free-text keywords to search, e.g. `"iphone 14"` or `"appartement 3 pièces"`. Leave empty to browse by category or location only. |
| `category` | string | `""` (all) | Pick a category from the dropdown to restrict the search (see the full list below). Leave on **All categories** to search everything. |
| `locations` | array | `[]` | Restrict to French **departments**. Each entry needs a ZIP code or department number — e.g. `["75000", "69001"]`, `["Paris_75000"]`, or `["75", "69"]`. The department is read from the ZIP (`75000` → dept 75). Entries without a number (bare city names) are ignored. Leave empty for all of France. |
| `priceMin` | integer | `0` | Minimum price in euros. `0` means no minimum. |
| `priceMax` | integer | `0` | Maximum price in euros. `0` means no maximum. |
| `sortBy` | string | `"time"` | Sort order: `"time"` (newest first) or `"price"`. |
| `ownerType` | string | `"all"` | Seller type: `"all"`, `"private"` (individual sellers), or `"pro"` (businesses). |
| `maxResults` | integer | `200` | Maximum number of ad records to return. Set to `0` to collect all available results. |
| `maxConcurrency` | integer | `1` | Number of parallel requests. Keep at 1–2 for best reliability. |
| `proxyConfiguration` | object | FR Residential | Proxy settings. Must use Apify Residential proxy with country `FR` — leboncoin only returns results to French IP addresses. |

#### Categories

Pick one from the **Category** dropdown. The number is leboncoin's own category ID (verified live, 2026-06-11). Leave on *All categories* to search across everything.

| ID | Category | | ID | Category |
|---|---|---|---|---|
| 2 | Voitures (cars) | | 42 | Montres & Bijoux (watches & jewellery) |
| 3 | Motos (motorbikes) | | 44 | Équipement moto (motorbike gear) |
| 4 | Caravaning | | 46 | Linge de maison (home linen) |
| 5 | Utilitaires (vans) | | 47 | Accessoires & Bagagerie (bags & luggage) |
| 6 | Équipement auto (car parts) | | 48 | Vins & Gastronomie (wine & food) |
| 9 | Ventes immobilières (property for sale) | | 50 | Équipement caravaning |
| 10 | Locations (property rentals) | | 51 | Équipement nautisme (boating gear) |
| 15 | Ordinateurs (computers) | | 52 | Jardin & Plantes (garden & plants) |
| 16 | Photo, audio & vidéo | | 53 | Chaussures (shoes) |
| 17 | Téléphones & Objets connectés (phones) | | 55 | Vélos (bicycles) |
| 19 | Ameublement (furniture) | | 57 | Matériel agricole (farm equipment) |
| 20 | Électroménager (home appliances) | | 59 | BTP - Chantier gros-oeuvre (construction) |
| 21 | Bricolage (DIY/tools) | | 61 | Équipements restaurants & hôtels |
| 22 | Vêtements (clothing) | | 62 | Fournitures de bureau (office supplies) |
| 23 | Équipement bébé (baby gear) | | 64 | Matériel médical (medical equipment) |
| 25 | DVD - Films | | 76 | Accessoires animaux (pet accessories) |
| 26 | CD - Musique | | 82 | Tablettes & Liseuses (tablets & e-readers) |
| 27 | Livres (books) | | 83 | Accessoires informatique (computer accessories) |
| 28 | Animaux (animals) | | 84 | Jeux vidéo (video games) |
| 29 | Sport & Plein air (sport & outdoor) | | 86 | Modélisme (model making) |
| 30 | Instruments de musique | | 97 | Services de jardinerie & bricolage |
| 32 | Équipements industriels | | 98 | Services évènementiels (event services) |
| 39 | Décoration | | 102 | Services aux animaux (pet services) |
| 40 | Collection (collectibles) | | 106 | Poids lourds (trucks) |
| 41 | Jeux & Jouets (games & toys) | | | |

### Output

Two types of records are saved per run.

#### Ad record (`recordType: "AD"`) — one per listing

```json
{
  "_input": "q=iphone|cat=17",
  "_source": "S1-finder-api",
  "_scrapedAt": "2026-06-10T12:25:59Z",
  "recordType": "AD",
  "list_id": 2900960027,
  "subject": "iPhone 14 128Go Minuit - Parfait état",
  "body": "Vends iPhone 14 en parfait état, débloqué tous opérateurs.",
  "price": [650],
  "category_id": "17",
  "category_name": "Téléphones & Objets connectés",
  "status": "active",
  "url": "https://www.leboncoin.fr/telephones/2900960027.htm",
  "first_publication_date": "2026-06-08T14:32:00+0200",
  "location": {
    "city_label": "Paris",
    "zipcode": "75001",
    "region_name": "Île-de-France",
    "lat": 48.86,
    "lng": 2.347
  },
  "owner": {
    "type": "private",
    "name": "Marie T.",
    "is_pro": false
  },
  "images": {
    "nb_images": 4,
    "urls": [
      "https://img.leboncoin.fr/api/v1/lbc-cs/v1/img/abc/def/1.jpg",
      "https://img.leboncoin.fr/api/v1/lbc-cs/v1/img/abc/def/2.jpg",
      "... 2 more"
    ]
  },
  "attributes": [
    {"key": "item_condition", "key_label": "État", "value_label": "Neuf"},
    {"key": "mobile_brand", "key_label": "Marque", "value_label": "Apple"}
  ],
  "_price_eur": 650,
  "_city": "Paris",
  "_zipcode": "75001",
  "_is_pro": false,
  "_category_slug": "telephones"
}
```

| Field | Type | Description |
|---|---|---|
| `list_id` | integer | Unique ad identifier on leboncoin. |
| `subject` | string | Ad title. |
| `body` | string | Full ad description text. |
| `price` | array | Price in euros as a single-element array, e.g. `[650]`. Free items have an empty array. |
| `category_id` | string | leboncoin category number. |
| `category_name` | string | Human-readable category name (in French). |
| `status` | string | Ad status, e.g. `"active"`. |
| `url` | string | Direct link to the ad on leboncoin. |
| `first_publication_date` | string | ISO 8601 date/time when the ad was first posted. |
| `location` | object | City, ZIP code, region, and GPS coordinates. |
| `owner` | object | Seller name, type (`"private"` or `"pro"`), and professional flag. |
| `images` | object | Image count and URLs. |
| `attributes` | array | Category-specific fields (e.g. condition, brand, mileage). Keys and labels are in French. |
| `_price_eur` | integer | Convenience field: first element of `price`, or `null` if free/not set. |
| `_city` | string | Convenience field: city name extracted from `location`. |
| `_zipcode` | string | Convenience field: ZIP code extracted from `location`. |
| `_is_pro` | boolean | Convenience field: `true` if the seller is a professional. |
| `_category_slug` | string | ASCII-safe category slug derived from `category_name`. |
| `_input` | string | Compact tag showing the search parameters used. |
| `_scrapedAt` | string | ISO 8601 UTC timestamp of when the record was collected. |

#### Search summary record (`recordType: "SEARCH_SNAPSHOT"`) — one per run

```json
{
  "recordType": "SEARCH_SNAPSHOT",
  "total_count": 378435,
  "ads_scraped": 200,
  "pages_fetched": 6,
  "search_params": {
    "keywords": "iphone",
    "category": "17",
    "locations": [],
    "price_min": 0,
    "price_max": 0,
    "owner_type": "all",
    "sort_by": "time"
  }
}
```

| Field | Type | Description |
|---|---|---|
| `total_count` | integer | Total matching ads available on leboncoin for the search. |
| `ads_scraped` | integer | Number of ad records collected in this run. |
| `pages_fetched` | integer | Number of result pages fetched. |
| `search_params` | object | Echo of the search parameters used. |

### Other Apify actors for classifieds and marketplaces

| Actor | Source | Region |
|---|---|---|
| [mobile.de Listings Scraper](https://apify.com/xtracto/mobilede-listings) | mobile.de | Germany |
| [Immobiliare Listings Scraper](https://apify.com/xtracto/immobiliare-listings) | immobiliare.it | Italy |
| [Idealista Listings Scraper](https://apify.com/xtracto/idealista-listings) | idealista.com | Spain |
| [Avito Listings Scraper](https://apify.com/xtracto/avito-listings) | avito.ru | Russia |
| [MercadoLibre Listings Scraper](https://apify.com/xtracto/mercadolibre-listings) | mercadolibre.com | Latin America |

# Actor input Schema

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

Free-text keyword(s) to search, e.g. 'iphone 14' or 'appartement 3 pièces'. Leave empty to browse by category/location only.

## `category` (type: `string`):

Optional category to restrict the search. Leave on 'All categories' to search everything (keyword search alone is reliable). The number in each option is leboncoin's own category ID. List verified live on 2026-06-11.

## `locations` (type: `array`):

Restrict to one or more French departments. Each entry must contain a ZIP code or a department number, e.g. \['75000', '69001'] or \['Paris\_75000'] or just \['75','69']. The department is taken from the ZIP (75000 -> dept 75; 97400 -> dept 974). City names WITHOUT a ZIP are ignored (leboncoin filters by department here, not city radius). Leave empty for all of France.

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

Minimum listing price in euros. Set to 0 for no minimum.

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

Maximum listing price in euros. Set to 0 for no maximum.

## `sortBy` (type: `string`):

Sort results by time (newest first) or price.

## `ownerType` (type: `string`):

Filter by seller type.

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

Maximum number of AD records to return. 0 = no limit (scrape all pages up to total\_count).

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

Parallel requests per proxy session. Keep at 1–2 for best reliability. Maximum 4.

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

REQUIRED: Use Apify Residential proxy with country=FR. leboncoin only returns results to French IP addresses. Using non-French or datacenter proxies will return no results.

## Actor input object example

```json
{
  "searchQuery": "iphone",
  "category": "",
  "locations": [],
  "priceMin": 0,
  "priceMax": 0,
  "sortBy": "time",
  "ownerType": "all",
  "maxResults": 200,
  "maxConcurrency": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}
```

# 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 = {
    "searchQuery": "iphone",
    "locations": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/leboncoin-listings").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 = {
    "searchQuery": "iphone",
    "locations": [],
}

# Run the Actor and wait for it to finish
run = client.actor("xtracto/leboncoin-listings").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 '{
  "searchQuery": "iphone",
  "locations": []
}' |
apify call xtracto/leboncoin-listings --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "leboncoin Listings Scraper",
        "description": "Scrape classified ad listings from leboncoin.fr — France's #1 classifieds marketplace. Searches by keyword, category, and location. Returns full ad objects: title, price, seller info, images, geo, and category-specific attributes. Requires Apify FR Residential proxy (DataDome WAF).",
        "version": "0.1",
        "x-build-id": "dEjeZBoF2f5ONFQvz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/xtracto~leboncoin-listings/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-xtracto-leboncoin-listings",
                "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/xtracto~leboncoin-listings/runs": {
            "post": {
                "operationId": "runs-sync-xtracto-leboncoin-listings",
                "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/xtracto~leboncoin-listings/run-sync": {
            "post": {
                "operationId": "run-sync-xtracto-leboncoin-listings",
                "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",
                "required": [
                    "proxyConfiguration"
                ],
                "properties": {
                    "searchQuery": {
                        "title": "Search keywords",
                        "type": "string",
                        "description": "Free-text keyword(s) to search, e.g. 'iphone 14' or 'appartement 3 pièces'. Leave empty to browse by category/location only."
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "9",
                            "10",
                            "15",
                            "16",
                            "17",
                            "19",
                            "20",
                            "21",
                            "22",
                            "23",
                            "25",
                            "26",
                            "27",
                            "28",
                            "29",
                            "30",
                            "32",
                            "39",
                            "40",
                            "41",
                            "42",
                            "44",
                            "46",
                            "47",
                            "48",
                            "50",
                            "51",
                            "52",
                            "53",
                            "55",
                            "57",
                            "59",
                            "61",
                            "62",
                            "64",
                            "76",
                            "82",
                            "83",
                            "84",
                            "86",
                            "97",
                            "98",
                            "102",
                            "106"
                        ],
                        "type": "string",
                        "description": "Optional category to restrict the search. Leave on 'All categories' to search everything (keyword search alone is reliable). The number in each option is leboncoin's own category ID. List verified live on 2026-06-11.",
                        "default": ""
                    },
                    "locations": {
                        "title": "Location(s) — department by ZIP",
                        "type": "array",
                        "description": "Restrict to one or more French departments. Each entry must contain a ZIP code or a department number, e.g. ['75000', '69001'] or ['Paris_75000'] or just ['75','69']. The department is taken from the ZIP (75000 -> dept 75; 97400 -> dept 974). City names WITHOUT a ZIP are ignored (leboncoin filters by department here, not city radius). Leave empty for all of France.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "priceMin": {
                        "title": "Min price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum listing price in euros. Set to 0 for no minimum.",
                        "default": 0
                    },
                    "priceMax": {
                        "title": "Max price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum listing price in euros. Set to 0 for no maximum.",
                        "default": 0
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "time",
                            "price"
                        ],
                        "type": "string",
                        "description": "Sort results by time (newest first) or price.",
                        "default": "time"
                    },
                    "ownerType": {
                        "title": "Seller type",
                        "enum": [
                            "all",
                            "private",
                            "pro"
                        ],
                        "type": "string",
                        "description": "Filter by seller type.",
                        "default": "all"
                    },
                    "maxResults": {
                        "title": "Max ads to scrape",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of AD records to return. 0 = no limit (scrape all pages up to total_count).",
                        "default": 200
                    },
                    "maxConcurrency": {
                        "title": "Max concurrent requests",
                        "minimum": 1,
                        "maximum": 4,
                        "type": "integer",
                        "description": "Parallel requests per proxy session. Keep at 1–2 for best reliability. Maximum 4.",
                        "default": 1
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "REQUIRED: Use Apify Residential proxy with country=FR. leboncoin only returns results to French IP addresses. Using non-French or datacenter proxies will return no results.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "FR"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
