# Amazon Brand Revenue API - Sellers, Products, Keywords, Ad Spy (`nabeelbaghoor/amazon-brand-seller-revenue-api`) Actor

Amazon brand, seller, product and subcategory revenue estimates, keyword search volume and sponsored ad placements for 12 marketplaces, from the SmartScout Developer API. Search with filters or look up a brand, seller, ASIN or keyword. Read only. Bring your own key.

- **URL**: https://apify.com/nabeelbaghoor/amazon-brand-seller-revenue-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** E-commerce, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 search result returneds

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Amazon Brand Revenue API - Sellers, Products, Keywords, Ad Spy

Pull Amazon brand, seller, product and subcategory revenue estimates, keyword search volume and sponsored ad placements for 12 marketplaces into a dataset, a spreadsheet or a warehouse, with one row per record.

### What it collects

- **Brands**: estimated monthly revenue and units, average price, review count and rating, number of products and sellers, FBA sellers, Amazon in-stock rate, brand score, storefront, dominant seller, one and twelve month growth, trailing twelve month revenue and category.
- **Products (ASINs)**: title, brand, manufacturer, sales rank and subcategory rank, buy box price, estimated monthly revenue and units, bought in past month, trailing twelve month revenue, reviews and ratings, seller counts, buy box suppression, listing quality score, variation parent, UPC, size, colour, dimensions, listed since date and image.
- **Sellers**: seller name, business name and address, estimated sales, average price, FBA share, lifetime and 30 day feedback, number of ASINs and winning brands, growth over one, three, six and twelve months and suspension status.
- **Subcategories**: total monthly revenue, brands, ASINs, units, average price, reviews, rating, sellers and listing score, Amazon versus third party revenue share, parent, level and growth.
- **Keywords**: estimated monthly searches and growth, estimated CPC and CPC range, click share of the top three products, title density, search results count, opportunity score and launch velocity.
- **Lookups**: the sellers of a brand with their revenue share, the brands and products of a seller, the sellers of an ASIN with buy box share, the relevant keywords of an ASIN, the brands in a subcategory with market share, the brands advertising on a keyword with estimated ad spend, and sponsored products by keyword or brand.
- Filters for text, category, subcategory, brand, ASINs, seller IDs, revenue, price, rating and search volume, plus any other documented filter as JSON. Sort by any returned field.
- Read only, pay per result, bring your own key.

### Input

| Field | What it does |
| --- | --- |
| What to read | One of six search modes or eight lookup modes. Brand search is the default and needs nothing else. |
| Amazon marketplace | US, UK, IT, DE, CA, MX, FR, ES, IN, AU, JP or AE. |
| Search text / Text match | Search modes: matched against the brand name, product title, seller name, subcategory name or keyword. Keyword lookups: the keyword. |
| Brand name | Required for sellers of a brand; a filter in the other modes that take it. |
| ASINs | Required for sellers of a product and keywords of a product; a filter in product search. |
| Seller IDs | Required for brands of a seller and products of a seller; a filter in seller search. |
| Subcategory ID | Required for brands in a subcategory; a filter in brand and product search. |
| Category name | Brand, product and seller search. |
| Revenue, price, rating, searches | Minimum and maximum ranges, sent to the provider. |
| Extra filters | Any other documented filter for the mode, as JSON. |
| Sort by / Sort order | Any field the mode returns. |
| Maximum results | Row cap for the run. |
| API key | Your own key, as a secret input. |

Run a search mode first to find the brand names, seller IDs, ASINs and subcategory IDs the lookup modes take.

### FAQ

#### What is an Amazon brand revenue API used for?

Sizing Amazon markets and finding who wins them. An aggregator screens brands between 50,000 and 500,000 USD monthly revenue in Home & Kitchen with few sellers. An agency finds brands with no storefront and weak listings to pitch. A wholesale seller lists every seller on a brand and each one's revenue share. A product researcher compares subcategories by revenue, competition and Amazon's own share before launching.

