# Amazon Seller Contacts Scraper (`deepmine/amazon-seller-contacts-scraper`) Actor

Amazon seller scraper for B2B leads: give seller IDs or product, search or best seller links, get one row per seller with business name, email, phone, VAT and register numbers, address, ratings and buyer feedback. Any Amazon marketplace, no login.

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

## Pricing

from $1.49 / 1,000 sellers

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

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 Seller Contacts Scraper

Amazon seller scraper for leads: paste seller links, products, searches or best seller lists, and get one row per seller with the business name, email, phone, VAT and trade register numbers, address, ratings and the newest buyer feedback, on any Amazon marketplace.

| Seller | Business | Email | Phone | VAT | Country | ⭐ 12 months | Ratings (12 months) |
|---|---|---|---|---|---|---|---|
| kQ-networX | kQ-networX GmbH | info@kq-shop.de | +49 2304 2528419 | DE814777613 | DE | 4.5 | 4,916 |
| Gigabit | NLMAX B.V. | info@nlmax.nl | +31645886256 | DE350977025 | NL | 4.9 | 34 |
| AnkerDirect DE | Anker Technology (UK) Ltd | ankerdirect-eu@anker.com | +4917663893206 | DE295307777 | GB | 4.9 | 10,398 |

<sub>Collected 2026-10-22 on amazon.de from the prefilled run (best seller list 'Mobile Phones & Smartwatches Accessories'), Apify platform run yekgke1f5EKgO5qgy.</sub>

**$1.99 per 1,000 sellers** on the Starter plan ($2.38 Free, $1.69 Scale, $1.49 Business). The prefilled run (21 sellers) costs about $0.04 on Starter. You pay once per seller per marketplace per run, however many products show it; products checked to find sellers, the newest 5 buyer feedback per seller and the website search are included. Deeper buyer feedback, past the newest 5 per seller, is $0.25 per 1,000 feedback rows.

### What you get

- **Contacts**: on EU marketplaces (amazon.de, .fr, .it, .es, .nl, .se, .pl, .com.be) sellers publish their email, phone, VAT number, trade register number, business type, business address and customer service address; you get every one of them. amazon.com and amazon.co.uk give the legal business name and address (and the VAT and register numbers on .co.uk).
- **Ratings**: stars, rating counts and the share of positive, neutral and negative ratings over 30 days, 90 days, 12 months and lifetime, with the star breakdown.
- **Buyer feedback**: the newest 5 per seller on its row: rating, date, text, Amazon's strike-through ('Amazon takes responsibility for this fulfillment experience') and the seller's reply. Want more? Set 💬 Buyer feedback per seller up to 5,000: the rest go one row each to the 💬 Buyer feedback dataset, newest first.
- **The seller's own website** (opt-in, 🌐 Find the seller's website): found from the domain of the seller's email, a link in its About text or its business name, and kept only when the site shows the seller's VAT or register number, postcode or legal name; with the emails, phones and social links on it.
- **Where it was found**: the products (ASINs) whose offers show the seller.

### Inputs

- **🔗 Amazon links**: seller profiles (`https://www.amazon.de/sp?seller=A18EE9GVRFMIY1`) and storefronts (`/s?me=…`), products (`/dp/ASIN`), searches (`/s?k=…`, `/b?node=…`) and best seller lists (`/gp/bestsellers/…`, `/zgbs/…`), on any Amazon site. Each link is read on its own marketplace.
- **🔍 Search keywords**: searched on **🌍 Marketplace**, like a shopper types them.
- **🏪 Seller IDs** and **📦 ASINs**: read on 🌍 Marketplace.
- **🏪 Max sellers per link or keyword** (default 100), **📦 Products to check per search or list** (default 100), **Max sellers in the run** (no limit by default), **💬 Buyer feedback per seller** (5; 0 to 5,000), **🌐 Find the seller's website** (off).

A product's sellers are the ones on its all-offers panel: the buy box seller first, then every other offer. Amazon's own offers (Amazon, Amazon.de, Amazon EU, Amazon Resale, Amazon Retourenkauf...) are never a row. A seller that several products or inputs show is one row (the run summary lists where else it was found).

The input keys of other Amazon seller scrapers work too: `searchQueries`, `marketplaces`, `marketplace`, `maxItemsPerQuery`, `maxItemsPerStartUrl`, `maxProductsPerQuery`, `maxProductsPerCategory`, `maxResults`, `includeFeedback`, `enrichEmails`, `findCompanyWebsite`, `sellerUrls`, `productUrls`, `categoryUrls`, `categoryOrProductUrls`.

### Output

One row per seller and marketplace, in the order found. Views: 📊 Overview, 📇 Contacts, 📈 Stats, 💬 Feedback and 🌐 Website.

