# Amazon Seller Scraper · 20 Marketplaces (`santamaria-automations/amazon-seller-scraper`) Actor

Extract Amazon seller storefronts and full product catalogs across 20 marketplaces. Returns seller name, business address, ratings (30d/90d/12mo/lifetime), policies, contact options, About text, plus optional per-product rows (ASIN, price, stars, badges). Pay-per-result, no login.

- **URL**: https://apify.com/santamaria-automations/amazon-seller-scraper.md
- **Developed by:** [Ale](https://apify.com/santamaria-automations) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## 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

## Amazon Seller Scraper

Extract Amazon seller storefronts and their full product catalogs across 20 marketplaces. Returns seller name, business address, ratings (30d / 90d / 12mo / lifetime), return and shipping policy summaries, contact options, About text, plus optional per-product rows (ASIN, price, stars, badges). Pay-per-result, no login required.

### What it does

You give it Amazon seller IDs or `/sp?seller=...` URLs. You get back one row per seller profile, and optionally one extra row per product in that seller's catalog.

- Resolve seller storefronts from a list of seller IDs or direct profile URLs
- Get back seller profile rows with name, business info, ratings, policies, contact options, About text
- Optionally fetch the seller's full product catalog via `/s?me=...` (one row per product)
- Mix multiple marketplaces in the same run
- Pagination stops automatically at the end of the seller's catalog or at your `maxProductsPerSeller` cap

#### Sample seller-profile output

```json
{
  "type": "seller",
  "sellerId": "A3JV1EJYQT3VW7",
  "sellerName": "Anker Direct",
  "sellerUrl": "https://www.amazon.com/sp?seller=A3JV1EJYQT3VW7",
  "marketplace": "US",
  "businessName": "Anker Technology Limited",
  "businessAddress": {
    "street": "5th Floor, Bldg D, ChuangXin Park",
    "city": "Shenzhen",
    "state": "Guangdong",
    "postalCode": "518071",
    "country": "China"
  },
  "ratingsAvg": 4.7,
  "ratingsCount": 184526,
  "ratingPositive30d": 1.0,
  "ratingPositive90d": 0.98,
  "ratingPositive12mo": 0.97,
  "ratingPositiveLifetime": 0.96,
  "sellerSince": "Selling on Amazon since 2014",
  "sellerSinceYear": 2014,
  "isAmazonOwned": false,
  "returnPolicySummary": "Returns within 30 days of delivery...",
  "shippingPolicySummary": "Ships from California, USA",
  "contactSellerUrl": "https://www.amazon.com/gp/help/contact-the-seller/...",
  "about": "Anker is a global leader in charging technology...",
  "logoUrl": "https://m.media-amazon.com/images/I/seller-logo.png",
  "storefrontUrl": "https://www.amazon.com/stores/Anker/page/abc-uuid",
  "totalProductsCount": 1247
}
````

#### Sample product-row output

```json
{
  "type": "product",
  "sellerId": "A3JV1EJYQT3VW7",
  "sellerName": "Anker Direct",
  "asin": "B09B8V1LZ3",
  "title": "Anker PowerCore 10000 Portable Charger",
  "url": "https://www.amazon.com/dp/B09B8V1LZ3",
  "marketplace": "US",
  "position": 17,
  "page": 2,
  "price": { "value": 24.99, "currency": "$", "raw": "$24.99" },
  "stars": 4.6,
  "reviewsCount": 73294,
  "thumbnailImage": "https://m.media-amazon.com/images/I/example.jpg",
  "isPrime": true,
  "isAmazonChoice": false,
  "isFulfilledByAmazon": true,
  "deliveryText": "FREE delivery Mon, Jun 16"
}
```

### Pricing

$0.001 per actor start, plus $0.003 per scraped row. Roughly $3 per 1,000 rows.

Each successfully extracted seller profile and each product-catalog row counts as one paid row. You only pay for rows that successfully return data. Failed fetches are not charged.

**New to Apify?** Every account gets a $5 free monthly platform credit, enough for around 1,600 results on this actor before you commit to paying anything. Plenty to test the full feature set.

### Why this scraper

**Profile AND catalog in one run.** Most competing seller actors return either the profile OR the product feed. This one returns both, as two distinct row types in the same dataset, filterable by the `type` field.

**More complete seller data.** Pulls the period-by-period positive-rating breakdown (last 30 days, 90 days, 12 months, lifetime), the business address (street, city, state, postal code, country) when Amazon shows it, return and shipping policy summaries, the contact-seller link, the About text, the storefront vanity URL, and the logo.

**Honest about Amazon's data.** Many fields on a seller profile are situational. When Amazon doesn't show a field, the JSON value is `null`. We don't fabricate placeholder strings. The full list of "may-be-null" fields is documented below.

**20 marketplaces.** Auto-detects marketplace from any `amazon.<TLD>/sp?seller=...` URL. For bare seller IDs the `country` input picks the marketplace. Amazon-owned sellers (like `ATVPDKIKX0DER`) sometimes redirect and are handled gracefully.

**Pay only for results.** $0.003 per successfully scraped row, profile or product. Failed fetches are not charged.

### Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

**Apify MCP server URL:**

`https://mcp.apify.com?tools=santamaria-automations/amazon-seller-scraper`

**Example prompt once connected:**

> "Use `amazon-seller-scraper` to fetch the storefront and first 20 products for seller ID A3JV1EJYQT3VW7 on amazon.com."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically.

### Input

| Field | Type | Description |
| --- | --- | --- |
| `sellerIds` | array of strings | Amazon seller IDs (13 to 14 char alphanumeric, e.g. `A3JV1EJYQT3VW7`). |
| `startUrls` | array | Direct `/sp?seller=...` URLs. Marketplace auto-detected from the TLD. |
| `country` | string | Marketplace for `sellerIds`: US, UK, DE, FR, IT, ES, CA, MX, BR, NL, SE, PL, TR, JP, IN, AU, SG, SA, AE, EG. |
| `language` | string | `AUTO` matches the marketplace, or pick one: en, de, fr, it, es, ja, pt, ar, tr, sv, nl, pl. |
| `scrapeProductListings` | boolean | When `true` (default), also fetch the seller's full product catalog via `/s?me=...`. |
| `maxProductsPerSeller` | integer | Cap on product rows per seller. `0` means no cap (walk until Amazon stops). Default `50`. |
| `maxSellers` | integer | Hard cap on total sellers processed. `0` means unlimited. |
| `concurrency` | integer | Sellers fetched in parallel, 1 to 20. Default `5`. |

You can mix `sellerIds` and `startUrls` in the same run.

#### How to find a seller ID

1. Open any Amazon product page.
2. Click the "Sold by ..." link near the buy box.
3. The seller-profile URL is `https://www.amazon.<tld>/sp?seller=<ID>`. Copy the `<ID>`.

#### Example input

```json
{
  "sellerIds": ["A3JV1EJYQT3VW7", "ATVPDKIKX0DER"],
  "country": "US",
  "scrapeProductListings": true,
  "maxProductsPerSeller": 100,
  "concurrency": 5
}
```

### Output fields

#### Seller-profile rows (`type: "seller"`)

##### Identity

- `sellerId`, `sellerName`, `sellerUrl`, `marketplace`
- `logoUrl`, `storefrontUrl` (branded `/stores/...` URL when linked)
- `isAmazonOwned`

##### Business information

- `businessName` (registered legal entity)
- `businessAddress` as `{street, city, state, postalCode, country}`
- `phoneNumber`, `email` (when listed)

##### Ratings

- `ratingsAvg` (0 to 5), `ratingsCount` (lifetime)
- `ratingPositive30d`, `ratingPositive90d`, `ratingPositive12mo`, `ratingPositiveLifetime` as fractions

##### Tenure

- `sellerSince` (literal display text), `sellerSinceYear` (parsed)

##### Policies and contact

- `returnPolicySummary`, `shippingPolicySummary`
- `contactSellerUrl`
- `about` (the seller's published About text)

##### Catalog hint

- `totalProductsCount` (when Amazon surfaces it on the profile)

#### Product-catalog rows (`type: "product"`)

- `sellerId`, `sellerName` (links the row back to the parent seller)
- `asin`, `title`, `url`, `marketplace`
- `position`, `page` (slot in the seller's catalog)
- `price`, `listPrice` as `{value, currency, raw}`
- `stars`, `reviewsCount`
- `thumbnailImage`
- `isPrime`, `isAmazonChoice`, `isFulfilledByAmazon`
- `deliveryText`

#### Run metadata (every row)

`input`, `scrapedAt`

### Common use cases

- **Competitive intelligence.** Benchmark a competitor's seller-feedback trend (30d vs 12mo vs lifetime) over time.
- **Brand safety.** Verify third-party sellers' business information and contact options.
- **Catalog mapping.** Extract every ASIN a competitor sells in one run (`scrapeProductListings: true`).
- **Marketplace audit.** Identify sellers shipping from specific countries via `businessAddress.country`.
- **New-entrant detection.** Filter `sellerSinceYear` within the past 12 months to find new market entrants.

### Notes and limits

- **Two row types in one dataset.** Profile rows have `type: "seller"`, catalog rows have `type: "product"`. Filter downstream by the `type` field.
- **Profile fields are situational.** Amazon shows business address, phone, email, and the rating breakdowns selectively. When the field isn't shown for a seller, the JSON value is `null`. We don't fabricate "N/A" strings.
- **Amazon-owned sellers redirect.** IDs like `ATVPDKIKX0DER` (Amazon.com) redirect to a different page layout. We detect the known IDs and flag them with `isAmazonOwned: true` so you can filter them downstream.
- **Branded Stores (`/stores/<slug>`).** v1 captures the storefront link when present on the profile but doesn't crawl the branded landing page itself. v1.1 will add deep `/stores/` parsing.
- **Pagination depth.** The seller's product feed paginates like Amazon search (~16 products per page). The actor stops at your `maxProductsPerSeller` cap, at an empty page, or at 20 pages, whichever comes first.

#### Fields that tend to be null

Populated only when Amazon shows them. Not parser bugs:

- `businessAddress`, `phoneNumber`, `email` only when the seller's Business Information block lists them. Many third-party sellers omit phone and email.
- `ratingPositive30d` / `90d` / `12mo` only when the seller has activity in that window. New sellers often have only a lifetime value.
- `sellerSince` and `sellerSinceYear` only when the profile carries the "Selling on Amazon since" line. "Just launched" sellers won't have a year.
- `returnPolicySummary`, `shippingPolicySummary` only when the seller exposes these blocks. FBA-only sellers often inherit Amazon's defaults and don't render their own.
- `about` only when the seller has published an About section. Many small sellers skip this.
- `storefrontUrl` only when the seller has built a branded `/stores/` page.
- `totalProductsCount` is hidden on many profiles. Use `scrapeProductListings: true` to count by walking the catalog instead.

#### Recommended concurrency

3 to 5 concurrent sellers is the sweet spot for runs under 1,000 sellers. Higher (up to 20) works but transient blocks become more frequent. Pages within a single seller's catalog are fetched sequentially to preserve session warmth.

#### Multi-marketplace runs

Mixing marketplaces in one run is supported. Accept-Language, locale headers, and the proxy country are tuned per task. Expect slightly longer runtime on smaller marketplaces (`.sa`, `.ae`, `.eg`, `.sg`) where Amazon's anti-bot is more aggressive.

#### How the Amazon-owned seller is detected

When `sellerName` matches `Amazon.com`, `Amazon`, `Amazon.com Services LLC`, or a clear `Amazon.com ...` prefix, the row is flagged with `isAmazonOwned: true`. This is a heuristic and doesn't catch every Amazon-affiliated subsidiary (Whole Foods, Ring, etc. ship under their own seller IDs).

### Related Actors

- [Amazon Product Scraper](https://apify.com/santamaria-automations/amazon-product-scraper): pull the full 50+ field PDP detail for any ASIN returned in a product row (description, A+ content, variants, AI review summary, top reviews).
- [Amazon Search Scraper](https://apify.com/santamaria-automations/amazon-search-scraper): scrape search results pages by keyword across the same 20 marketplaces.
- [Amazon Bestsellers Scraper](https://apify.com/santamaria-automations/amazon-bestsellers-scraper): scrape Amazon's bestseller, movers and shakers, new releases, most wished for and most gifted rankings.

### Support

For issues, feature requests, or marketplaces not yet supported, please open an issue on the [Issues tab](https://apify.com/santamaria-automations/amazon-seller-scraper/issues) of this actor. We typically respond within 24 hours.

Contact: contact@nanoscrape.com

# Actor input Schema

## `sellerIds` (type: `array`):

List of Amazon seller IDs (typically 13-14 character alphanumeric, e.g. `A3JV1EJYQT3VW7`). The actor constructs the `/sp?seller=...` URL on the marketplace you pick below. Find a seller ID by opening any product page, clicking 'Sold by ...', then copying the `seller=` value from the URL.

## `startUrls` (type: `array`):

Direct Amazon seller profile URLs (`https://www.amazon.<tld>/sp?seller=<id>` or any variant carrying `seller=<id>` / `me=<id>`). Marketplace is auto-detected from the URL TLD.

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

Which Amazon marketplace to use for the Seller IDs field above. Ignored for Seller URLs (TLD is detected from the URL).

## `language` (type: `string`):

Accept-Language preference sent to Amazon. `AUTO` matches the marketplace (e.g. de-DE for Germany, ja-JP for Japan) — recommended unless you need consistent English copy across all marketplaces.

## `scrapeProductListings` (type: `boolean`):

When true, after fetching the seller profile the actor also walks `/s?me=<sellerId>` to extract the seller's product feed. Each product becomes a separate row with `type=product`. Set to false to get profile rows only.

## `maxProductsPerSeller` (type: `integer`):

Cap the number of product rows extracted per seller. `0` = no cap (walks until Amazon stops returning rows). Each `/s?me=...` page returns ~16 products.

## `maxSellers` (type: `integer`):

Hard cap on the number of distinct sellers processed in this run. `0` = unlimited.

## `concurrency` (type: `integer`):

How many sellers to process in parallel. 3-5 is reliable for most workloads; higher (up to 20) is faster but increases the chance of transient blocks that force retries.

## Actor input object example

```json
{
  "sellerIds": [
    "A3JV1EJYQT3VW7"
  ],
  "startUrls": [],
  "country": "US",
  "language": "AUTO",
  "scrapeProductListings": true,
  "maxProductsPerSeller": 50,
  "maxSellers": 0,
  "concurrency": 5
}
```

# Actor output Schema

## `sellerData` (type: `string`):

Dataset containing scraped Amazon seller profiles and product rows

# 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 = {
    "sellerIds": [
        "A3JV1EJYQT3VW7"
    ],
    "startUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("santamaria-automations/amazon-seller-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 = {
    "sellerIds": ["A3JV1EJYQT3VW7"],
    "startUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("santamaria-automations/amazon-seller-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 '{
  "sellerIds": [
    "A3JV1EJYQT3VW7"
  ],
  "startUrls": []
}' |
apify call santamaria-automations/amazon-seller-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Seller Scraper · 20 Marketplaces",
        "description": "Extract Amazon seller storefronts and full product catalogs across 20 marketplaces. Returns seller name, business address, ratings (30d/90d/12mo/lifetime), policies, contact options, About text, plus optional per-product rows (ASIN, price, stars, badges). Pay-per-result, no login.",
        "version": "1.0",
        "x-build-id": "KjWRayPIczBy1lSRg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/santamaria-automations~amazon-seller-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-santamaria-automations-amazon-seller-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/santamaria-automations~amazon-seller-scraper/runs": {
            "post": {
                "operationId": "runs-sync-santamaria-automations-amazon-seller-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/santamaria-automations~amazon-seller-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-santamaria-automations-amazon-seller-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "sellerIds": {
                        "title": "Seller IDs",
                        "type": "array",
                        "description": "List of Amazon seller IDs (typically 13-14 character alphanumeric, e.g. `A3JV1EJYQT3VW7`). The actor constructs the `/sp?seller=...` URL on the marketplace you pick below. Find a seller ID by opening any product page, clicking 'Sold by ...', then copying the `seller=` value from the URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Seller URLs",
                        "type": "array",
                        "description": "Direct Amazon seller profile URLs (`https://www.amazon.<tld>/sp?seller=<id>` or any variant carrying `seller=<id>` / `me=<id>`). Marketplace is auto-detected from the URL TLD.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "country": {
                        "title": "Marketplace Country",
                        "enum": [
                            "US",
                            "CA",
                            "MX",
                            "BR",
                            "UK",
                            "DE",
                            "FR",
                            "IT",
                            "ES",
                            "NL",
                            "SE",
                            "PL",
                            "TR",
                            "JP",
                            "IN",
                            "AU",
                            "SG",
                            "SA",
                            "AE",
                            "EG"
                        ],
                        "type": "string",
                        "description": "Which Amazon marketplace to use for the Seller IDs field above. Ignored for Seller URLs (TLD is detected from the URL).",
                        "default": "US"
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "AUTO",
                            "en",
                            "de",
                            "fr",
                            "it",
                            "es",
                            "ja",
                            "pt",
                            "ar",
                            "tr",
                            "sv",
                            "nl",
                            "pl"
                        ],
                        "type": "string",
                        "description": "Accept-Language preference sent to Amazon. `AUTO` matches the marketplace (e.g. de-DE for Germany, ja-JP for Japan) — recommended unless you need consistent English copy across all marketplaces.",
                        "default": "AUTO"
                    },
                    "scrapeProductListings": {
                        "title": "Include Seller's Product Catalog",
                        "type": "boolean",
                        "description": "When true, after fetching the seller profile the actor also walks `/s?me=<sellerId>` to extract the seller's product feed. Each product becomes a separate row with `type=product`. Set to false to get profile rows only.",
                        "default": true
                    },
                    "maxProductsPerSeller": {
                        "title": "Max Products per Seller",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap the number of product rows extracted per seller. `0` = no cap (walks until Amazon stops returning rows). Each `/s?me=...` page returns ~16 products.",
                        "default": 50
                    },
                    "maxSellers": {
                        "title": "Max Total Sellers",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on the number of distinct sellers processed in this run. `0` = unlimited.",
                        "default": 0
                    },
                    "concurrency": {
                        "title": "Concurrent Sellers",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many sellers to process in parallel. 3-5 is reliable for most workloads; higher (up to 20) is faster but increases the chance of transient blocks that force retries.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
