# Amazon Product Scraper – ASIN, Price, Rating, Reviews (`scrapepilot/amazon`) Actor

Extract amazon product data by keyword: ASIN, title, price, currency, discount, rating, reviews, sponsored, prime, brand, images. Pay per result ($10/1K). 20+ domains, residential proxy ready. Free failed attempts.

- **URL**: https://apify.com/scrapepilot/amazon.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 successful product scrapes

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

---
## 🛒 Amazon Product Scraper – Search by Keyword, Extract ASIN, Price, Rating, & More

**Extract real‑time **amazon product** data – ASIN, title, price, currency, original price, discount percentage, rating, review count, sponsored flag, Prime badge, brand, images, and availability – using Amazon search.**  
No login required. Supports 20+ Amazon domains (US, UK, DE, FR, IT, ES, CA, AU, IN, JP, MX, BR, NL, PL, SE, SG, AE, SA, TR). **Pay only for successfully scraped products** with automatic checkpoint/resume. Perfect for price monitoring, competitor analysis, market research, and lead generation.

---

### 💡 What is the Amazon Product Scraper?

The **Amazon Product Scraper** is a professional Apify actor that extracts **public product data** from Amazon search results. It works exactly like typing a keyword into Amazon – then collects every piece of visible product information.

It uses the official search URL structure and parses HTML with BeautifulSoup. The actor supports **20+ Amazon domains** (`.com`, `.co.uk`, `.de`, etc.) and **5 sorting options** (relevance, price low‑to‑high, price high‑to‑low, review rank, newest, bestseller).

Key outputs include:

- **ASIN** (Amazon Standard Identification Number)
- **Product title**
- **Current price** and currency (USD, GBP, EUR, etc.)
- **Original price** (before discount) and **discount percentage**
- **Rating** (out of 5) and **number of reviews**
- **Sponsored** flag and **Prime** badge
- **Brand** name
- **Main image URL** + up to 5 additional images
- **In‑stock status**
- **Direct product URL**
- **Scraped timestamp**

The **Amazon Product Scraper** is built for **pay‑per‑event (PPE)**: you are charged **only for successfully scraped products** – one charge per product pushed to the dataset. Failed requests, CAPTCHAs, or empty pages cost nothing. The actor also includes **automatic checkpoint/resume** – if it stops for any reason, it resumes from the last page without re‑processing products you already paid for.

---

### 🚀 Key Features

| Feature                     | Description |
|-----------------------------|-------------|
| **Keyword search**          | Enter any search term – the actor mimics a real Amazon search. |
| **20+ Amazon domains**      | Supports US, UK, Germany, France, Italy, Spain, Canada, Australia, India, Japan, Mexico, Brazil, Netherlands, Poland, Sweden, Singapore, UAE, Saudi Arabia, Turkey. |
| **5 sorting options**       | Relevance, price low‑to‑high, price high‑to‑low, review rank, newest, bestseller. |
| **Rich product data**       | ASIN, title, price, discount, rating, reviews, sponsored, prime, brand, images, stock. |
| **Pay per result (PPE)**    | You are charged only when a product is successfully scraped. Failed attempts are free. |
| **Automatic checkpoint**    | Saves progress after every page – resumes from where it left off after interruptions. |
| **Residential proxy ready** | Avoids Amazon’s anti‑bot measures. Strongly recommended for large runs. |
| **No login required**       | Works without Amazon account. |
| **Clean JSON / CSV / Excel** | Export from Apify dataset. |
| **Cost‑effective pricing**  | $10 per 1,000 successful products + $0.03 actor start. |

---

### 📥 Input Parameters

The actor accepts a JSON object with the following fields:

| Parameter        | Type    | Required | Default | Description |
|------------------|---------|----------|---------|-------------|
| `keyword`        | string  | **Yes**  | –       | Product search term (e.g., `"wireless headphones"`). |
| `amazon_domain`  | string  | No       | `"us"`  | Country code: `us`, `uk`, `de`, `fr`, `it`, `es`, `ca`, `au`, `in`, `jp`, `mx`, `br`, `nl`, `pl`, `se`, `sg`, `ae`, `sa`, `tr`. |
| `max_results`    | integer | No       | `100`   | Maximum number of products to scrape (respects Amazon’s limit of ~400). |
| `sort_by`        | string  | No       | `"relevance"` | Sorting: `relevance`, `price_asc`, `price_desc`, `review_rank`, `newest`, `bestseller`. |
| `proxyConfiguration` | object | No | – | Apify proxy configuration. **Residential proxies strongly recommended.** |