#### Which data source does this actor read?

The SmartScout Developer API at api.smartscout.com, through the routes documented in its public OpenAPI file: brand, product, seller, subcategory, search term and ad spy search, the sellers of a brand, the brands and offers of a seller, the offers and relevant search terms of an ASIN, the brands of a subcategory, and the brands and sponsored products on a search term. Revenue and unit figures are the provider's estimates.

#### Do I need an API key?

Yes. This actor is bring-your-own-key and never ships one. The provider issues API keys to its enterprise customers; paste yours into the input, or set it once as the `DATA_API_KEY` environment secret. A missing or refused key ends the run cleanly with a message saying which it was.

#### Which Amazon marketplaces are covered?

United States, United Kingdom, Italy, Germany, Canada, Mexico, France, Spain, India, Australia, Japan and the United Arab Emirates. Each run reads one marketplace.

#### How do I find sellers of a brand or brands of a seller?

Pick the sellers of a brand mode and set the brand name exactly as brand search lists it. Each row is one seller with its offer count, monthly revenue and estimated share of the brand's revenue. The brands of a seller mode does the reverse from an Amazon seller ID such as A2L77EE7U53NWQ.

#### Can I see which brands advertise on a keyword?

Yes. Brands advertising on a keyword returns each brand's sponsored product count, win rates for sponsored brand, video, top spot and top group placements, and estimated spend. Sponsored products lists the advertised ASINs for a keyword, a brand, or both.

#### Can this actor change anything in my account?

No. The search routes are POSTs only because they take their filters as a JSON body; they read data and change nothing. The route that starts a geo buy box request is not used. The key travels in the X-Api-Key header and never appears in a row or in the log.

#### How is it priced?

Pay per result: one price per search result (a brand, product, seller, subcategory or keyword with full estimates), and a lower price per lookup row. Searches and lookups that find nothing are free. Your provider subscription applies separately.

### Example output

```json
{
  "mode": "brands",
  "modeLabel": "Brand search",
  "recordType": "brand",
  "marketplace": "US",
  "lookup": null,
  "found": true,
  "name": "ExampleBrand",
  "asin": null,
  "brandName": "ExampleBrand",
  "sellerName": null,
  "amazonSellerId": null,
  "categoryName": "Home & Kitchen",
  "subcategoryName": "Food Storage Containers",
  "monthlyRevenue": 184250.4,
  "price": 27.95,
  "reviewRating": 4.6,
  "estimateSearches": null,
  "monthlyUnitsSold": 6592,
  "avgSellers": 1.4,
  "avgFbaSellers": 1.1,
  "amazonIsr": 0.02,
  "totalProducts": 38,
  "totalReviews": 21874,
  "brandScore": 7.8,
  "hasStorefront": true,
  "storefrontUrl": "https://www.amazon.com/stores/ExampleBrand/page/0000",
  "dominantSellerBrandCoverage": 0.93,
  "monthGrowth": 0.06,
  "monthGrowth12": 0.31,
  "trailing12Months": 1952000,
  "outOfStockCount": 2,
  "hasSingleSeller": false,
  "subcategoryId": 3743561,
  "retrievedAt": "2026-09-29T09:14:52.118Z",
  "note": null
}
```

Values are illustrative; every field is one the provider documents. Other modes keep their own documented fields in the same way.

### Keyword map

Amazon brand revenue API, Amazon seller data API, Amazon sales estimates, Amazon product research API, Amazon subcategory revenue, Amazon keyword search volume, Amazon ad spy, sponsored products data, Amazon market share by brand, Amazon seller lookup, buy box share, Amazon brand prospecting, SmartScout API.

# Actor input Schema

## `mode` (type: `string`):

Brand search reads brands with estimated monthly revenue, units, price, reviews, sellers and growth, and needs nothing else, so it is the default. The other search modes read products, sellers, subcategories and keywords with the filters below. Lookup modes read what sits under one brand, seller, ASIN, subcategory or keyword, and need that value set.

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

