# Milanuncios Search Scraper (`stealth_mode/milanuncios-search-scraper`) Actor

Scrape product listings from Milanuncios.com search pages in bulk. Extract price, location, seller type, images, dates, and 25+ fields per listing — perfect for market research, price monitoring, and competitive analysis in the Spanish classifieds market.

- **URL**: https://apify.com/stealth\_mode/milanuncios-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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

## Milanuncios.com Product Search Scraper: Extract Listings at Scale

---

### What Is Milanuncios.com?

Milanuncios.com is one of Spain's largest classified ads platforms, hosting millions of listings across categories including second-hand cars, real estate, electronics, furniture, and services. The platform is a goldmine for market intelligence — but manually collecting listing data across dozens of search pages is impractical. The **Milanuncios.com Product Search Scraper** automates this, turning paginated search results into clean, structured datasets ready for analysis.

---

### Overview

This scraper targets Milanuncios search result pages and extracts every visible listing with its full metadata. It is built for:

- **Price analysts** monitoring second-hand market trends
- **Car dealers & resellers** tracking inventory and valuations
- **E-commerce researchers** studying the Spanish classifieds ecosystem
- **Data engineers** feeding listing data into pipelines or dashboards

Key strengths: bulk URL support, configurable item limits, residential proxy integration for Spain, and fault-tolerant runs that skip failed pages without stopping.

---

### Input Format