#### Example Input (Basic)

```json
{
  "keyword": "gaming mouse",
  "amazon_domain": "us",
  "max_results": 50,
  "sort_by": "price_asc"
}
````

#### Example Input (Full with Proxy)

```json
{
  "keyword": "noise cancelling headphones",
  "amazon_domain": "de",
  "max_results": 200,
  "sort_by": "review_rank",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

***

### 📤 Output Fields

Each **amazon product** (successful scrape) returns an object with the following fields:

| Field            | Type    | Description |
|------------------|---------|-------------|
| `asin`           | string  | Amazon ASIN (10‑character identifier). |
| `title`          | string  | Full product title. |
| `url`            | string  | Direct Amazon product URL. |
| `price`          | float   | Current price (numeric). |
| `currency`       | string  | Currency code: USD, GBP, EUR, etc. |
| `original_price` | float   | List price / strikethrough price (if discounted). |
| `discount`       | string  | Discount percentage (e.g., `"15%"`). |
| `rating`         | float   | Average customer rating (0–5). |
| `reviews_count`  | integer | Number of customer reviews. |
| `sponsored`      | boolean | `true` if the product is a sponsored ad. |
| `prime`          | boolean | `true` if eligible for Amazon Prime. |
| `category`       | string  | (Currently `null`; from detail page optional). |
| `brand`          | string  | Brand name (if visible on search card). |
| `image_url`      | string  | Main product image URL. |
| `images`         | array   | Up to 5 additional image URLs. |
| `badge`          | string  | Any badge (e.g., `"Best Seller"`, `"Amazon's Choice"`). |
| `in_stock`       | boolean | `true` if price is present (Amazon shows price only when in stock). |
| `scraped_at`     | string  | ISO 8601 timestamp. |

#### Example Output

```json
[
  {
    "asin": "B08N5WRWNW",
    "title": "Sony WH-1000XM4 Wireless Noise Cancelling Headphones",
    "url": "https://www.amazon.com/dp/B08N5WRWNW",
    "price": 348.0,
    "currency": "USD",
    "original_price": 398.0,
    "discount": "13%",
    "rating": 4.7,
    "reviews_count": 28450,
    "sponsored": false,
    "prime": true,
    "category": null,
    "brand": "Sony",
    "image_url": "https://m.media-amazon.com/images/I/71o8Q5XZ5L._AC_SL1500_.jpg",
    "images": [
      "https://m.media-amazon.com/images/I/71o8Q5XZ5L._AC_SL1500_.jpg",
      "https://m.media-amazon.com/images/I/71sR5XcZ4L._AC_SL1500_.jpg"
    ],
    "badge": "Amazon's Choice",
    "in_stock": true,
    "scraped_at": "2026-05-08T12:00:00Z"
  }
]
```

***

### 💰 Pricing

| Component                     | Price                 |
|-------------------------------|-----------------------|
| **Actor start (per run)**     | **$0.03**             |
| **Per successful product**    | **$0.01**             |
| **Per 1,000 successful products** | **$10.00**        |

- You are **charged only when an **amazon product** is successfully scraped** (price exists, ASIN valid).
- Failed pages (blocked, CAPTCHA, no products) cost nothing.
- The actor start fee ($0.03) covers the infrastructure for the run (even if no products are scraped).
- Example: 500 successful products = $0.03 + (500 × $0.01) = **$5.03**.
- Example: 2,500 successful products = $0.03 + (2,500 × $0.01) = **$25.03**.

**Checkpoint & Resume:**\
If the actor stops due to spending limit, time limit, or network error, it saves progress. When you restart, it continues from the last page **without re‑charging** for already scraped products.

***

### 🛠 How to Use on Apify

1. **Create a task** with this actor.
2. **Enter keyword** – the product you want to search for (e.g., `"laptop"`).
3. **Select Amazon domain** – choose your target marketplace (default `us`).
4. **Set max\_results** – how many **amazon products** to collect (up to ~400).
5. **Choose sorting** – relevance, price, review rank, etc.
6. **Enable residential proxies** – go to **Proxy Configuration** → **Selected proxies** → **Residential** (strongly recommended).
7. **Run** – the actor scrapes search result pages, extracts each **amazon product**, pushes it to the dataset, and charges immediately (one charge per product).
8. **Export** – download results as JSON, CSV, or Excel from the **Dataset** tab.

#### Running via API

```bash
curl -X POST "https://api.apify.com/v2/acts/your-username~amazon-product-scraper/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "keyword": "wireless earbuds",
    "amazon_domain": "uk",
    "max_results": 100,
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": ["RESIDENTIAL"]
    }
  }'
```

***

### 🎯 Use Cases

| Industry / Use Case | How This **amazon product** Scraper Helps |
|---------------------|-------------------------------------------|
| **Price monitoring** | Track competitor prices daily – detect discounts and price drops. |
| **Market research** | Analyse product ratings, review counts, and brand distribution. |
| **Lead generation** | Identify sellers and brands for B2B outreach. |
| **Affiliate marketing** | Build product feeds for comparison websites. |
| **Inventory analysis** | Check which products are in stock vs. out of stock. |
| **Academic research** | Study e‑commerce pricing patterns. |

***

### ❓ Frequently Asked Questions

**1. Do I need an Amazon account?**\
No. The actor uses public search pages. No login required.

**2. Why do I need residential proxies?**\
Amazon aggressively blocks datacenter IPs after a few requests. Residential proxies (Apify’s) avoid `403`/`429` errors and CAPTCHAs. Without a proxy, you may get blocked quickly.

**3. How many products can I scrape per run?**\
Amazon typically returns up to 400 products (20 pages × ~20 items). The `max_results` parameter caps at that limit.

**4. What sorting options are supported?**\
`relevance` (default), `price_asc` (low‑to‑high), `price_desc` (high‑to‑low), `review_rank` (most reviews), `newest` (newest arrivals), `bestseller` (best sellers).

**5. How does the pay‑per‑event (PPE) work?**\
For each successful **amazon product**, the actor calls `Actor.charge(event_name='scraped-result')`. You are charged $0.01 per product. Failed products (e.g., missing price) are **not charged**.

**6. What happens if I reach my spending limit?**\
The actor detects `event_charge_limit_reached` and stops gracefully. It saves a checkpoint so you can resume later without double‑charging.

**7. Does it also scrape product description / bullet points / variations?**\
No – this actor focuses on **search result page data**. For full product details (description, features, specs), use our [Amazon Product Detail Scraper](link).

**8. Which countries / domains are supported?**\
All 20+ domains: `us`, `uk`, `de`, `fr`, `it`, `es`, `ca`, `au`, `in`, `jp`, `mx`, `br`, `nl`, `pl`, `se`, `sg`, `ae`, `sa`, `tr`.

**9. How accurate is the price field?**\
It comes directly from the HTML element `a-price-whole`. Accuracy is 100% for visible prices. Sale/discount prices are captured as `original_price` + `discount`.

**10. Can I get the product’s exact categories (department)?**\
The current version does not extract categories from the search card. You can use the `url` (product page) with a second actor to fetch full category tree.

***

### 📝 Technical Notes

- **Libraries used**: `curl_cffi` (TLS fingerprinting) or `requests` fallback, `BeautifulSoup` (lxml parser).
- **Proxy**: The actor reads `proxyConfiguration` from input. Always set `us
  eApifyProxy: true` and choose `RESIDENTIAL` group.
- **Checkpoint**: Saved in the actor’s key‑value store under `amazon_search_checkpoint`. Contains `last_page` and `total_pushed`.
- **Rate limiting**: The actor adds a random 1.5–3 second delay between pages. If a 429 or 503 occurs, it waits and retries up to 3 times.
- **CAPTCHA detection**: If the HTML contains "robot check" or "captcha", the actor retries with a fresh proxy (if available).
- **Deduplication**: Products are deduplicated by ASIN. If the same ASIN appears on two pages, only the first is kept.
- **PPE event name**: `"scraped-result"`. Charged immediately after `Actor.push_data()` for each product.

***

### 🔍 SEO Keywords

`amazon product`, `amazon product scraper`, `amazon price scraper`, `amazon ASIN extractor`, `amazon search scraper`, `amazon data extraction`, `amazon product monitoring`, `amazon price tracking`, `scrape amazon products`, `amazon affiliate tool`, `amazon market research`, `amazon competitor analysis`, `apify amazon actor`, `amazon scraper PPE`, `pay per result amazon`

***

### 🔗 Related Actors

- **[Amazon Product Detail Scraper](https://apify.com/your-username/amazon-product-detail)** – Extract full description, bullet points, and customer Q\&A.
- **[Amazon Reviews Scraper](https://apify.com/your-username/amazon-reviews-scraper)** – Scrape customer reviews and ratings per ASIN.
- **[Amazon Best Sellers Scraper](https://apify.com/your-username/amazon-best-sellers)** – Track top‑selling products by category.

***

***

**Start collecting **amazon product** data today – $0.03 per run + $10 per 1,000 successful products. Residential proxy ready.**

````

# Actor input Schema

## `keyword` (type: `string`):

Product search keyword.

Examples:
  wireless headphones
  running shoes men
  laptop stand
  vitamin c serum
## `amazon_domain` (type: `string`):

Which Amazon marketplace to scrape from.
## `max_results` (type: `integer`):

Maximum number of products to scrape.
Amazon shows up to ~400 results per search.
## `sort_by` (type: `string`):

How to sort search results.
## `proxyConfiguration` (type: `object`):

RESIDENTIAL proxy is required for Amazon.
Amazon aggressively blocks datacenter IPs.

✅ Always keep RESIDENTIAL enabled.

## Actor input object example

```json
{
  "keyword": "wireless headphones",
  "amazon_domain": "us",
  "max_results": 100,
  "sort_by": "relevance",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
````

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "keyword": "wireless headphones",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/amazon").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 = {
    "keyword": "wireless headphones",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/amazon").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 '{
  "keyword": "wireless headphones",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapepilot/amazon --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Product Scraper – ASIN, Price, Rating, Reviews",
        "description": "Extract amazon product data by keyword: ASIN, title, price, currency, discount, rating, reviews, sponsored, prime, brand, images. Pay per result ($10/1K). 20+ domains, residential proxy ready. Free failed attempts.",
        "version": "0.0",
        "x-build-id": "nGFPBRAyz4HVvWzQr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapepilot~amazon/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapepilot-amazon",
                "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/scrapepilot~amazon/runs": {
            "post": {
                "operationId": "runs-sync-scrapepilot-amazon",
                "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/scrapepilot~amazon/run-sync": {
            "post": {
                "operationId": "run-sync-scrapepilot-amazon",
                "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": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "🔍 Search Keyword",
                        "type": "string",
                        "description": "Product search keyword.\n\nExamples:\n  wireless headphones\n  running shoes men\n  laptop stand\n  vitamin c serum"
                    },
                    "amazon_domain": {
                        "title": "🌍 Amazon Marketplace",
                        "enum": [
                            "us",
                            "uk",
                            "de",
                            "fr",
                            "it",
                            "es",
                            "ca",
                            "au",
                            "in",
                            "jp",
                            "mx",
                            "br",
                            "nl",
                            "pl",
                            "se",
                            "sg",
                            "ae",
                            "sa",
                            "tr"
                        ],
                        "type": "string",
                        "description": "Which Amazon marketplace to scrape from.",
                        "default": "us"
                    },
                    "max_results": {
                        "title": "📦 Max Products",
                        "minimum": 1,
                        "maximum": 400,
                        "type": "integer",
                        "description": "Maximum number of products to scrape.\nAmazon shows up to ~400 results per search.",
                        "default": 100
                    },
                    "sort_by": {
                        "title": "📊 Sort Results By",
                        "enum": [
                            "relevance",
                            "price_asc",
                            "price_desc",
                            "review_rank",
                            "newest",
                            "bestseller"
                        ],
                        "type": "string",
                        "description": "How to sort search results.",
                        "default": "relevance"
                    },
                    "proxyConfiguration": {
                        "title": "🔒 Proxy (RESIDENTIAL Required)",
                        "type": "object",
                        "description": "RESIDENTIAL proxy is required for Amazon.\nAmazon aggressively blocks datacenter IPs.\n\n✅ Always keep RESIDENTIAL enabled."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