The Amazon marketplace to read.

## `searchText` (type: `string`):

Search modes: matched against the brand name, product title, seller name, subcategory name or keyword, using the text match below. Keywords of a product: keep keywords containing this. Brands advertising on a keyword and sponsored products: the exact keyword, such as wireless earbuds.

## `textMatch` (type: `string`):

Search modes: how the search text is matched.

## `brandName` (type: `string`):

Sellers of a brand: the brand to read (required). Brand and product search: only this exact brand. Brands in a subcategory: only this brand. Sponsored products: the ads of this brand.

## `asins` (type: `array`):

Sellers of a product and keywords of a product: the ASINs to read, one per line (required). Product search: only these ASINs.

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

Brands of a seller and products of a seller: the Amazon seller IDs to read, one per line (required). Seller search: only these sellers.

## `subcategoryId` (type: `integer`):

Brands in a subcategory: the subcategory to read (required), as the id the subcategory search lists. Brand and product search: only this subcategory. Subcategory search: the children of this subcategory.

## `categoryName` (type: `string`):

Brand, product and seller search: only rows whose category contains this, such as Home & Kitchen.

## `minMonthlyRevenue` (type: `integer`):

Brand, product, seller and subcategory search: the lowest estimated monthly revenue, in the marketplace currency.

## `maxMonthlyRevenue` (type: `integer`):

Brand, product, seller and subcategory search: the highest estimated monthly revenue.

## `minPrice` (type: `integer`):

Brand and subcategory search: the lowest average price. Product search: the lowest buy box price.

## `maxPrice` (type: `integer`):

Brand and subcategory search: the highest average price. Product search: the highest buy box price.

## `minReviewRating` (type: `integer`):

Brand, product and subcategory search: the lowest star rating, from 1 to 5.

## `minEstimatedSearches` (type: `integer`):

Keyword search, advertised keyword search and keywords of a product: the lowest estimated monthly searches.

## `maxEstimatedSearches` (type: `integer`):

Keyword search, advertised keyword search and keywords of a product: the highest estimated monthly searches.

## `extraFilters` (type: `object`):

Search modes, keywords of a product and brands in a subcategory: any further filters the provider documents for that mode, as a JSON object, such as {"totalReviews": {"min": 100}, "hasStorefront": true} for brands. Text filters take {"type": "contains", "filter": "..."}, ranges take min and max. These override the fields above.

## `sortBy` (type: `string`):

A field this mode returns, such as monthlyRevenue for brands, monthlyRevenueEstimate for products, estimateSales for sellers, totalMonthlyRevenue for subcategories or estimateSearches for keywords. Leave empty for the provider order.

## `sortOrder` (type: `string`):

Direction for the sort field.

## `maxResults` (type: `integer`):

Stop after this many rows, across all lookups.

## `requestsPerMinute` (type: `integer`):

Pacing ceiling for calls to the provider. Rate limited answers are retried after the wait the provider asks for.

## `apiKey` (type: `string`):

Your own API key, sent as the X-Api-Key header. This actor is bring-your-own-key and never ships one. Leave blank to use the DATA\_API\_KEY environment secret instead. It is never written to a row or the log.

## Actor input object example

```json
{
  "mode": "brands",
  "marketplace": "US",
  "textMatch": "contains",
  "sortOrder": "desc",
  "maxResults": 100,
  "requestsPerMinute": 60
}
```

# Actor output Schema

## `records` (type: `string`):

One row per brand, product, seller, subcategory, keyword, offer or ad placement.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/amazon-brand-seller-revenue-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/amazon-brand-seller-revenue-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call nabeelbaghoor/amazon-brand-seller-revenue-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nabeelbaghoor/amazon-brand-seller-revenue-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/NE71DoIE6xLe98NCQ/builds/a7HBYaSP7xqv8kYck/openapi.json