| Field | What it is |
|---|---|
| `logo` | The seller's logo (null when it has none) |
| `sellerName` | The seller's display name on Amazon |
| `businessName` | The registered business name |
| `email` | The email Amazon publishes for the seller (EU marketplaces) |
| `phone` | The phone number Amazon publishes, as shown |
| `contactEmail` | Amazon's email, else the first one on the seller's own website |
| `vatNumber` | The VAT number (EU and UK marketplaces) |
| `registrationNumber` | The trade register (company registration) number |
| `businessType` | As Amazon words it, e.g. 'Privately-owned business' |
| `isBusinessSeller` | True when the profile says 'Business seller'; null when it says nothing |
| `businessAddress` | The business address on one line |
| `addressLines` | The business address, one line each |
| `addressCountryCode` | The business address's country code |
| `customerServiceAddress` | The customer service address, when the seller gives a separate one |
| `sellerUrl` | The seller's Amazon profile page |
| `storefrontUrl` | The seller's storefront |
| `rating12mStars`, `rating12mCount`, `rating12mPositivePercent`, `rating12mNeutralPercent`, `rating12mNegativePercent` | Stars, ratings and the shares of 4-5, 3 and 1-2 star ratings over 12 months |
| `rating30dStars`, `rating30dCount`, `rating30dPositivePercent`, `rating30dNeutralPercent`, `rating30dNegativePercent` | The same over 30 days |
| `rating90dStars`, `rating90dCount`, `rating90dPositivePercent`, `rating90dNeutralPercent`, `rating90dNegativePercent` | The same over 90 days |
| `ratingLifetimeStars`, `ratingLifetimeCount`, `ratingLifetimePositivePercent`, `ratingLifetimeNeutralPercent`, `ratingLifetimeNegativePercent` | The same, lifetime |
| `ratingLifetimePositiveCount`, `ratingLifetimeNeutralCount`, `ratingLifetimeNegativeCount` | How many 4-5, 3 and 1-2 star ratings, lifetime |
| `rating12mBreakdown`, `ratingLifetimeBreakdown` | Each star level: '5 star: 84% (1,131)' |
| `feedbackSummary` | The profile's header line, e.g. '4.5 out of 5 stars 91% positive in the last 12 months (1341 ratings)' |
| `feedback` | The newest buyer feedback (up to 5), newest first: '5★ 2026-10-21 Name: text' |
| `feedbackJson` | The same as JSON: rating, date, text, rater, removedByAmazon, removalReason, sellerResponse, sellerResponseDate, fulfillmentChannel, hasFulfillmentBadge |
| `feedbackCount` | How many feedback entries were read for the seller: the newest 5 on the row, the rest in the Buyer feedback dataset |
| `feedbackComplete` | True: every feedback the seller has was read; false: there is more |
| `about`, `aboutSnippet` | The seller's 'About Seller' text, and its first 50 characters |
| `otherDetails` | Any other labelled line of the seller's details, as 'Label: value' |
| `website` | The seller's own website, confirmed (🌐 Find the seller's website) |
| `websiteFoundBy` | emailDomain, aboutText or nameGuess |
| `websiteMatchedBy` | registerNumber, postcode or businessName: what the site shows |
| `websiteEmails`, `websitePhones`, `websiteSocialUrls` | Emails, phone links and social profiles on the website |
| `websiteCandidate` | A site that answered but showed none of the seller's numbers, postcode or legal name: nothing is taken from it |
| `sourceAsins` | The products (ASINs) whose offers showed this seller; null for a seller you gave |
| `sellerId` | Amazon's merchant id |
| `marketplace` | The Amazon site the profile was read on |
| `input` | The link, keyword or ID that found the seller first |
| `scrapedAt` | When the profile was read (UTC) |

**💬 Buyer feedback dataset** (with 💬 Buyer feedback per seller above 5): one row per feedback past each seller's newest 5, newest first: `sellerId`, `sellerName`, `marketplace`, `position` (6 is the newest after the row's 5), `rating`, `date`, `text`, `rater`, `removedByAmazon`, `removalReason`, `sellerResponse`, `sellerResponseDate`, `fulfillmentChannel`, `hasFulfillmentBadge`, `sellerUrl`, `input`, `scrapedAt`. It's under Storage and in the run's Output tab.

The run summary (OUTPUT) gives, per input, the sellers delivered, the products checked, the products without a third-party seller and the sellers found again, and for the run the feedback and website counts.

### Pricing

Pay per seller, no start fee: $2.38 per 1,000 on Free, **$1.99 on Starter**, $1.69 on Scale, $1.49 on Business. Products checked to find sellers, the newest 5 buyer feedback per seller and the website search cost nothing extra. Buyer feedback past the newest 5 (💬 Buyer feedback per seller above 5) is $0.25 per 1,000 feedback rows, on every plan: 100 sellers with 50 feedback each cost $0.20 + 4,500 × $0.00025 = $1.32 on Starter. A seller Amazon doesn't show (an ID that doesn't exist) and Amazon's own accounts are never charged. Your spending limit stops the run: sellers and feedback are read only while it pays for them.

### FAQ

**Which marketplaces give email and phone?** The EU ones: the seller information sellers must publish there includes them. On amazon.com a profile shows the legal business name and address (INFORM Consumers Act); turn on 🌐 Find the seller's website to look for contacts on the seller's own site.

