# Amazon Scraper API — Products, Reviews, Sellers, Best Sellers (`pro100chok/amazon-scraper`) Actor

Extract Amazon product data, customer reviews, seller profiles and buy-box offers from 19 marketplaces (US, UK, DE,
FR, IT, ES, JP, IN, AU…). Full PDP, BSR, stars histogram, variants, A+, seller VAT + 4-period feedback. No Amazon API
needed, no captcha. Pay-per-event from $0.001/record.

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

## Pricing

from $1.00 / 1,000 search / category results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## Amazon Scraper — Products, Reviews, Sellers, Search, Categories & Offers

Scrape Amazon products, search results, best-seller categories, customer reviews, seller profiles, and buy-box offers — all from one Actor. Six scrape modes, each with its own dedicated input section. Works across **19 Amazon marketplaces** (US, UK, DE, FR, IT, ES, NL, SE, PL, CA, MX, BR, JP, IN, AU, SG, AE, SA, TR) without sign-in, captcha solvers, or the official Amazon API.

### Pricing (Pay-Per-Event)

You pay only for the records you actually receive — no platform usage fees, no monthly minimum, no Apify Compute Units to convert.

| Event | Price | What it covers |
|-------|-------|----------------|
| **Product detail** | **$0.003** / record | Full PDP record (title, ASIN, price, list price, currency, stars + breakdown, reviews count, breadcrumbs, features, A+ description, hi-res images, videos, variants, BSR, seller, delivery, return policy, tech-spec table, embedded review sample) |
| **Search / Category result** | **$0.001** / record | One product row from a search keyword or category / Best-Sellers listing |
| **Review** | **$0.0015** / record | One customer review (rating, title, body, date, country, verified flag, helpful, variant, photos, videos) |
| **Seller profile** | **$0.005** / record | One Amazon seller profile (business identity + Lifetime / 12-mo / 90-d / 30-d feedback histograms) |
| **Offer** | **$0.004** / record | One buy-box / AOD offer (price, condition, seller, Prime, FBA, delivery) |

**How we compare** — popular alternatives charge ~$0.003 per product (junglee/amazon-crawler), $0.003 per review (junglee/amazon-reviews-scraper), or $0.015 per product (nexgendata). Our product price matches the market leader; reviews sit on the median (axesso $0.00075 ↔ junglee $0.003). Sellers and offers are uniquely priced because no other Apify actor delivers the **business-identity + 4-window feedback histogram** or **buy-box / AOD offer parsing** that this one does.

Runs have a default `$10` total-charge cap (configurable). The Actor honors Apify's per-event limit and stops cleanly when the cap is reached. Empty-result rows (e.g. when Amazon's sign-in wall blocks a review request) are pushed to the dataset as a sentinel **but are not charged**.

### Key Features

- **Six scrape modes** — Product, Search, Category, Reviews, Seller, Offers — each with its own dedicated input section in the UI; pick a mode and only that section is used
- **Full product details** — title, brand, ASIN, breadcrumbs, A+ description, feature bullets, hi-res images and videos, current + list price + savings %, coupon, currency, in-stock, variants (`variantAsins` + dimensions), best-seller ranks (BSR), seller (buy-box), delivery, return policy, embedded review sample
- **Search results extractor** — paginated (`&page=N`) with all 5 Amazon sort modes (relevance, price asc/desc, avg. rating, newest); captures Sponsored, Prime, Best-Seller, Amazon's Choice, Limited-Time-Deal, badge text, coupon, delivery line, page + position
- **Category / Best-Sellers crawler** — handles both `/s` listing pages and `/Best-Sellers/zgbs/...` rank pages (zg-grid layout); deduplication by ASIN; rank field for best-seller positions
- **Customer reviews extractor** — one review per dataset row, each linked back to its product (`asin`, `productTitle`); paginated with star-rating / sort / media / verified filters; automatic fallback to PDP-embedded reviews when `/product-reviews/` is sign-in walled
- **Seller profile scraper** — name, business name + address, VAT number, trade-register number, phone, registration country, overall stars, total feedback count, **Lifetime / 12-month / 90-day / 30-day positive %** with full 5-star histograms (counts + percentages per period)
- **Buy-box offers extractor** — price, list price, currency, condition, seller (name + ID + URL), Prime, Fulfilled-by-Amazon flag, delivery, shipping price; AOD-ajax first, PDP buy-box fallback
- **19 marketplaces** — every Amazon TLD with proper currency, language, and regional best-sellers detection
- **Auto-retry with backoff** — exactly **5 retries with a 2-second pause** between attempts on every proxy / transport error, then transparent fallback from custom proxy → Apify Residential
- **bm-verify bypass** — Bot-Manager interstitial is detected and auto-followed; no captcha solver, no headless browser
- **Chrome TLS fingerprint** — `curl_cffi` with `impersonate="chrome"` (real Chrome JA3/JA4 fingerprint); no Selenium, no Playwright
- **Parallel processing** — up to 20 inputs in parallel via async semaphore (default 4)
- **Charge-limit aware** — honors Apify's `event_charge_limit_reached` flag and stops cleanly when the run budget is reached

### What Data You Get

#### Product detail (mode: `product`)