```json
{
  "urls": [
    "https://www.milanuncios.com/coches-de-segunda-mano/?pagina=4"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "ES"
  }
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | One or more Milanuncios search result page URLs. Supports pagination parameters (e.g., `?pagina=4`). Add URLs one by one or via bulk edit. |
| `max_items_per_url` | `integer` | Maximum listings to collect per URL. Default: `20`. Increase up to the page's natural limit for fuller extraction. |
| `ignore_url_failures` | `boolean` | If `true`, failed URLs are skipped and the run continues. Recommended for bulk jobs. Default: `true`. |
| `proxy` | `object` | Proxy configuration. **Strongly recommended:** use `RESIDENTIAL` group with `apifyProxyCountry: "ES"` to match Milanuncios's Spanish audience and avoid geo-blocks or bot detection. |

> **Tip:** To scrape multiple pages, add each paginated URL separately (e.g., `?pagina=1`, `?pagina=2`, ...). Set `max_items_per_url` to match the listings-per-page count (typically 20–40).

***

### Output Format

#### Sample Output Record

```json
{
  "category": {
    "id": 854,
    "name": "Toyota",
    "slug": "toyota-de-segunda-mano"
  },
  "category_id": 854,
  "category_tree": [
    {
      "id": 1,
      "name": "Motor",
      "slug": "motor"
    },
    {
      "id": 13,
      "name": "Coches",
      "slug": "coches-de-segunda-mano"
    },
    {
      "id": 854,
      "name": "Toyota",
      "slug": "toyota-de-segunda-mano"
    }
  ],
  "warranty_period": "24 meses (2 años)",
  "city": {
    "id": 51,
    "name": "Móstoles",
    "slug": "mostoles"
  },
  "contactable": false,
  "description": "2 aÑos de garantÍa oficial toyota con coche de sustituciÓn\n\nposibilidad de financiaciÓn (hasta 96 meses y sin entrada), sÓlo con tu Última nomina y tu dni (sujeto a aprobaciÓn de la operaciÓn y a las condiciones de la entidad financiera). \n\ntransferencia no incluida en el precio\n\nimprescindible concertar cita previa\n\ncontamos con taller propio para su mayor confianza. todos nuestros vehículos cuentan con revisión certificada por nuestro taller de mecánica. \n\n1 año de garantía. se entrega certificado de kilometraje e integridad estructural del vehículo.\n\nse puede realizar una prueba de conducción del vehículo.\n\nadmitimos su coche como parte de pago, ofreciendo la tasación más justa y elevada posible.\n\n\nventa segÚn estado\n\n\noferta vÁlida sin relaciÓn contractual. pueden haber errores de texto",
  "is_vip_content": true,
  "highlighted": false,
  "id": "564377762",
  "images": [
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/f92ff0c2-2ffa-49d5-b024-3bc097c89804",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/de0a1f4c-2f87-4654-9752-386fd10b7ce4",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/625ea5aa-3bcb-4145-b285-7acb62658e67",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/81934900-d8b0-4b06-9591-2d1a9507004f",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/15ea0f7f-b3ed-45cd-bfa5-5904368961e1",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/bbe8ace6-2034-44e7-a06d-3ac6570cae07",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/ab725d10-a2a9-490f-a378-4c8d2a61fb46",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/cf3b2c7b-9707-49c3-9148-c44c6770149e",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/e5a37e04-83d0-4547-b331-210903ce3422",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/70453869-5383-4965-ac40-1237bb478d84",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/7f40485a-f9bb-4231-9195-09adcc255068",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/cdb178bf-d547-4d19-b0dd-fb785176b859",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/162a64b7-5bb8-4b98-bc18-336ce5c5e8fc",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/52e1d50a-b59b-4ff6-92ae-5c14e6b998d1",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/d94c0b1b-307f-4835-9067-2582b9cd5984",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/99617110-9dc6-432d-a512-639d98fd4da8",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/930ecb09-4c30-4a5f-82a1-e4bb9a866a97",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/f08066dd-07f5-4289-8c1c-242e59ac042b",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/022f802c-3cfc-445c-b805-bf173c375e6e",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/8eb37702-8712-41bd-a5a4-d15d63bfc8d2",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/f1c8d7f7-c42d-4e16-929e-ccb9d1e62903",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/faec922e-e4b8-4257-bff0-7960360280e2",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/2c89fb77-4078-4b4e-9632-fb38a93f14cf",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/b9dc073a-57e3-4916-9868-f0077ae71ead",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/ac5ee494-2c2b-4387-94d2-f20169ab57d4",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/66c27c41-29f5-468b-ae89-4c3acb93041b",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/d6f5e583-7cf8-4c0c-ab36-421130fa770a",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/53695611-9ccf-413e-b853-f4c841512823",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/0e535d08-b1b8-45f3-8503-5e327f88a5dc",
    "images.milanuncios.com/api/v1/ma-ad-media-pro/images/602b03ac-95b5-442a-a7b2-095d657153dd"
  ],
  "is_new": false,
  "location": {
    "city": {
      "id": 51,
      "name": "Móstoles",
      "slug": "mostoles"
    },
    "province": {
      "id": 28,
      "name": "Madrid",
      "slug": "madrid"
    },
    "region": {
      "id": 28,
      "name": "Madrid",
      "slug": "madrid"
    }
  },
  "origin": {
    "name": "inner",
    "provider": "was"
  },
  "previous_price": {
    "cash_price": {
      "value": 24740
    }
  },
  "price": {
    "cash_price": {
      "value": 24600,
      "include_taxes": true
    },
    "financed_price": {
      "value": 24100
    }
  },
  "province": {
    "id": 28,
    "name": "Madrid",
    "slug": "madrid"
  },
  "publish_date": "2025-10-29T09:54:15Z",
  "search_link": {
    "label": "Toyota en Móstoles",
    "url": "/toyota-de-segunda-mano-en-mostoles-madrid/"
  },
  "seller_type": "professional",
  "sell_type": "supply",
  "seo_title": "Begrauto Automoción",
  "tags": [
    {
      "type": "kilómetros",
      "text": "197.957 kms"
    },
    {
      "type": "año",
      "text": "2020"
    },
    {
      "type": "combustible",
      "text": "híbrido"
    }
  ],
  "title": "TOYOTA - Rav4 2.5l 220H Luxury 4WD",
  "url": "/toyota-de-segunda-mano/toyota-rav4-2-5l-220h-luxury-4wd-564377762.htm",
  "user_id": 224911821,
  "is_pole_position": true,
  "sort_date": "2026-05-14T23:16:03Z",
  "update_date": "2026-05-15T07:17:44Z"
}
```

Each listing is returned as a structured record with 29 fields:

#### Listing Identity

| Field | Meaning |
|---|---|
| `ID` | Unique internal Milanuncios identifier for the listing |
| `Title` | Listing headline as shown on the search page |
| `SEO Title` | Optimized title used by the platform for search engines |
| `URL` | Direct link to the full listing detail page |
| `Search Link` | URL of the search results page where the listing was found |
| `Slug / Tags` | Descriptive tags and keywords associated with the listing |

#### Pricing

| Field | Meaning |
|---|---|
| `Price` | Current asking price (in EUR) |
| `Previous Price` | Original price before any reduction — useful for discount tracking |
| `Sell Type` | Whether the item is for sale, trade, rental, or donation |
| `Warranty Period` | Warranty duration if applicable (common in vehicle or electronics listings) |

#### Location

| Field | Meaning |
|---|---|
| `City` | City where the item or seller is located |
| `Province` | Spanish province (e.g., Madrid, Barcelona, Valencia) |
| `Location` | Combined or enriched location string |

#### Dates

| Field | Meaning |
|---|---|
| `Publish Date` | When the listing was first published |
| `Update Date` | Last modification timestamp |
| `Sort Date` | Date used by the platform's internal ranking/sort algorithm |

#### Category & Classification

| Field | Meaning |
|---|---|
| `Category` | Human-readable category name (e.g., "Coches de segunda mano") |
| `Category ID` | Internal numeric category identifier |
| `Category Tree` | Full breadcrumb path from root to the listing's category |
| `Is New` | Whether the item is listed as new (vs. second-hand) |
| `Origin` | Source or channel through which the listing was submitted |

#### Seller & Visibility

| Field | Meaning |
|---|---|
| `User ID` | Anonymized identifier for the seller's account |
| `Seller Type` | Professional dealer vs. private individual |
| `Contactable` | Whether the seller has enabled contact options |
| `Is VIP Content` | Paid VIP placement flag |
| `Highlighted` | Whether the listing has a paid highlight boost |
| `Is Pole Position` | Whether the listing occupies the top "pole position" sponsored slot |

#### Media & Content

| Field | Meaning |
|---|---|
| `Images` | Array of image URLs for the listing |
| `Description` | Full listing description text |

***

### How to Use

1. **Build your URL list** — Go to Milanuncios.com, run a search with your filters, and copy the search result page URL. Add pagination variants as needed.
2. **Set item limit** — Use `max_items_per_url: 50` to collect up to 50 listings per page (adjust to match actual page size).
3. **Enable Spanish proxy** — Keep `apifyProxyCountry: "ES"` to ensure geo-accurate results and reduce the chance of blocks.
4. **Run and export** — Download results as JSON, CSV, or Excel for use in spreadsheets, databases, or BI tools.

**Common issues:**

- URLs must be **search result pages**, not individual listing pages.
- If results are empty, verify the URL loads correctly in a browser without a login prompt.
- For large-scale collection, spread runs across time to stay within respectful crawl rates.

***

### Use Cases & Business Value

- **Automotive market analysis:** Track second-hand car prices across provinces and models
- **Price monitoring:** Detect drops using `Previous Price` vs. `Price` deltas
- **Seller segmentation:** Distinguish professional dealers from private sellers at scale
- **Inventory research:** Identify trending categories or underserved markets in Spanish classifieds
- **Academic research:** Study informal economy dynamics and regional pricing variation across Spain

***

### Conclusion

The **Milanuncios.com Product Search Scraper** delivers structured, analysis-ready data from Spain's most active classifieds platform. With 29 fields per listing, proxy-aware configuration, and robust error handling, it is a practical tool for anyone working with Spanish market data. Configure your search URLs, run the scraper, and start extracting insights immediately.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.milanuncios.com/coches-de-segunda-mano/?pagina=4"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}
```

# 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 = {
    "urls": [
        "https://www.milanuncios.com/coches-de-segunda-mano/?pagina=4"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "ES"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/milanuncios-search-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 = {
    "urls": ["https://www.milanuncios.com/coches-de-segunda-mano/?pagina=4"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "ES",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/milanuncios-search-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 '{
  "urls": [
    "https://www.milanuncios.com/coches-de-segunda-mano/?pagina=4"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}' |
apify call stealth_mode/milanuncios-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Milanuncios Search Scraper",
        "description": "Scrape product listings from Milanuncios.com search pages in bulk. Extract price, location, seller type, images, dates, and 25+ fields per listing — perfect for market research, price monitoring, and competitive analysis in the Spanish classifieds market.",
        "version": "0.0",
        "x-build-id": "s4EIW7eR50H02aoNi"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~milanuncios-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-milanuncios-search-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/stealth_mode~milanuncios-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-milanuncios-search-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/stealth_mode~milanuncios-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-milanuncios-search-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": {
                    "urls": {
                        "title": "URLs of the search list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your scraper."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
