# Amazon Full Product Scraper (`devlory/amazon-full-product-scraper`) Actor

Scrape Amazon product pages across global marketplaces. Extract title, ASIN, brand, price, availability, ratings, images, bullets, product details, seller signals, variations, and price diagnostics with marketplace-aware proxy country selection.

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

## Pricing

from $3.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 Product Info Scraper do?

**Amazon Product Info Scraper** extracts structured product data from Amazon product detail pages, including title, ASIN, brand, price, availability, rating, review count, images, bullet points, product details, seller signals, variation data, and price diagnostics. Add one or many product URLs from [Amazon](https://www.amazon.com/) marketplaces such as `amazon.it`, `amazon.com`, `amazon.co.uk`, `amazon.fr`, `amazon.de`, `amazon.es`, `amazon.co.jp`, and more, then run the Actor to receive clean JSON records in an Apify dataset.

This Actor is designed for practical product research workflows on the Apify platform: run it from the Console, call it through the API, schedule recurring checks, connect the dataset to integrations, monitor runs, and use proxy rotation for marketplace-aware scraping. It uses HTTP requests instead of a browser whenever possible, which keeps runs lightweight and fast while still collecting deep product-page data.

### Why use Amazon Product Info Scraper?

Amazon product pages can vary by marketplace, language, location, availability, offer state, and product variation. This scraper is built to handle those differences more transparently than a simple one-selector scraper.

Use it for:

- **Price and availability monitoring** across Amazon marketplaces.
- **Product catalog research** for titles, brands, ASINs, parent ASINs, images, descriptions, and feature bullets.
- **Marketplace comparison** by running the same or related ASIN URLs from different Amazon domains.
- **Seller and buy box checks** where seller information is visible in the rendered product page.
- **Variation discovery** for products with color, material, size, or style options.
- **Data pipelines** that need repeatable JSON output through Apify API, webhooks, Zapier, Make, Google Sheets, or cloud storage integrations.

The Actor also includes price diagnostics such as `price_candidates`, `price_missing_reason`, and `requested_proxy_country`, which are useful when Amazon renders a page differently depending on country, proxy, availability, or offer status.

### How to use Amazon Product Info Scraper

1. Open the Actor in Apify Console.
2. In the **Input** tab, add one or more Amazon product URLs using the URL list editor.
3. Keep **Use Apify residential proxy** enabled for best results on Amazon.
4. Leave **Proxy country override** empty to auto-select the country from the Amazon domain, for example `IT` for `amazon.it`, `US` for `amazon.com`, and `GB` for `amazon.co.uk`.
5. Adjust **Max retries** if Amazon occasionally returns unavailable, blocked, or incomplete pages.
6. Adjust **Max concurrency** depending on how many product pages you scrape in one run.
7. Start the Actor.
8. Download results from the dataset as JSON, CSV, Excel, HTML, or other Apify-supported formats.

For example, to scrape an Italian product page, add:

```json
[
  {
    "url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/"
  }
]
````

You do not need to type JSON manually in the Apify Console. The input uses Apify's URL list editor, so you can add product links with a user-friendly control.

### Input

Configure the Actor from the **Input** tab.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `start_urls` | Array of URLs | Yes | Amazon product detail page URLs to scrape. The Console shows this as a user-friendly URL list. |
| `use_proxy` | Boolean | No | Enables Apify Residential Proxy. Recommended for Amazon product pages. |
| `proxy_country` | String | No | Optional ISO country code override, such as `IT`, `US`, `GB`, `FR`, or `DE`. Leave empty for automatic marketplace-based selection. |
| `max_retries` | Integer | No | Number of retry attempts per product URL. Useful when Amazon returns transient blocked or incomplete pages. |
| `max_concurrency` | Integer | No | Number of product pages processed in parallel. Lower values are gentler and often more stable. |

Example input:

```json
{
  "start_urls": [
    {
      "url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/"
    },
    {
      "url": "https://www.amazon.com/dp/B08N5WRWNW/"
    }
  ],
  "use_proxy": true,
  "proxy_country": "",
  "max_retries": 5,
  "max_concurrency": 5
}
```

#### Marketplace-aware proxy selection

When `proxy_country` is empty, the Actor chooses a proxy country from the Amazon marketplace domain:

| Amazon marketplace | Proxy country | Accept-Language |
| --- | --- | --- |
| `amazon.it` | `IT` | Italian |
| `amazon.com` | `US` | US English |
| `amazon.co.uk` | `GB` | UK English |
| `amazon.fr` | `FR` | French |
| `amazon.de` | `DE` | German |
| `amazon.es` | `ES` | Spanish |
| `amazon.co.jp` | `JP` | Japanese |
| `amazon.com.au` | `AU` | Australian English |

This matters because Amazon may show different prices, availability, and buy box data depending on visitor location. If a product appears available locally but unavailable in Apify, set `proxy_country` to the target marketplace country and rerun.

### Output

The Actor stores one JSON object per product page in the default Apify dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Simplified output example:

```json
{
  "scraped_at": "2026-06-17T10:30:00.000000+00:00",
  "source_url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/",
  "final_url": "https://www.amazon.it/ANYCUBIC-Filamento-Resistenza-Precisione-Dimensionale/dp/B0DRV1QQC3/",
  "asin": "B0DRV1QQC3",
  "parent_asin": "B0FVXTXSWM",
  "marketplace": "amazon.it",
  "requested_proxy_country": "IT",
  "blocked_or_captcha_detected": false,
  "title": "ANYCUBIC ABS Filamento 1,75 mm...",
  "brand": "Visita lo Store di ANYCUBIC",
  "price": "25,99 EUR",
  "price_candidates": [
    {
      "source": "corePriceDisplay_desktop_feature_div",
      "price": "25,99 EUR",
      "primary": true
    },
    {
      "source": "sns-base-price",
      "price": "23,39 EUR",
      "primary": false
    }
  ],
  "availability": "Disponibilita immediata",
  "rating": "4,5 su 5 stelle",
  "ratings_count": "(176)",
  "feature_bullets": [
    "COS'E ANYCBUIC ABS?: Il filamento ABS Anycubic..."
  ],
  "images": {
    "landing": {
      "src": "https://m.media-amazon.com/images/I/example.jpg"
    }
  }
}
```

If Amazon renders a product page without an offer, `price` may be empty and `price_missing_reason` will explain why, for example:

```json
{
  "price": null,
  "price_missing_reason": "offer_unavailable_on_rendered_page",
  "availability": "Currently unavailable."
}
```

### Data table

| Field | Description |
| --- | --- |
| `scraped_at` | UTC timestamp when the page was scraped. |
| `source_url` | Original URL from the Actor input. |
| `final_url` | Final URL after redirects. |
| `asin` | Product ASIN detected from URL or page content. |
| `parent_asin` | Parent ASIN when variation data is available. |
| `marketplace` | Amazon domain, such as `amazon.it` or `amazon.com`. |
| `requested_proxy_country` | Proxy country selected or requested for the page. |
| `blocked_or_captcha_detected` | Whether the page appears blocked or CAPTCHA-protected. |
| `title` | Product title. |
| `brand` | Brand or store label shown near the title. |
| `brand_url` | Brand/store URL when available. |
| `price` | Best primary product price found on the page. |
| `price_candidates` | All detected price candidates with source and primary/secondary classification. |
| `price_missing_reason` | Diagnostic reason when no primary price was found. |
| `list_price` | List price or basis price block when available. |
| `availability` | Availability text shown by Amazon. |
| `rating` | Product rating text. |
| `ratings_count` | Number of ratings or reviews shown on the page. |
| `breadcrumbs` | Category breadcrumb trail. |
| `feature_bullets` | Main bullet points from the product page. |
| `product_description` | Product description when available. |
| `important_information` | Important information section when available. |
| `product_details` | Technical details and product information rows. |
| `seller` | Seller label when visible. |
| `delivery_message` | Delivery promise or delivery message when visible. |
| `images` | Landing image, high-resolution image links, and detected product images. |
| `variations` | Embedded variation data and optional AJAX variation slots. |
| `meta` | Page meta tags. |
| `links` | Relevant page links and link IDs. |
| `buybox_inputs` | Buy box form inputs, useful for debugging offer availability. |
| `captured_requests` | Request metadata for the product page and variation endpoint. |

### Pricing / Cost estimation

How much does it cost to scrape Amazon product pages?

Costs depend on the number of URLs, retries, concurrency, page size, proxy usage, and whether Amazon returns pages quickly or requires retries. This Actor uses HTTP requests instead of browser automation, so it is generally more compute-efficient than Playwright or Puppeteer-based scrapers.

Typical cost drivers:

- **More URLs** increase runtime and dataset size.
- **Residential proxies** may add proxy usage cost but are recommended for Amazon stability.
- **Higher retries** improve success rate but increase runtime.
- **Higher concurrency** can finish faster, but aggressive concurrency may lead to more unstable Amazon responses.

For small tests, start with 1-5 URLs, `max_retries` set to `5`, and `max_concurrency` set to `1` or `2`. Once results look stable, increase concurrency carefully.

Apify's free tier may be enough for small tests, but larger recurring monitoring jobs usually require paid platform usage, especially when residential proxies are enabled.

### Tips or Advanced options

Use direct product URLs whenever possible. URLs containing `/dp/ASIN` or `/gp/product/ASIN` are best.

Keep `use_proxy` enabled for Amazon. Without a proxy, Amazon may return pages that differ from the target marketplace location or may block the request more often.

Leave `proxy_country` empty for mixed-marketplace runs. The Actor will infer the country from each URL. For example, a run containing `amazon.it` and `amazon.co.uk` URLs can use `IT` and `GB` automatically.

Set `proxy_country` manually when you want a specific viewpoint. For example, use `IT` when checking how an `amazon.it` product appears to Italian visitors.

Check `price_candidates` when prices look wrong. Amazon pages often include subscription prices, bundle totals, "frequently bought together" totals, list prices, and secondary offer prices. The Actor labels primary and secondary candidates to make this easier to debug.

Check `price_missing_reason` when `price` is empty. If the reason is `offer_unavailable_on_rendered_page`, the scraper did not miss the selector - Amazon rendered the product as unavailable for that request.

Lower `max_concurrency` if results become inconsistent. Amazon can vary responses under load, and gentler crawling is often more reliable.

Use scheduled runs for monitoring. Apify schedules can run the Actor hourly, daily, or weekly and send results to integrations or webhooks.

### FAQ, disclaimers, and support

#### Is it legal to scrape Amazon?

Scraping publicly available web pages can be legal in many contexts, but you are responsible for how you use this Actor. Always review Amazon's Terms of Service, applicable laws, privacy rules, and any contractual limits that apply to your use case. Do not scrape personal or sensitive data unless you have a lawful basis and explicit permission where required.

#### Why is the price missing for some products?

The most common reason is that Amazon rendered the page without an active offer. In that case, the dataset may show `availability` as unavailable and `price_missing_reason` as `offer_unavailable_on_rendered_page`. This can depend on country, proxy location, product variation, stock status, shipping eligibility, or Amazon's own availability logic.

#### Why does Apify show a different price than my browser?

Amazon personalizes pages by marketplace, country, language, cookies, delivery location, Prime state, and availability. Use the correct marketplace URL and proxy country. Check `requested_proxy_country`, `availability`, and `price_candidates` to understand what Amazon returned to the Actor.

#### Can this scrape every Amazon country?

The Actor supports common Amazon marketplaces and includes marketplace-aware proxy and language settings for many domains. Unsupported domains can still be scraped, but automatic proxy country selection may fall back to a default language and no country code.

#### Does it scrape reviews?

This Actor focuses on product detail pages. It extracts rating text and rating count when visible, but it does not crawl review pages or individual review content.

#### Does it use a browser?

No. It uses HTTP requests for speed and lower compute usage. This is efficient, but some JavaScript-only page states may not be available. The Actor compensates by parsing embedded Amazon state data where possible.

#### Where can I report problems or request changes?

Use the Actor's **Issues** tab on Apify to report bugs, missing fields, marketplace-specific problems, or feature requests. Custom solutions are also possible if you need additional fields, review crawling, offer-list crawling, or a dedicated monitoring workflow.

# Actor input Schema

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

Amazon product URLs to scrape.

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

Use Apify Residential Proxy for Amazon requests.

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

Optional ISO country code for the Apify Residential Proxy. Leave empty to auto-select from the Amazon marketplace domain, e.g. IT for amazon.it, US for amazon.com, GB for amazon.co.uk.

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

Maximum retries per product URL.

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

How many product pages to scrape in parallel.

## Actor input object example

```json
{
  "start_urls": [
    {
      "url": "https://www.amazon.it/Ender-V3-SE-livellamento-automatico/dp/B07D18L9K6/?th=1"
    }
  ],
  "use_proxy": true,
  "proxy_country": "",
  "max_retries": 5,
  "max_concurrency": 5
}
```

# Actor output Schema

## `results` (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/Ender-V3-SE-livellamento-automatico/dp/B07D18L9K6/?th=1"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devlory/amazon-full-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 = { "start_urls": [{ "url": "https://www.amazon.it/Ender-V3-SE-livellamento-automatico/dp/B07D18L9K6/?th=1" }] }

# Run the Actor and wait for it to finish
run = client.actor("devlory/amazon-full-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 '{
  "start_urls": [
    {
      "url": "https://www.amazon.it/Ender-V3-SE-livellamento-automatico/dp/B07D18L9K6/?th=1"
    }
  ]
}' |
apify call devlory/amazon-full-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Full Product Scraper",
        "description": "Scrape Amazon product pages across global marketplaces. Extract title, ASIN, brand, price, availability, ratings, images, bullets, product details, seller signals, variations, and price diagnostics with marketplace-aware proxy country selection.",
        "version": "0.0",
        "x-build-id": "OgUaJxnVQ7AEu3pcB"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devlory~amazon-full-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devlory-amazon-full-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/devlory~amazon-full-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devlory-amazon-full-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/devlory~amazon-full-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devlory-amazon-full-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",
                "required": [
                    "start_urls"
                ],
                "properties": {
                    "start_urls": {
                        "title": "Product URLs",
                        "type": "array",
                        "description": "Amazon product URLs to scrape.",
                        "default": [
                            {
                                "url": "https://www.amazon.it/Ender-V3-SE-livellamento-automatico/dp/B07D18L9K6/?th=1"
                            }
                        ],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "use_proxy": {
                        "title": "Use Apify residential proxy",
                        "type": "boolean",
                        "description": "Use Apify Residential Proxy for Amazon requests.",
                        "default": true
                    },
                    "proxy_country": {
                        "title": "Proxy country override",
                        "type": "string",
                        "description": "Optional ISO country code for the Apify Residential Proxy. Leave empty to auto-select from the Amazon marketplace domain, e.g. IT for amazon.it, US for amazon.com, GB for amazon.co.uk.",
                        "default": ""
                    },
                    "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": 20,
                        "type": "integer",
                        "description": "How many product pages to scrape in parallel.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