| Field | Description |
|-------|-------------|
| `asin` | Amazon Standard Identification Number |
| `title` | Full product title |
| `brand` | Brand name (parsed from byline or detail bullets) |
| `url` | Canonical product URL |
| `price`, `priceText` | Current price (numeric + display string) |
| `listPrice`, `listPriceText` | Original / list price before discount |
| `currency` | Currency symbol or code (USD, GBP, EUR, JPY, …) |
| `discountPercent` | Savings percentage (`-30%`) |
| `coupon` | Coupon badge text if any |
| `stars` | Average rating, 0–5 |
| `reviewsCount` | Total number of customer ratings |
| `answeredQuestions` | Q&A count from `#askATFLink` |
| `starsBreakdown` | Histogram: `{ "5 star": "87%", "4 star": "8%", … }` |
| `inStock`, `inStockText` | Availability flag + raw text ("In Stock", "Currently unavailable") |
| `breadCrumbs` | Category path (`["Electronics", "Headphones", …]`) |
| `thumbnailImage`, `images` | First image + every hi-res image URL |
| `videoUrls` | Product videos (MP4 / HLS) |
| `features` | Feature bullets list |
| `description` | Long description + A+ content text |
| `variantAsins` | Sibling ASINs for color / size / style variants (self-ASIN filtered out) |
| `variantDimensions`, `variationValues` | Variant dimensions and their possible values |
| `bestsellerRanks` | Array of `{rank, category}` from Best Sellers Rank line |
| `sellerName`, `sellerId`, `shipper` | Buy-box winner + shipper info |
| `buyBoxSellerUrl` | Direct URL to the buy-box seller profile |
| `delivery`, `fastestDelivery`, `deliveryLocation` | Delivery dates + ZIP-detected location |
| `shippingPrice` | Shipping cost (Free / numeric / text) |
| `returnPolicy` | Return-window text |
| `productDetails` | Tech-spec table as a flat dict (Dimensions, Weight, Manufacturer, ASIN, Model #, …) |
| `embeddedReviews` | Sample of 8-13 reviews from the PDP (rating, title, body, date, verified, helpful, variant, images) |
| `marketplace` | Amazon domain (`com`, `co.uk`, …) |

#### Search / Category result (modes: `search`, `category`)

| Field | Description |
|-------|-------------|
| `asin` | Product identifier |
| `title` | Product title |
| `url` | Direct link to the product page |
| `price`, `listPrice` | Numeric price + list price |
| `currency` | Currency symbol or code |
| `stars` | Average rating |
| `reviewsCount` | Number of ratings |
| `thumbnailImage` | Search-result image |
| `isSponsored` | Sponsored / ad placement flag |
| `isPrime` | Prime delivery flag |
| `isBestSeller` | Best-Seller badge |
| `isAmazonsChoice` | Amazon's Choice badge |
| `isLimitedTimeDeal` | Limited-Time Deal flag |
| `couponText` | Coupon text if any |
| `badge` | Generic badge (e.g. "Overall Pick") |
| `deliveryText` | Delivery promise line |
| `page`, `position` | Pagination page + position within all results |
| `rank` | Best-Seller rank (category mode only) |
| `query` | The keyword / category URL you passed in |
| `marketplace` | Amazon domain |

#### Review (mode: `reviews`)

**One review = one dataset record.** Each record is self-describing: review content + product context.

| Field | Description |
|-------|-------------|
| `reviewId` | Review identifier (e.g. `RH7PSVAHSV6QO`) |
| `asin`, `productTitle` | Which product this review belongs to |
| `reviewerName` | Reviewer display name |
| `reviewerProfileUrl` | Reviewer profile URL |
| `rating` | Star rating (1-5, may be decimal) |
| `reviewTitle` | Review headline |
| `reviewBody` | Full review text |
| `date` | Date string (parsed from "Reviewed in … on …") |
| `location`, `country` | Reviewer country (parsed from date line) |
| `isVerifiedPurchase` | Verified purchase flag |
| `isVine` | Amazon Vine reviewer flag |
| `helpfulVotes` | Helpful-vote count |
| `variant` | Variant purchased (color, size, …) |
| `reviewImages`, `reviewVideos` | Attached photos / videos |
| `reviewUrl` | Direct review URL |
| `marketplace` | Amazon domain |
| `query` | The product URL / ASIN you passed in |

#### Seller profile (mode: `seller`)

| Field | Description |
|-------|-------------|
| `sellerId` | Amazon seller ID (e.g. `ALAQLAKJ574UN`) |
| `sellerName` | Display name |
| `sellerUrl` | Profile URL on Amazon |
| `businessName` | Legal business name |
| `businessAddress`, `address` | Business address |
| `vatNumber` | VAT registration number (EU sellers) |
| `tradeRegisterNumber` | Trade register number |
| `phone` | Customer service phone |
| `customerServiceAddress` | Customer service address |
| `countryRegistration`, `countryEstablishment` | Country of registration / establishment |
| `ratingStars` | Overall star rating (out of 5) |
| `feedbackCount` | Total feedback count |
| `lifetimePositive` | % positive — lifetime |
| `twelveMonthPositive` | % positive — last 12 months |
| `ninetyDayPositive` | % positive — last 90 days |
| `thirtyDayPositive` | % positive — last 30 days |
| `feedbackBreakdown` | Per-period breakdown: `{ lifetime: { ratings, positivePercent, neutralPercent, negativePercent, fiveStar..oneStar }, twelveMonths, ninetyDays, thirtyDays }` |
| `logoUrl`, `about` | Logo and storefront "About" text |
| `marketplace` | Amazon domain |

#### Offer (mode: `offers`)

| Field | Description |
|-------|-------------|
| `asin`, `productTitle` | Product the offer is for |
| `offerId` | Offer block ID (AOD only) |
| `position` | Offer position (1 = buy-box winner) |
| `buyBoxWinner` | True for the buy-box offer |
| `price`, `priceText` | Numeric + display price |
| `listPrice` | List price if shown |
| `currency` | Currency symbol or code |
| `condition` | New / Used - Like New / Refurbished / Collectible … |
| `conditionComments` | Seller-supplied condition comment (used items) |
| `sellerName`, `sellerId`, `sellerUrl` | Offer seller |
| `sellerRatingStars`, `sellerRatingCount` | Seller's overall star rating + feedback count |
| `isPrime` | Prime-eligible flag |
| `isFulfilledByAmazon` | FBA flag |
| `deliveryText`, `shippingPrice` | Delivery promise + shipping cost |
| `marketplace` | Amazon domain |

### Use Cases

- **Product research** — find trending products, compare prices across listings, and track Best-Seller rankings on Amazon
- **Price tracking & monitoring** — schedule the Actor to capture price, list price, coupons, and stock state for any ASIN
- **Review analysis** — collect customer reviews for sentiment analysis, product-quality monitoring, and brand reputation tracking
- **Seller intelligence** — pull every 3rd-party seller's business identity, VAT, address, and time-windowed feedback ratings for due diligence and competitor research
- **Buy-box monitoring** — track which seller currently wins the buy box for a given ASIN, and at what price
- **Category & Best-Sellers tracking** — capture full top-100 lists from any Best-Sellers, New-Releases, or Movers-&-Shakers page
- **Market & SEO research** — keyword-rank monitoring, share-of-shelf, share-of-voice, and sponsored-vs-organic analysis
- **E-commerce reselling / dropshipping** — identify high-demand, well-reviewed products with consistent sales for sourcing decisions
- **Brand protection** — scan for unauthorized 3P sellers on your ASINs and track their identity & history

### How It Works

1. **Choose a Scrape Type** in the UI — `Product`, `Search`, `Category`, `Reviews`, `Seller`, or `Offers`
2. **Fill the matching section** below — each type has its own dedicated input field (`productUrls`, `searchKeywords`, `categoryUrls`, `reviewProductUrls`, `sellerInputs`, `offerAsins`). Other sections are ignored.
3. **Actor fetches data** — up to 20 inputs in parallel (default 4). Each input:
   - Routes through Apify Residential US (Amazon flags datacenter IPs hard)
   - Sends Chrome-impersonated TLS requests via `curl_cffi`
   - Auto-follows Bot-Manager `bm-verify` interstitials
   - Retries 5× with a 2-second pause on every proxy / transport error
4. **Download results** — structured JSON in the Apify dataset, exportable as JSON, CSV, Excel, XML, or HTML table. Five per-mode views: **Products**, **Search / Category**, **Reviews**, **Sellers**, **Offers**.

### Input Parameters

The UI is organised into collapsible sections. Pick a **Scrape Type** at the top, then fill in the matching section below — inputs from other sections are ignored.

| Scrape Type | Field Name | Input Format | Example |
|-------------|-----------|--------------|---------|
| Product | `productUrls` | Product URL or bare ASIN | `https://www.amazon.com/dp/B07XJ8C8F5` or `B07XJ8C8F5` |
| Search | `searchKeywords` | Keyword | `wireless headphones` |
| Category | `categoryUrls` | Category / Best-Sellers URL | `https://www.amazon.com/Best-Sellers/zgbs/electronics` |
| Reviews | `reviewProductUrls` | Product URL or bare ASIN | `B0BDHWDR12` |
| Seller | `sellerInputs` | Seller ID or seller URL | `A2L77EE7U53NWQ` |
| Offers | `offerAsins` | Product URL or bare ASIN | `B07XJ8C8F5` |

Bare ASINs and seller IDs use the marketplace selected in the **Advanced** section. Full URLs override.

#### Common fields

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `scrapeType` | String | `product` | One of: `product`, `search`, `category`, `reviews`, `seller`, `offers` |
| `marketplace` | String | `com` | Amazon TLD: `com`, `co.uk`, `de`, `fr`, `it`, `es`, `nl`, `se`, `pl`, `ca`, `com.mx`, `com.br`, `co.jp`, `in`, `com.au`, `sg`, `ae`, `sa`, `com.tr` |
| `maxItemsPerInput` | Integer | `100` | Cap per keyword / category URL (`0` = unlimited; Amazon caps search at ~20 pages × 24) |
| `maxSearchPages` | Integer | `5` | Max search pages per keyword (Amazon caps at 20) |
| `searchSort` | String | `relevance` | Search sort: `relevance`, `price-asc-rank`, `price-desc-rank`, `review-rank`, `date-desc-rank` |
| `maxReviewsPerProduct` | Integer | `100` | Max reviews per product (`0` = all) |
| `reviewsSort` | String | `helpful` | Reviews sort: `helpful`, `recent` |
| `reviewsFilterByStar` | String | `all_stars` | Star filter: `all_stars`, `five_star`…`one_star`, `positive`, `critical` |
| `reviewsFilterByMedia` | String | `all_contents` | Media filter: `all_contents`, `media_reviews_only` |
| `reviewsFilterByVerified` | Boolean | `false` | Restrict to verified-purchase reviews only |
| `offerCondition` | String | `all` | Offer condition: `all`, `new`, `used`, `refurbished`, `collectible` |
| `maxConcurrency` | Integer | `4` | Parallel inputs (1-20) |

#### Example input

```json
{
    "scrapeType": "product",
    "productUrls": [
        "https://www.amazon.com/dp/B07XJ8C8F5",
        "B0BDHWDR12"
    ],
    "marketplace": "com",
    "maxConcurrency": 4
}
````

```json
{
    "scrapeType": "search",
    "searchKeywords": ["wireless headphones", "mechanical keyboard"],
    "searchSort": "review-rank",
    "maxSearchPages": 3,
    "maxItemsPerInput": 50
}
```

```json
{
    "scrapeType": "reviews",
    "reviewProductUrls": ["B0BDHWDR12"],
    "reviewsSort": "helpful",
    "reviewsFilterByStar": "five_star",
    "reviewsFilterByVerified": true,
    "maxReviewsPerProduct": 100
}
```

```json
{
    "scrapeType": "seller",
    "sellerInputs": ["A2L77EE7U53NWQ", "ALAQLAKJ574UN"],
    "marketplace": "com"
}
```

### Output Example

#### Product detail

```json
{
    "type": "product",
    "asin": "B0BDHWDR12",
    "title": "Apple AirPods Pro (2nd Gen) Wireless Earbuds, Up to 2X More Active Noise Cancelling…",
    "brand": "Apple",
    "url": "https://www.amazon.com/dp/B0BDHWDR12",
    "price": 258.54,
    "priceText": "$258.54",
    "listPrice": 299.0,
    "currency": "$",
    "discountPercent": "-14%",
    "stars": 4.7,
    "reviewsCount": 57949,
    "starsBreakdown": {
        "5 star": "87%", "4 star": "8%", "3 star": "2%", "2 star": "0%", "1 star": "3%"
    },
    "inStock": true,
    "inStockText": "In Stock",
    "features": [
        "RICHER AUDIO EXPERIENCE — The Apple-designed H2 chip pushes advanced audio…",
        "ADAPTIVE TRANSPARENCY — Sounds you don't want to hear are gently reduced…"
    ],
    "images": ["https://m.media-amazon.com/images/I/61SUj2aKoEL._AC_SL1500_.jpg", "…"],
    "sellerName": "6ave",
    "sellerId": "ALAQLAKJ574UN",
    "shipper": "6ave",
    "delivery": "FREE delivery Tomorrow, May 13",
    "productDetails": {
        "Product Dimensions": "0.85 x 2.39 x 1.78 inches",
        "Item Weight": "0.176 ounces",
        "Manufacturer": "Apple",
        "ASIN": "B0BDHWDR12",
        "Item model number": "MQD83AM/A"
    },
    "marketplace": "com",
    "query": "https://www.amazon.com/dp/B0BDHWDR12"
}
```

#### Search result (one row per product)

```json
{
    "type": "search_result",
    "asin": "B0CTBCDD6D",
    "title": "JBL Tune 720BT - Wireless Over-Ear Headphones with JBL Pure Bass Sound…",
    "url": "https://www.amazon.com/JBL-TUNE-720BT-Lightweight-comfortable/dp/B0CTBCDD6D",
    "price": 59.95,
    "listPrice": 89.95,
    "currency": "$",
    "stars": 4.6,
    "reviewsCount": 133,
    "isSponsored": false,
    "isPrime": true,
    "isBestSeller": false,
    "isAmazonsChoice": false,
    "couponText": "Save 10%",
    "badge": "Overall Pick",
    "deliveryText": "FREE delivery Sun, May 17",
    "page": 1,
    "position": 2,
    "query": "wireless headphones",
    "marketplace": "com"
}
```

#### Seller profile

```json
{
    "type": "seller",
    "sellerId": "ALAQLAKJ574UN",
    "sellerName": "6ave",
    "sellerUrl": "https://www.amazon.com/sp?seller=ALAQLAKJ574UN",
    "businessName": "6TH AVENUE EXPRESS LLC",
    "businessAddress": "50 Atrium Drive, SOMERSET, NJ, 08873, US",
    "ratingStars": 5.0,
    "feedbackCount": 1468,
    "lifetimePositive": "97%",
    "twelveMonthPositive": "97%",
    "ninetyDayPositive": "92%",
    "thirtyDayPositive": "85%",
    "feedbackBreakdown": {
        "lifetime": {
            "ratings": 115368,
            "positivePercent": 97, "neutralPercent": 1, "negativePercent": 2,
            "fiveStar": 88, "fourStar": 9, "threeStar": 1, "twoStar": 1, "oneStar": 1
        },
        "twelveMonths": { "ratings": 1468, "positivePercent": 97, "fiveStar": 90, "fourStar": 7 },
        "ninetyDays": { "ratings": 298, "positivePercent": 92 },
        "thirtyDays": { "ratings": 97, "positivePercent": 85 }
    },
    "marketplace": "com"
}
```

#### Offer

```json
{
    "type": "offer",
    "asin": "B0BDHWDR12",
    "position": 1,
    "buyBoxWinner": true,
    "price": 258.54,
    "currency": "$",
    "condition": "New",
    "sellerName": "6ave",
    "sellerId": "ALAQLAKJ574UN",
    "sellerUrl": "https://www.amazon.com/sp?seller=ALAQLAKJ574UN",
    "isPrime": true,
    "isFulfilledByAmazon": false,
    "deliveryText": "FREE delivery Tomorrow, May 13",
    "marketplace": "com"
}
```

### Proxy

**Apify Residential US is used automatically.** Amazon flags datacenter and non-US traffic aggressively; the Actor handles the entire proxy setup with no user input. Each request gets a fresh residential US IP, and the **5-retry × 2-second** loop transparently rotates IPs on every transport error.

You don't need to configure anything. The proxy picker has been intentionally removed from the input UI.

### Limitations

- **Reviews sign-in wall** — Amazon now requires sign-in on `/product-reviews/` for most ASINs. The Actor falls back to the **PDP-embedded reviews block** automatically (8-13 reviews per product) when the wall blocks access, and emits a clearly-flagged stub row if neither surface returns data
- **Offers — buy-box only on many ASINs** — Amazon migrated the All-Offers-Display (AOD) widget to a JS-only modal; the public `/gp/offer-listing/{ASIN}` URL now redirects to the PDP. The Actor tries the AOD-ajax endpoint first (still works on some marketplaces), and falls back to the **PDP buy-box winner** as a single offer when the AOD endpoint is unavailable
- **Bot-Manager interstitial** — Amazon serves a `bm-verify` interstitial to fresh IPs on the homepage and search root. The Actor auto-follows the redirect transparently, but the first request adds ~2 seconds of latency. Direct ASIN fetches (`/dp/ASIN`) usually skip the interstitial entirely
- **Pricing variance** — Amazon uses per-session A/B pricing, regional promos, and prime-vs-non-prime variants. The scraper returns the server-side price for your specific proxy session
- **Search pagination cap** — Amazon hard-caps `/s?k=…` at ~20 pages × 24 organic results
- **Reviews pagination cap** — Amazon hard-caps public reviews at ~100 across all sorts (10 pages × 10 reviews)

### FAQ

**What types of Amazon data can I scrape?**
Six types: product details, search results, category / Best-Sellers, customer reviews, seller profiles, and buy-box offers.

**Which Amazon marketplaces are supported?**
19 marketplaces: amazon.com, .co.uk, .de, .fr, .it, .es, .nl, .se, .pl, .ca, .com.mx, .com.br, .co.jp, .in, .com.au, .sg, .ae, .sa, .com.tr. Pick the one you want in the *Advanced* section, or paste full URLs that already point to a specific TLD.

**Can I scrape Amazon without the official API?**
Yes. This Actor scrapes the public Amazon pages directly using a Chrome-TLS-impersonating HTTP client. No Amazon API keys, no MWS / SP-API, no AWS credentials required.

**How does the input UI work?**
Pick a **Scrape Type** at the top of the input form. Below you'll see collapsible sections — one per type. Open the section that matches your selection and fill in the input field (URLs, ASINs, keywords, or seller IDs). Other sections are ignored.

**Do I need to configure a proxy?**
No. Apify Residential US is used automatically — Amazon flags datacenter IPs hard, so the Actor enforces residential proxies and the proxy picker has been removed from the input UI on purpose.

**Can I scrape Amazon reviews?**
Yes. Use the **Reviews** scrape type. Each review is pushed as a separate dataset row with full context (rating, title, body, date, country, verified-purchase flag, helpful votes, variant, images, videos). If Amazon's `/product-reviews/` is sign-in walled for an ASIN, the Actor falls back to the embedded reviews block on the product page.

**Can I filter reviews by star rating, verified purchase, or media?**
Yes. Use `reviewsFilterByStar` (`five_star`…`one_star`, `positive`, `critical`), `reviewsFilterByVerified` (boolean), and `reviewsFilterByMedia` (`media_reviews_only`) to narrow results.

**Does the seller scraper collect seller business identity?**
Yes — business name, address, VAT, trade register, phone, registration country, plus **Lifetime / 12-month / 90-day / 30-day** positive percentages and full 5-star histograms per period.

**How does the offers extractor work?**
The Actor first tries the AOD-ajax endpoint (every seller for the ASIN). When Amazon serves AOD only via JS (most US-market ASINs today), it falls back to the **PDP buy-box winner** as a single offer with full seller, Prime, FBA, delivery, and shipping data.

**Can I scrape Best-Seller categories?**
Yes. Paste a `/Best-Sellers/zgbs/…`, `/gp/new-releases/…`, or `/gp/movers-and-shakers/…` URL into **Category**. The Actor handles both the `s-search-result` and the `zg-grid-general-faceout` layouts.

**Does it handle Amazon's bm-verify / Bot-Manager interstitial?**
Yes. The interstitial is detected and auto-followed; no captcha solver, no headless browser. Direct `/dp/ASIN` URLs usually skip the interstitial entirely.

**Will it retry on proxy errors?**
Yes. Exactly **5 retries with a 2-second pause** between each attempt on every proxy / transport error, plus transparent rotation through Apify's residential IP pool.

**How is the Actor priced?**
Pay-per-event. You're charged a small amount per record actually delivered to the dataset: **$0.003 / product**, **$0.001 / search-or-category result**, **$0.0015 / review**, **$0.005 / seller profile**, **$0.004 / offer**. No platform usage fees, no minimum. Product price matches the most popular Amazon scraper on Apify (junglee/amazon-crawler $0.003).

**Can I cap the total spend per run?**
Yes — every run has a default `$10` total-charge cap. Override it in the run options (`Max charge` field) or via the API (`maxTotalChargeUsd`).

### Having issues? Help me fix them faster

If you experience any problems, please share your run data with me so I can debug and improve the Actor:

1. Go to [Apify Security Settings](https://console.apify.com/settings/security)
2. Find **"Share run data with developers"**
3. In the **"Manage list of Actors"** section, check this Actor (or **All Actors**)
4. Save

This data is used **only for debugging** and helps me resolve issues much faster. Thank you!

### Support

Questions, bug reports, or feature requests: **afrcanec@gmail.com**

### 🏷️ Tags

Amazon Scraper, Amazon API, Amazon Product Scraper, Amazon Data Extractor, Amazon Reviews Scraper, Amazon Seller Data, Amazon Search Scraper, Amazon Category Scraper, Amazon Best Sellers Tracker, Amazon Buy Box Tracker, Amazon Offer Listing Scraper, Amazon ASIN Lookup, Amazon Price Tracker, Amazon Coupon Scraper, Amazon Stock Monitor, Amazon Review Sentiment, Amazon Variant Scraper, Amazon Product Search, Amazon Bestseller Rank, BSR Tracker, Amazon Marketplace Data, Amazon UK Scraper, Amazon DE Scraper, Amazon JP Scraper, Amazon IN Scraper, Amazon Competitor Analysis, E-commerce Scraper, E-commerce Market Research, Dropshipping Research Tool, Amazon Seller Feedback, Amazon FBA Tools, Amazon Brand Protection, How to Scrape Amazon, Extract Amazon Data, Amazon Without API, Amazon Product Reviews API, Amazon Reviews Extractor, Amazon Price Comparison, Product Discovery Tool, Amazon Sponsored Listings, Amazon Prime Filter

# Actor input Schema

## `scrapeType` (type: `string`):

Pick one mode. Each mode pulls a different surface of Amazon and outputs a different shape (see Storage → Dataset views).

🛍️  **Product**  — full product details (title, price, brand, breadcrumbs, features, A+ description, images, variants, stars-breakdown, seller, BSR, delivery, ASIN…)
🔍  **Search**   — products ranked by keyword (with Sponsored / Prime / Best-Seller flags)
🏆  **Category** — products from a /Best-Sellers/ or any category URL
⭐  **Reviews**  — review-level rows (rating, title, body, date, verified, helpful, images, variant)
🏪  **Seller**   — seller profile (business name, address, lifetime/12mo/3mo/1mo feedback, ratings, policies)
💲  **Offers**   — every offer for one ASIN (price, condition, seller, Prime, delivery)

## `productUrls` (type: `array`):

One per line. Accepts full URLs (`https://www.amazon.com/dp/B07XJ8C8F5`) or bare ASINs (`B07XJ8C8F5`). Bare ASINs default to the marketplace below.

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

One keyword per line (e.g. `wireless headphones`, `mechanical keyboard`).

## `searchSort` (type: `string`):

Amazon search sort order.

## `maxSearchPages` (type: `integer`):

Amazon caps search at ~20 pages.

## `categoryUrls` (type: `array`):

One per line. Best-seller, New-releases, Movers-&-Shakers or any `/s?...` listing URL.
Example: `https://www.amazon.com/Best-Sellers/zgbs/electronics`

## `reviewProductUrls` (type: `array`):

One per line. Each review is pushed as a separate dataset item.

## `reviewsSort` (type: `string`):

Sort order for review pages.

## `reviewsFilterByStar` (type: `string`):

Limit reviews to a single star rating, or to overall positive / critical buckets.

## `reviewsFilterByMedia` (type: `string`):

Show all reviews or only those that include photos / videos.

## `reviewsFilterByVerified` (type: `boolean`):

If true, restrict results to reviews from buyers Amazon verified as purchasers.

## `maxReviewsPerProduct` (type: `integer`):

Amazon hard-caps public reviews at ~100 across all sorts. Set 0 for no limit.

## `sellerInputs` (type: `array`):

One per line. Accepts seller IDs (`A2L77EE7U53NWQ`) or full seller profile URLs.
Find a seller ID on any product page → "Sold by …" → click → copy `?seller=` value.

## `includeSellerReviews` (type: `boolean`):

Embed individual customer feedback rows (rating + text + reviewer + date) into the seller record under `reviews: [...]`. Each embedded feedback row is charged as one `review` event ($0.0015).

## `maxSellerReviews` (type: `integer`):

Cap on individual feedback rows fetched per seller (paginated via `&page=N`). 0 = no limit. Default 10 ≈ one page.

## `offerAsins` (type: `array`):

One per line. Returns every seller / condition / price for the ASIN.

## `offerCondition` (type: `string`):

Limit offers by item condition.

## `maxItemsPerInput` (type: `integer`):

Global cap per keyword / category URL. 0 = unlimited (Amazon will still cap at ~20 pages × 24 ≈ 480 organic).

## `marketplace` (type: `string`):

Default Amazon domain. Bare ASINs/seller IDs go here. Full URLs override.

## `maxConcurrency` (type: `integer`):

Higher = faster but more proxy IPs needed. Default 4 is safe for residential proxies.

## Actor input object example

```json
{
  "scrapeType": "product",
  "productUrls": [
    "https://www.amazon.com/dp/B07XJ8C8F5",
    "B0BDHWDR12"
  ],
  "searchKeywords": [
    "wireless headphones"
  ],
  "searchSort": "relevance",
  "maxSearchPages": 5,
  "categoryUrls": [
    "https://www.amazon.com/Best-Sellers/zgbs/electronics"
  ],
  "reviewProductUrls": [
    "B0BDHWDR12"
  ],
  "reviewsSort": "helpful",
  "reviewsFilterByStar": "all_stars",
  "reviewsFilterByMedia": "all_contents",
  "reviewsFilterByVerified": false,
  "maxReviewsPerProduct": 100,
  "sellerInputs": [
    "A2L77EE7U53NWQ"
  ],
  "includeSellerReviews": false,
  "maxSellerReviews": 10,
  "offerAsins": [
    "B07XJ8C8F5"
  ],
  "offerCondition": "all",
  "maxItemsPerInput": 100,
  "marketplace": "com",
  "maxConcurrency": 4
}
```

# Actor output Schema

## `products` (type: `string`):

No description

## `searchResults` (type: `string`):

No description

## `reviews` (type: `string`):

No description

## `sellers` (type: `string`):

No description

## `offers` (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 = {
    "productUrls": [
        "https://www.amazon.com/dp/B07XJ8C8F5",
        "B0BDHWDR12"
    ],
    "searchKeywords": [
        "wireless headphones"
    ],
    "categoryUrls": [
        "https://www.amazon.com/Best-Sellers/zgbs/electronics"
    ],
    "reviewProductUrls": [
        "B0BDHWDR12"
    ],
    "sellerInputs": [
        "A2L77EE7U53NWQ"
    ],
    "offerAsins": [
        "B07XJ8C8F5"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("pro100chok/amazon-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 = {
    "productUrls": [
        "https://www.amazon.com/dp/B07XJ8C8F5",
        "B0BDHWDR12",
    ],
    "searchKeywords": ["wireless headphones"],
    "categoryUrls": ["https://www.amazon.com/Best-Sellers/zgbs/electronics"],
    "reviewProductUrls": ["B0BDHWDR12"],
    "sellerInputs": ["A2L77EE7U53NWQ"],
    "offerAsins": ["B07XJ8C8F5"],
}

# Run the Actor and wait for it to finish
run = client.actor("pro100chok/amazon-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 '{
  "productUrls": [
    "https://www.amazon.com/dp/B07XJ8C8F5",
    "B0BDHWDR12"
  ],
  "searchKeywords": [
    "wireless headphones"
  ],
  "categoryUrls": [
    "https://www.amazon.com/Best-Sellers/zgbs/electronics"
  ],
  "reviewProductUrls": [
    "B0BDHWDR12"
  ],
  "sellerInputs": [
    "A2L77EE7U53NWQ"
  ],
  "offerAsins": [
    "B07XJ8C8F5"
  ]
}' |
apify call pro100chok/amazon-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Scraper API — Products, Reviews, Sellers, Best Sellers",
        "description": "Extract Amazon product data, customer reviews, seller profiles and buy-box offers from 19 marketplaces (US, UK, DE,\n  FR, IT, ES, JP, IN, AU…). Full PDP, BSR, stars histogram, variants, A+, seller VAT + 4-period feedback. No Amazon API\n  needed, no captcha. Pay-per-event from $0.001/record.",
        "version": "0.1",
        "x-build-id": "lxf2RgEGuDYC6dEZ2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pro100chok~amazon-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pro100chok-amazon-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/pro100chok~amazon-scraper/runs": {
            "post": {
                "operationId": "runs-sync-pro100chok-amazon-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/pro100chok~amazon-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-pro100chok-amazon-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": [
                    "scrapeType"
                ],
                "properties": {
                    "scrapeType": {
                        "title": "🎯 What to scrape",
                        "enum": [
                            "product",
                            "search",
                            "category",
                            "reviews",
                            "seller",
                            "offers"
                        ],
                        "type": "string",
                        "description": "Pick one mode. Each mode pulls a different surface of Amazon and outputs a different shape (see Storage → Dataset views).\n\n🛍️  **Product**  — full product details (title, price, brand, breadcrumbs, features, A+ description, images, variants, stars-breakdown, seller, BSR, delivery, ASIN…)\n🔍  **Search**   — products ranked by keyword (with Sponsored / Prime / Best-Seller flags)\n🏆  **Category** — products from a /Best-Sellers/ or any category URL\n⭐  **Reviews**  — review-level rows (rating, title, body, date, verified, helpful, images, variant)\n🏪  **Seller**   — seller profile (business name, address, lifetime/12mo/3mo/1mo feedback, ratings, policies)\n💲  **Offers**   — every offer for one ASIN (price, condition, seller, Prime, delivery)",
                        "default": "product"
                    },
                    "productUrls": {
                        "title": "🛍️ Product URLs or ASINs",
                        "type": "array",
                        "description": "One per line. Accepts full URLs (`https://www.amazon.com/dp/B07XJ8C8F5`) or bare ASINs (`B07XJ8C8F5`). Bare ASINs default to the marketplace below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchKeywords": {
                        "title": "🔍 Search keywords",
                        "type": "array",
                        "description": "One keyword per line (e.g. `wireless headphones`, `mechanical keyboard`).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchSort": {
                        "title": "↕️ Sort search results",
                        "enum": [
                            "relevance",
                            "price-asc-rank",
                            "price-desc-rank",
                            "review-rank",
                            "date-desc-rank"
                        ],
                        "type": "string",
                        "description": "Amazon search sort order.",
                        "default": "relevance"
                    },
                    "maxSearchPages": {
                        "title": "📄 Max search pages per keyword",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Amazon caps search at ~20 pages.",
                        "default": 5
                    },
                    "categoryUrls": {
                        "title": "🏆 Category URLs",
                        "type": "array",
                        "description": "One per line. Best-seller, New-releases, Movers-&-Shakers or any `/s?...` listing URL.\nExample: `https://www.amazon.com/Best-Sellers/zgbs/electronics`",
                        "items": {
                            "type": "string"
                        }
                    },
                    "reviewProductUrls": {
                        "title": "⭐ Product URLs or ASINs for reviews",
                        "type": "array",
                        "description": "One per line. Each review is pushed as a separate dataset item.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "reviewsSort": {
                        "title": "↕️ Reviews sort",
                        "enum": [
                            "helpful",
                            "recent"
                        ],
                        "type": "string",
                        "description": "Sort order for review pages.",
                        "default": "helpful"
                    },
                    "reviewsFilterByStar": {
                        "title": "⭐ Star-rating filter",
                        "enum": [
                            "all_stars",
                            "five_star",
                            "four_star",
                            "three_star",
                            "two_star",
                            "one_star",
                            "positive",
                            "critical"
                        ],
                        "type": "string",
                        "description": "Limit reviews to a single star rating, or to overall positive / critical buckets.",
                        "default": "all_stars"
                    },
                    "reviewsFilterByMedia": {
                        "title": "🖼️ Media filter",
                        "enum": [
                            "all_contents",
                            "media_reviews_only"
                        ],
                        "type": "string",
                        "description": "Show all reviews or only those that include photos / videos.",
                        "default": "all_contents"
                    },
                    "reviewsFilterByVerified": {
                        "title": "✅ Only verified-purchase reviews",
                        "type": "boolean",
                        "description": "If true, restrict results to reviews from buyers Amazon verified as purchasers.",
                        "default": false
                    },
                    "maxReviewsPerProduct": {
                        "title": "🔢 Max reviews per product",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Amazon hard-caps public reviews at ~100 across all sorts. Set 0 for no limit.",
                        "default": 100
                    },
                    "sellerInputs": {
                        "title": "🏪 Seller IDs or URLs",
                        "type": "array",
                        "description": "One per line. Accepts seller IDs (`A2L77EE7U53NWQ`) or full seller profile URLs.\nFind a seller ID on any product page → \"Sold by …\" → click → copy `?seller=` value.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeSellerReviews": {
                        "title": "💬 Include individual seller feedback",
                        "type": "boolean",
                        "description": "Embed individual customer feedback rows (rating + text + reviewer + date) into the seller record under `reviews: [...]`. Each embedded feedback row is charged as one `review` event ($0.0015).",
                        "default": false
                    },
                    "maxSellerReviews": {
                        "title": "🔢 Max seller-feedback rows",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap on individual feedback rows fetched per seller (paginated via `&page=N`). 0 = no limit. Default 10 ≈ one page.",
                        "default": 10
                    },
                    "offerAsins": {
                        "title": "💲 Product URLs or ASINs for offers",
                        "type": "array",
                        "description": "One per line. Returns every seller / condition / price for the ASIN.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "offerCondition": {
                        "title": "🏷️ Condition filter",
                        "enum": [
                            "all",
                            "new",
                            "used",
                            "refurbished",
                            "collectible"
                        ],
                        "type": "string",
                        "description": "Limit offers by item condition.",
                        "default": "all"
                    },
                    "maxItemsPerInput": {
                        "title": "🔢 Max items per input",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Global cap per keyword / category URL. 0 = unlimited (Amazon will still cap at ~20 pages × 24 ≈ 480 organic).",
                        "default": 100
                    },
                    "marketplace": {
                        "title": "🌍 Marketplace",
                        "enum": [
                            "com",
                            "co.uk",
                            "de",
                            "fr",
                            "it",
                            "es",
                            "nl",
                            "se",
                            "pl",
                            "ca",
                            "com.mx",
                            "com.br",
                            "co.jp",
                            "in",
                            "com.au",
                            "sg",
                            "ae",
                            "sa",
                            "com.tr"
                        ],
                        "type": "string",
                        "description": "Default Amazon domain. Bare ASINs/seller IDs go here. Full URLs override.",
                        "default": "com"
                    },
                    "maxConcurrency": {
                        "title": "⚡ Max concurrent requests",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Higher = faster but more proxy IPs needed. Default 4 is safe for residential proxies.",
                        "default": 4
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
