# Amazon Product Scraper – Price, Reviews & More (`dev-sinior/amazon-product-scraper`) Actor

Scrape Amazon search results and product pages. Extracts title, price, rating, reviews count, images, ASIN, badges and more. Supports all Amazon country domains.

- **URL**: https://apify.com/dev-sinior/amazon-product-scraper.md
- **Developed by:** [DEV-SINIOR](https://apify.com/dev-sinior) (community)
- **Categories:** E-commerce
- **Stats:** 4 total users, 0 monthly users, 18.2% runs succeeded, NaN bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.50 / 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

## 🛒 Amazon Product Scraper — Price Monitor + Telegram Alerts

> Extract product data from any Amazon country in seconds. Monitor price drops automatically and receive instant Telegram notifications. No coding required.

---

### ⚡ What can this scraper do?

Search Amazon by keyword or paste direct product URLs — the scraper returns structured data instantly:

- ✅ **Title, ASIN, price, original price, discount %**
- ✅ **Star rating + review count**
- ✅ **Best Seller / Amazon's Choice badge**
- ✅ **Product image + direct link**
- ✅ **Full product details** (bullet points, description, seller, tech specs)
- ✅ **Instant Telegram alerts** for new products and price drops
- ✅ **Price monitor mode** — re-run on a schedule and get alerted when prices fall

Works on: `amazon.fr` `amazon.com` `amazon.de` `amazon.co.uk` `amazon.it` `amazon.es` `amazon.ca` `amazon.co.jp`

---

### 🎯 Use cases

#### For e-commerce sellers
Monitor competitor prices daily. Get a Telegram alert the moment a rival drops their price — react before losing the Buy Box.

#### For deal hunters & resellers
Set a max price filter and get notified only when products fall below your target. Find arbitrage opportunities automatically.

#### For market researchers
Collect hundreds of products in a niche with ratings, review counts and badges. Export to CSV/JSON/Excel for analysis.

#### For price comparison tools
Feed the scraper output into your app or database. The structured JSON output integrates with any workflow (Zapier, Make, Google Sheets via API).

#### For dropshippers
Track supplier prices on Amazon and automate your margin calculations by combining with your selling platform's API.

---

### 📦 Output data — full field reference

| Field | Type | Description |
|---|---|---|
| `asin` | string | Amazon Standard Identification Number |
| `title` | string | Full product title |
| `price` | number | Current selling price |
| `originalPrice` | number | Price before discount (if on sale) |
| `discount` | number | Discount percentage (e.g. `18` = -18%) |
| `currency` | string | Currency symbol (`€`, `$`, `£`…) |
| `rating` | number | Average star rating (1.0 – 5.0) |
| `reviewsCount` | number | Total number of customer reviews |
| `badge` | string | `"Best Seller"`, `"Amazon's Choice"`, etc. |
| `imageUrl` | string | Main product image URL |
| `productUrl` | string | Direct link to the product page |
| `isSponsored` | boolean | `true` if the result is a sponsored ad |
| `keyword` | string | The search keyword that returned this product |
| `scrapedAt` | string | ISO timestamp of when the item was scraped |
| `bulletPoints` | string[] | Key product bullet points *(detail mode)* |
| `description` | string | Full product description *(detail mode)* |
| `seller` | string | Seller name *(detail mode)* |
| `technicalRows` | object | Tech specs table key/value pairs *(detail mode)* |
| `priceDropFrom` | number | Previous price *(price monitor mode)* |
| `priceDropPct` | number | Price drop percentage *(price monitor mode)* |

---

### 🔧 Input parameters

```json
{
  "searchKeywords": ["Nike Air Force 1", "Sony WH-1000XM5"],
  "maxItemsPerKeyword": 40,
  "country": "fr",
  "minPrice": 20,
  "maxPrice": 300,
  "minRating": 4.0,
  "scrapeProductDetails": false,
  "telegramBotToken": "YOUR_BOT_TOKEN",
  "telegramChatId": "-1001234567890",
  "telegramAlertOnNewOnly": true,
  "priceMonitorMode": true,
  "priceDropThresholdPct": 10
}
````

| Parameter | Type | Default | Description |
|---|---|---|---|
| `searchKeywords` | string\[] | — | Keywords to search (e.g. `"Nike Air Force 1"`) |
| `directUrls` | string\[] | — | Direct Amazon product page URLs |
| `maxItemsPerKeyword` | integer | `20` | Max products per keyword (1–100) |
| `country` | string | `fr` | Amazon domain: `fr`, `com`, `de`, `co.uk`, `it`, `es`, `ca`, `co.jp` |
| `minPrice` | number | — | Only return products above this price |
| `maxPrice` | number | — | Only return products below this price |
| `minRating` | number | — | Only return products with at least this rating |
| `scrapeProductDetails` | boolean | `false` | Visit each product page for full details |
| `telegramBotToken` | string | — | Bot token from [@BotFather](https://t.me/BotFather) |
| `telegramChatId` | string | — | Your channel or group chat ID |
| `telegramAlertOnNewOnly` | boolean | `true` | Alert only for new products (not re-scraped ones) |
| `priceMonitorMode` | boolean | `false` | Enable price drop detection across runs |
| `priceDropThresholdPct` | number | `5` | Minimum % drop to trigger an alert (1–99) |

***

### 📤 Example output

```json
{
  "asin": "B09V3KXJPB",
  "title": "Nike Air Force 1 '07 Men's Shoes, White/White, 42",
  "price": 89.99,
  "originalPrice": 109.99,
  "discount": 18,
  "currency": "€",
  "rating": 4.6,
  "reviewsCount": 3421,
  "badge": "Best Seller",
  "imageUrl": "https://m.media-amazon.com/images/I/71abc123.jpg",
  "productUrl": "https://www.amazon.fr/dp/B09V3KXJPB",
  "isSponsored": false,
  "keyword": "Nike Air Force 1",
  "scrapedAt": "2026-05-07T10:30:00.000Z"
}
```

***

### 📲 Telegram alerts — how it looks

When a new product or price drop is detected, your bot sends a message like this:

```
🔻 Baisse de prix  -18%

Nike Air Force 1 '07 Men's Shoes

💰 89.99€  (-18%)
~~109.99€~~
⭐ 4.6/5 (3421 avis)
🏷 Best Seller

🔗 Voir sur Amazon
🔍 Recherche : Nike Air Force 1
```

At the end of each run, a summary is sent:

```
📊 Résumé du scraping Amazon

🆕 Nouveaux produits : 34
🔻 Baisses de prix détectées : 7
📦 Total produits analysés : 120
🔍 Mots-clés : Nike Air Force 1, Sony WH-1000XM5

⏰ 07/05/2026 à 11:32:05
```

***

### ⏰ Setting up automatic price monitoring

1. Configure the scraper with your keywords and Telegram credentials
2. Enable **Price Monitor Mode** and set your threshold (e.g. 10%)
3. In Apify → **Schedules** → create a schedule: every 1 hour (or every 30 min for high-demand niches)
4. Sit back — you'll receive a Telegram alert the moment a price drops

The scraper remembers all previously seen prices using Apify's persistent Key-Value Store, so no data is lost between runs.

***

### 🛡️ Reliability & anti-blocking

- Uses **residential proxies** (Apify Proxy) — different IP on every request
- Playwright with **browser fingerprinting** enabled — appears as a real user
- Automatic **cookie consent** handling (GDPR banners)
- **Deduplication** built-in — the same product is never returned twice

***

### 💰 Pricing

| Plan | Price | Included |
|---|---|---|
| **Pay-per-result** | $0.50 / 1 000 items | Pay only for what you scrape |
| **Starter** | $19 / month | Up to 50 000 items/month |
| **Pro** | $49 / month | Up to 300 000 items/month + priority support |

> Residential proxy costs are separate and billed by Apify based on data transfer.

***

### ❓ FAQ

**Does it work on all Amazon country domains?**
Yes — `fr`, `com`, `de`, `co.uk`, `it`, `es`, `ca`, `co.jp` are all supported via the `country` input parameter.

**How fast is it?**
With default settings (3 concurrent browsers, residential proxies), expect ~200–400 products per minute on search results.

**Will it get blocked?**
The scraper uses residential proxies and browser fingerprinting to minimize blocking. Occasional CAPTCHAs may slow a run — residential proxies handle most cases automatically.

**How do I get my Telegram Chat ID?**
Add [@userinfobot](https://t.me/userinfobot) to your channel and send `/start`. It returns your chat ID instantly.

**Can I export the data?**
Yes — Apify automatically stores results in a Dataset. You can download as JSON, CSV, Excel, HTML, or connect via API/webhook to any external tool.

**Does it handle pagination?**
Yes — the scraper follows Amazon's "Next page" button automatically until `maxItemsPerKeyword` is reached.

***

### 🔗 Related actors

Looking for more e-commerce data tools? Check out:

- **Amazon Reviews Scraper** — extract customer reviews and ratings
- **Amazon Bestsellers Tracker** — monitor bestseller ranks by category
- **eBay Product Scraper** — cross-platform price comparison

***

*Built with [Crawlee](https://crawlee.dev) and [Apify SDK](https://sdk.apify.com). Maintained actively — open an issue for bug reports or feature requests.*

# Actor input Schema

## `searchKeywords` (type: `array`):

List of keywords to search on Amazon (e.g. 'Nike Air Force 1', 'iPhone 15 case').

## `directUrls` (type: `array`):

Optional: paste direct Amazon product page URLs to scrape specific items.

## `maxItemsPerKeyword` (type: `integer`):

Maximum number of products to scrape per keyword (max 100).

## `country` (type: `string`):

Which Amazon domain to scrape.

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

Only keep products above this price. Leave empty for no filter.

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

Only keep products below this price. Leave empty for no filter.

## `minRating` (type: `number`):

Only keep products with at least this average rating (e.g. 4.0).

## `scrapeProductDetails` (type: `boolean`):

If enabled, the scraper will visit each product page for bullet points, description and seller info. Slower but more complete.

## `proxyCountry` (type: `string`):

Country code for residential proxies (e.g. FR, US, DE). Leave empty to use auto.

## `telegramBotToken` (type: `string`):

Your Telegram bot token from @BotFather (e.g. 123456:ABC-DEF...). Leave empty to disable Telegram alerts.

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

Your Telegram channel or group chat ID (e.g. -1001234567890 for channels, or your personal chat ID).

## `telegramAlertOnNewOnly` (type: `boolean`):

If enabled, Telegram alerts are sent only for brand-new products (not seen in previous runs). Useful when running on a schedule.

## `priceMonitorMode` (type: `boolean`):

Enable price monitoring. The scraper will compare current prices with prices from the previous run and alert (via Telegram) when a price drops.

## `priceDropThresholdPct` (type: `number`):

Minimum price drop percentage to trigger a Telegram alert in monitor mode (e.g. 5 = alert when price drops by 5% or more).

## Actor input object example

```json
{
  "searchKeywords": [
    "Nike Air Force 1",
    "Sony WH-1000XM5"
  ],
  "directUrls": [
    "https://www.amazon.fr/dp/B0BDHX8Z63"
  ],
  "maxItemsPerKeyword": 20,
  "country": "fr",
  "scrapeProductDetails": false,
  "proxyCountry": "FR",
  "telegramAlertOnNewOnly": true,
  "priceMonitorMode": false,
  "priceDropThresholdPct": 5
}
```

# Actor output Schema

## `asin` (type: `string`):

Amazon Standard Identification Number (unique product ID).

## `title` (type: `string`):

Full product title as displayed on Amazon.

## `price` (type: `string`):

Product price (without currency symbol).

## `currency` (type: `string`):

Currency code for the price.

## `rating` (type: `string`):

Average customer rating (0–5).

## `reviewsCount` (type: `string`):

Total number of customer reviews.

## `badge` (type: `string`):

Product badge if present (e.g. Best Seller, Amazon Choice).

## `availability` (type: `string`):

Stock availability status.

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

Search keyword that returned this product.

## `productUrl` (type: `string`):

Full URL to the Amazon product page.

## `imageUrl` (type: `string`):

URL of the main product image.

## `scrapedAt` (type: `string`):

ISO 8601 timestamp of when the product was scraped.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dev-sinior/amazon-product-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("dev-sinior/amazon-product-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 '{}' |
apify call dev-sinior/amazon-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Product Scraper – Price, Reviews & More",
        "description": "Scrape Amazon search results and product pages. Extracts title, price, rating, reviews count, images, ASIN, badges and more. Supports all Amazon country domains.",
        "version": "1.0",
        "x-build-id": "FhKyNDudQPs2ZZh4O"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/dev-sinior~amazon-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-dev-sinior-amazon-product-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/dev-sinior~amazon-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-dev-sinior-amazon-product-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/dev-sinior~amazon-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-dev-sinior-amazon-product-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": {
                    "searchKeywords": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "List of keywords to search on Amazon (e.g. 'Nike Air Force 1', 'iPhone 15 case').",
                        "items": {
                            "type": "string"
                        }
                    },
                    "directUrls": {
                        "title": "Direct Product URLs",
                        "type": "array",
                        "description": "Optional: paste direct Amazon product page URLs to scrape specific items.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItemsPerKeyword": {
                        "title": "Max Items per Keyword",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of products to scrape per keyword (max 100).",
                        "default": 20
                    },
                    "country": {
                        "title": "Amazon Country",
                        "enum": [
                            "fr",
                            "com",
                            "de",
                            "co.uk",
                            "it",
                            "es",
                            "ca",
                            "co.jp"
                        ],
                        "type": "string",
                        "description": "Which Amazon domain to scrape.",
                        "default": "fr"
                    },
                    "minPrice": {
                        "title": "Minimum Price Filter (€/$)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only keep products above this price. Leave empty for no filter."
                    },
                    "maxPrice": {
                        "title": "Maximum Price Filter (€/$)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only keep products below this price. Leave empty for no filter."
                    },
                    "minRating": {
                        "title": "Minimum Rating Filter",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "number",
                        "description": "Only keep products with at least this average rating (e.g. 4.0)."
                    },
                    "scrapeProductDetails": {
                        "title": "Scrape Full Product Details",
                        "type": "boolean",
                        "description": "If enabled, the scraper will visit each product page for bullet points, description and seller info. Slower but more complete.",
                        "default": false
                    },
                    "proxyCountry": {
                        "title": "Proxy Country Code",
                        "type": "string",
                        "description": "Country code for residential proxies (e.g. FR, US, DE). Leave empty to use auto."
                    },
                    "telegramBotToken": {
                        "title": "Telegram Bot Token",
                        "type": "string",
                        "description": "Your Telegram bot token from @BotFather (e.g. 123456:ABC-DEF...). Leave empty to disable Telegram alerts."
                    },
                    "telegramChatId": {
                        "title": "Telegram Chat ID",
                        "type": "string",
                        "description": "Your Telegram channel or group chat ID (e.g. -1001234567890 for channels, or your personal chat ID)."
                    },
                    "telegramAlertOnNewOnly": {
                        "title": "Telegram: Alert on New Products Only",
                        "type": "boolean",
                        "description": "If enabled, Telegram alerts are sent only for brand-new products (not seen in previous runs). Useful when running on a schedule.",
                        "default": true
                    },
                    "priceMonitorMode": {
                        "title": "Price Monitor Mode",
                        "type": "boolean",
                        "description": "Enable price monitoring. The scraper will compare current prices with prices from the previous run and alert (via Telegram) when a price drops.",
                        "default": false
                    },
                    "priceDropThresholdPct": {
                        "title": "Price Drop Alert Threshold (%)",
                        "minimum": 1,
                        "maximum": 99,
                        "type": "number",
                        "description": "Minimum price drop percentage to trigger a Telegram alert in monitor mode (e.g. 5 = alert when price drops by 5% or more).",
                        "default": 5
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
