# Amazon Review Scraper (`devlory/amazon-review-scraper`) Actor

Amazon Reviews Scraper extracts structured customer reviews from Amazon product pages, including ratings, text, titles, dates, variants, helpful votes, images, and review URLs. It supports pagination, proxy use, live dataset updates, and marketplace URL normalization.

- **URL**: https://apify.com/devlory/amazon-review-scraper.md
- **Developed by:** [Lorenzo Cerqua](https://apify.com/devlory) (community)
- **Categories:** Automation, E-commerce, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does Amazon Reviews Scraper do?

**Amazon Reviews Scraper** extracts customer reviews from Amazon product review pages such as `https://www.amazon.it/product-reviews/B0DT17JXF2/`. It collects review text, ratings, titles, reviewer names, dates, verified purchase badges, variants, helpful vote counts, images, review URLs, ASINs, marketplace domains, and source page metadata.

The Actor accepts either Amazon product URLs or Amazon review URLs from any supported Amazon marketplace. It extracts the ASIN, opens the matching `/product-reviews/{ASIN}/` page on `amazon.it`, uses Italian Amazon cookies when bundled, and requests the page with English language settings. Running it on the Apify platform gives you API access, scheduling, integrations, proxy rotation, monitoring, and downloadable datasets.

### Why use Amazon Reviews Scraper?

Amazon reviews are useful for product research, competitor monitoring, customer sentiment analysis, quality tracking, marketplace audits, and Voice of Customer workflows. Instead of manually browsing page after page, this Actor builds a structured dataset that can be exported to JSON, CSV, Excel, HTML, or consumed directly through the Apify API.

Common use cases include:

- Tracking what customers like or dislike about a product.
- Comparing verified purchase feedback across competing ASINs.
- Monitoring review volume and review quality over time.
- Collecting examples for support, product, marketing, or listing optimization teams.
- Building downstream NLP or sentiment analysis pipelines.

### How to use Amazon Reviews Scraper

1. Open the Actor on Apify.
2. Add one or more Amazon product or review URLs in the **Input** tab.
3. Choose optional limits such as maximum reviews or maximum pages per product.
4. Keep the residential proxy enabled for better reliability on Amazon.
5. Run the Actor.
6. Download the dataset from the **Output** tab or access it through the Apify API.

You can paste product links from any supported Amazon marketplace; the Actor extracts the ASIN and always opens the Italian Amazon review page in English.

### Input

The main input field is `start_urls`, which accepts Amazon product URLs or review URLs.

Example input:

```json
{
  "start_urls": [
    {
      "url": "https://www.amazon.it/product-reviews/B0DT17JXF2/?reviewerType=all_reviews"
    }
  ],
  "max_reviews_per_product": 100,
  "max_pages_per_product": 10,
  "reviewer_type": "all_reviews",
  "filter_by_star": "",
  "fallback_marketplaces": "amazon.it",
  "use_proxy": true,
  "proxy_country": "IT",
  "max_retries": 5,
  "max_concurrency": 3,
  "delay_min_seconds": 1,
  "delay_max_seconds": 3
}
````

Input fields:

| Field | Description |
| --- | --- |
| `start_urls` | Amazon product or review URLs to scrape. The ASIN is extracted and opened on `/product-reviews/{ASIN}/` on `amazon.it`. |
| `max_reviews_per_product` | Maximum reviews per product. Use `0` to continue until no next page is available. |
| `max_pages_per_product` | Maximum review pages per product. Use `0` for unlimited pages. |
| `reviewer_type` | Amazon reviewer type, such as `all_reviews` or `avp_only_reviews`. |
| `filter_by_star` | Optional star filter, such as `five_star`, `one_star`, `positive`, or `critical`. |
| `fallback_marketplaces` | Deprecated. The Actor always opens ASINs on `amazon.it`. |
| `use_proxy` | Enables Apify Residential Proxy. Recommended for Amazon. |
| `proxy_country` | Deprecated. The Actor always uses `IT` because scraping is fixed to `amazon.it`. |
| `max_retries` | Number of retry attempts per URL. |
| `max_concurrency` | Number of products scraped in parallel. |
| `delay_min_seconds` / `delay_max_seconds` | Random delay range between review pages for the same product. |

### Output

Each dataset item represents one Amazon review. On Apify, reviews are pushed to the dataset page by page while the Actor is still running, so you can inspect partial results before the full product finishes. The Actor also stores a per-ASIN summary in the default key-value store.

Example output item:

```json
{
  "scraped_at": "2026-06-18T21:30:00.000000+00:00",
  "asin": "B0DT17JXF2",
  "marketplace": "amazon.in",
  "review_id": "R123EXAMPLE",
  "reviewer_name": "Alex",
  "rating": 5,
  "rating_text": "5.0 out of 5 stars",
  "title": "Great product",
  "review_country": "Italy",
  "review_date": "18 June 2026",
  "verified_purchase": true,
  "verified_purchase_text": "Verified Purchase",
  "variant": "Colour Name: Black",
  "body": "The customer review is saved as clean text.",
  "helpful_votes": 3,
  "images": ["https://m.media-amazon.com/images/I/example.jpg"],
  "review_url": "https://www.amazon.in/gp/customer-reviews/R123EXAMPLE",
  "page_number": 1,
  "source_url": "https://www.amazon.in/product-reviews/B0DT17JXF2/?reviewerType=all_reviews&pageNumber=1"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Data table

| Field | Description |
| --- | --- |
| `asin` | Amazon product ASIN. |
| `product_title` | Product title detected on the reviews page. |
| `marketplace` | Marketplace domain from the user's input URL, such as `amazon.in`. |
| `review_id` | Unique Amazon review ID when available. |
| `reviewer_name` | Public reviewer display name. |
| `rating` | Numeric star rating. |
| `title` | Review title. |
| `review_country` | Country/marketplace text extracted from the review date line. |
| `review_date` | Review date text as shown by Amazon. |
| `verified_purchase` | Whether Amazon shows a verified purchase badge. |
| `variant` | Product variant or format strip shown on the review. |
| `body` | Cleaned review body text. |
| `helpful_votes` | Number of helpful votes when shown. |
| `images` | Review image URLs. |
| `review_url` | Direct URL to the individual review when available. |
| `page_number` | Review page number where the item was found. |
| `source_url` | Original user-provided URL or the equivalent input-marketplace URL. |

### Pricing / Cost estimation

How much does it cost to scrape Amazon reviews? The main cost drivers are the number of review pages, proxy usage, retries, and run duration. A product with a small number of reviews may finish in seconds, while large ASINs with thousands of reviews will require more requests.

To control cost, set `max_reviews_per_product` or `max_pages_per_product`. New Apify users can usually test small runs within the free tier, but larger Amazon review exports may require paid platform usage and proxy traffic.

### Tips or Advanced options

- Keep `use_proxy` enabled for production Amazon scraping.
- Links from Amazon marketplaces, such as `amazon.co.uk` or `amazon.in`, are converted to `amazon.it` before scraping. The proxy country is fixed to `IT`.
- If the ASIN is not available on Amazon Italy, the Actor will not try other marketplaces automatically.
- If a filtered `/product-reviews/` page is blocked, the Actor can fall back to the product detail page and collect the reviews visible there. This fallback is partial because Amazon product pages usually expose fewer reviews than the dedicated review pages.
- Cookie handling is automatic and not exposed in the input form. If `amazon_cookies.json` is bundled with the Actor, the scraper loads those sessions internally, warms up the Amazon marketplace homepage, refreshes cookie values in memory for the current run from valid Amazon `Set-Cookie` responses, and skips sessions that Amazon redirects to login.
- Requests use marketplace-aware language headers. Requests to `amazon.it` prefer an English locale so badges, dates, labels, and product metadata are returned in English where Amazon supports it.
- Watch the live log for page-level progress: each page reports found reviews, newly pushed reviews, cumulative total, and whether a next page token was found.
- When no star filter is selected, the Actor automatically runs extra passes for `five_star`, `four_star`, `three_star`, `two_star`, and `one_star` to work around Amazon's 100-review cap on a single review view, then deduplicates review IDs.
- The Actor uses the Italian marketplace, Italian Amazon cookies, and English language settings for consistent output.
- Start with `max_pages_per_product: 2` or `max_reviews_per_product: 20` while testing selectors and output.
- Use `filter_by_star` when you only need positive, critical, or specific star reviews.
- Lower `max_concurrency` if Amazon starts returning CAPTCHA or blocked pages.
- Increase delays between pages for large runs to reduce block risk.

### FAQ, disclaimers, and support

#### Is it legal to scrape Amazon reviews?

Scraping publicly available web data can be legal depending on your jurisdiction, purpose, and how you use the data. You are responsible for making sure your use complies with applicable laws, Amazon terms, privacy rules, and platform policies. Do not collect or store sensitive personal data unless you have a lawful basis and explicit permission.

#### Why did the Actor stop before collecting every review?

The Actor stops when Amazon no longer exposes a next page token, when it reaches your configured limits, or when Amazon returns a blocked/CAPTCHA page. Check the key-value store summary for `stop_reason` and page diagnostics.

Amazon can cap each individual review view at 100 items, even when the product has more text reviews. When possible, this Actor expands the crawl through star filters and deduplicates the results. Some very large star buckets can still remain partially hidden if Amazon caps that filtered view too.

#### Does the Actor use `nextPageToken`?

Yes. For each page, it extracts Amazon's `nextPageToken` from hidden inputs, links, AJAX fragments, or embedded markup. The Actor requests tokenized review pages with `nextPageToken`, `pageNumber`, `asin`, and `reftag`, then falls back to the next review page URL when needed.

#### Where can I report issues?

Use the Actor's **Issues** tab on Apify for bugs, selector changes, or feature requests. Custom scraping solutions and extensions can be built for additional Amazon fields, review media, scheduling, or downstream analysis.

# Actor input Schema

## `start_urls` (type: `array`):

Amazon product URLs or product review URLs to scrape. The ASIN is extracted from any Amazon marketplace URL, then opened on amazon.it in English.

## `max_reviews_per_product` (type: `integer`):

Maximum reviews to collect for each product. Set to 0 to continue until Amazon has no next page token.

## `max_pages_per_product` (type: `integer`):

Maximum review pages to request for each product. Set to 0 for unlimited pages.

## `reviewer_type` (type: `string`):

Amazon reviewerType query parameter.

## `filter_by_star` (type: `string`):

Optional Amazon filterByStar query parameter.

## `fallback_marketplaces` (type: `string`):

Deprecated. The scraper always opens ASINs on amazon.it with English language settings.

## `use_proxy` (type: `boolean`):

Use Apify Residential Proxy for Amazon requests.

## `proxy_country` (type: `string`):

Deprecated. The scraper always uses IT for amazon.it.

## `max_retries` (type: `integer`):

Maximum retries per product URL.

## `max_concurrency` (type: `integer`):

How many products to scrape in parallel.

## `delay_min_seconds` (type: `number`):

Minimum delay between review pages for the same product.

## `delay_max_seconds` (type: `number`):

Maximum delay between review pages for the same product.

## Actor input object example

```json
{
  "start_urls": [
    {
      "url": "https://www.amazon.it/product-reviews/B0DT17JXF2/?reviewerType=all_reviews"
    }
  ],
  "max_reviews_per_product": 0,
  "max_pages_per_product": 0,
  "reviewer_type": "all_reviews",
  "filter_by_star": "",
  "fallback_marketplaces": "amazon.it",
  "use_proxy": true,
  "proxy_country": "IT",
  "max_retries": 5,
  "max_concurrency": 3,
  "delay_min_seconds": 1,
  "delay_max_seconds": 3
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "start_urls": [
        {
            "url": "https://www.amazon.it/product-reviews/B0DT17JXF2/?reviewerType=all_reviews"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devlory/amazon-review-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 = { "start_urls": [{ "url": "https://www.amazon.it/product-reviews/B0DT17JXF2/?reviewerType=all_reviews" }] }

# Run the Actor and wait for it to finish
run = client.actor("devlory/amazon-review-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 '{
  "start_urls": [
    {
      "url": "https://www.amazon.it/product-reviews/B0DT17JXF2/?reviewerType=all_reviews"
    }
  ]
}' |
apify call devlory/amazon-review-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Review Scraper",
        "description": "Amazon Reviews Scraper extracts structured customer reviews from Amazon product pages, including ratings, text, titles, dates, variants, helpful votes, images, and review URLs. It supports pagination, proxy use, live dataset updates, and marketplace URL normalization.",
        "version": "0.0",
        "x-build-id": "Pcg0Gapef4dPU4HH4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devlory~amazon-review-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devlory-amazon-review-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/devlory~amazon-review-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devlory-amazon-review-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/devlory~amazon-review-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devlory-amazon-review-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",
                "required": [
                    "start_urls"
                ],
                "properties": {
                    "start_urls": {
                        "title": "Product or review URLs",
                        "type": "array",
                        "description": "Amazon product URLs or product review URLs to scrape. The ASIN is extracted from any Amazon marketplace URL, then opened on amazon.it in English.",
                        "default": [
                            {
                                "url": "https://www.amazon.it/product-reviews/B0DT17JXF2/?reviewerType=all_reviews"
                            }
                        ],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "max_reviews_per_product": {
                        "title": "Max reviews per product",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum reviews to collect for each product. Set to 0 to continue until Amazon has no next page token.",
                        "default": 0
                    },
                    "max_pages_per_product": {
                        "title": "Max pages per product",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum review pages to request for each product. Set to 0 for unlimited pages.",
                        "default": 0
                    },
                    "reviewer_type": {
                        "title": "Reviewer type",
                        "enum": [
                            "all_reviews",
                            "avp_only_reviews"
                        ],
                        "type": "string",
                        "description": "Amazon reviewerType query parameter.",
                        "default": "all_reviews"
                    },
                    "filter_by_star": {
                        "title": "Filter by star",
                        "enum": [
                            "",
                            "all_stars",
                            "five_star",
                            "four_star",
                            "three_star",
                            "two_star",
                            "one_star",
                            "positive",
                            "critical"
                        ],
                        "type": "string",
                        "description": "Optional Amazon filterByStar query parameter.",
                        "default": ""
                    },
                    "fallback_marketplaces": {
                        "title": "Target marketplace",
                        "type": "string",
                        "description": "Deprecated. The scraper always opens ASINs on amazon.it with English language settings.",
                        "default": "amazon.it"
                    },
                    "use_proxy": {
                        "title": "Use Apify residential proxy",
                        "type": "boolean",
                        "description": "Use Apify Residential Proxy for Amazon requests.",
                        "default": true
                    },
                    "proxy_country": {
                        "title": "Proxy country",
                        "type": "string",
                        "description": "Deprecated. The scraper always uses IT for amazon.it.",
                        "default": "IT"
                    },
                    "max_retries": {
                        "title": "Max retries",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum retries per product URL.",
                        "default": 5
                    },
                    "max_concurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many products to scrape in parallel.",
                        "default": 3
                    },
                    "delay_min_seconds": {
                        "title": "Minimum page delay",
                        "type": "number",
                        "description": "Minimum delay between review pages for the same product.",
                        "default": 1
                    },
                    "delay_max_seconds": {
                        "title": "Maximum page delay",
                        "type": "number",
                        "description": "Maximum delay between review pages for the same product.",
                        "default": 3
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