**Why are some products left without a seller?** Amazon sells many products itself, and its offers are not sellers' rows. Raise 📦 Products to check per search or list to find more sellers in a search or list.

**Does it need a login or cookies?** No. Profiles, offers and buyer feedback are read logged out, through Apify's datacenter proxies.

**Can I run it on a schedule?** Yes: schedule the run in Apify to refresh ratings and feedback; each run charges the sellers it returns.

### Related Actors

- [Amazon Scraper](https://apify.com/deepmine/amazon-scraper): products, search results and best seller lists with full details, offers and seller profiles.
- [Amazon ASIN Scraper](https://apify.com/deepmine/amazon-asin-scraper): bulk product lookup by ASIN, with every offer.

### Your feedback

Found a seller field you need, or a page that didn't read right? Open an issue on the Issues tab. Happy with the data? A short review on the Actor's page helps other users find it.

# Actor input Schema

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

Seller profiles (amazon.de/sp?seller=…) or storefronts, products (/dp/ASIN), searches (/s?k=…) or best seller lists, on any Amazon site: each link is read on its own site. A product's sellers come from its offers, buy box first.

## `keywords` (type: `array`):

Products to search for, as a shopper types them, e.g. phone case. The sellers of the results come back in result order, buy box first. Searched on 🌍 Marketplace.

## `domain` (type: `string`):

For keywords, seller IDs and ASINs (a link keeps its own site). EU sites publish sellers' email, phone, VAT and register numbers; amazon.com their business name and address.

## `maxSellersPerInput` (type: `integer`):

Sellers per link or keyword, in the order found. You pay per seller: once per run, however many products show it. Products checked are free.

## `maxFeedbackPerSeller` (type: `integer`):

Newest buyer feedback per seller: rating, date, text, Amazon's strike-through and the seller's reply. The newest 5 are on the seller's row, in its price. Above 5, the rest (up to 5,000 per seller) go one row each to the 💬 Buyer feedback dataset, at $0.25 per 1,000. 0 = none.

## `findWebsite` (type: `boolean`):

Adds the seller's own website, kept only when it shows the seller's VAT or register number, postcode or legal name, and the emails, phones and social links on it. Slower. No extra charge.

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

Amazon merchant ids, e.g. A18EE9GVRFMIY1 (the seller= part of a seller link), read on 🌍 Marketplace.

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

Products by ASIN, e.g. B0D1CHFY21: their sellers come back, buy box first.

## `maxProductsPerInput` (type: `integer`):

How far down a search or list to look for sellers. Many products are sold by Amazon itself (no seller row): check more to find more sellers. Free.

## `maxItems` (type: `integer`):

Stops the whole run at this many sellers. Empty = no limit but the one per link or keyword.

## `proxyConfiguration` (type: `object`):

Leave as is: Apify datacenter proxies work for Amazon. Residential is replaced by datacenter (it costs more per page than a row earns).

## `categoryOrProductUrls` (type: `array`):

The same as 🔗 Amazon links.

## `searchQueries` (type: `array`):

The same as 🔍 Search keywords.

## `marketplaces` (type: `array`):

Several marketplaces for the keywords (de, co.uk, com...); used when 🌍 Marketplace is not set.

## `maxItemsPerStartUrl` (type: `integer`):

The same as 🏪 Max sellers per link or keyword.

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

The same as Max sellers in the run.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.amazon.de/gp/bestsellers/ce-de/364918031"
    },
    {
      "url": "https://www.amazon.de/sp?seller=A18EE9GVRFMIY1"
    }
  ],
  "domain": "www.amazon.com",
  "maxSellersPerInput": 20,
  "maxFeedbackPerSeller": 5,
  "findWebsite": false,
  "maxProductsPerInput": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `feedbackUrl` (type: `string`):

No description

## `summary` (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 = {
    "startUrls": [
        {
            "url": "https://www.amazon.de/gp/bestsellers/ce-de/364918031"
        },
        {
            "url": "https://www.amazon.de/sp?seller=A18EE9GVRFMIY1"
        }
    ],
    "maxSellersPerInput": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("deepmine/amazon-seller-contacts-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 = {
    "startUrls": [
        { "url": "https://www.amazon.de/gp/bestsellers/ce-de/364918031" },
        { "url": "https://www.amazon.de/sp?seller=A18EE9GVRFMIY1" },
    ],
    "maxSellersPerInput": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("deepmine/amazon-seller-contacts-scraper").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 '{
  "startUrls": [
    {
      "url": "https://www.amazon.de/gp/bestsellers/ce-de/364918031"
    },
    {
      "url": "https://www.amazon.de/sp?seller=A18EE9GVRFMIY1"
    }
  ],
  "maxSellersPerInput": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call deepmine/amazon-seller-contacts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,deepmine/amazon-seller-contacts-scraper"
        }
    }
}
```

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/BkrEOqtbU16uI4E3K/builds/AoHpwkRpTb0Bvgcsg/openapi.json
