# 📦 Amazon B2B Email Scraper (`scraper-engine/amazon-b2b-emails-scraper`) Actor

📦 Amazon B2B Email Scraper extracts verified business emails from Amazon B2B listings. 🚀 Fast, targeted lead generation for sales & outreach. 💼 Perfect for B2B research, marketing, and recruiting—save time, boost ROI. ✅

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

## Pricing

from $4.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 B2B Email Scraper

**Automatically discover verified business emails from Amazon seller profiles and product listings** using automated public web discovery — no Amazon login required, no API keys needed.

> 📊 **Tier Rating:** TIER 4 — Poor (anti-scraping)

> ⚠️ **Note:** This platform has strong anti-scraping protections. Residential proxy is highly recommended. Expect lower yield compared to Tier 1/2 platforms.

***

### 🚀 Why Choose This Actor?

- ⚡ **Fast & Efficient** — Uses browser impersonation (not a full headless browser) for maximum speed with minimal resource usage
- 🎯 **B2B Focused** — 29 pre-built search patterns specifically engineered to find corporate emails (not Gmail/Yahoo noise)
- 🔒 **Reliable Connection Handling** — Automatic retry logic keeps collection running smoothly
- 📊 **Live Results** — Each email is saved to your dataset in real time as it's discovered
- 🌍 **Location Targeting** — Filter results by city, region, or country for hyper-local prospecting
- 🔑 **Multi-Keyword** — Process dozens of industries/niches in a single run

***

### ✨ Key Features

- 🏢 **B2B Mode** — Corporate email discovery (contact@, info@, team@, domain-specific)
- 👤 **Personal Mode** — Broader discovery including all email types
- 🎨 **29 Pattern Templates** — From booking emails to sponsorship inquiries
- 🔄 **Smart Deduplication** — Each email address appears only once in your results
- 📍 **Geographic Filtering** — Target specific cities or regions
- 🌐 **Platform Locked to Amazon** — Optimized search queries for Amazon.com
- ⚡ **Jitter Delays** — Human-like request timing to avoid detection
- 📈 **Real-Time Progress** — Live status updates and per-result logging

***

### 📥 Input Configuration

```json
{
  "keywords": ["marketing", "restaurants", "fitness"],
  "platform": "Amazon.com",
  "location": "London",
  "mode": "b2b",
  "maxEmails": 50,
  "maxEmailsPerPattern": 15,
  "patterns": ["email_for_bookings", "bio_email_basic", "contact_at_domain"],
  "proxyConfiguration": { "useApifyProxy": false }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `keywords` | `array` | 🔑 Industries/niches to search (required) |
| `platform` | `string` | 🌐 Platform domain (default: `Amazon.com`) |
| `location` | `string` | 📍 City/region filter (optional, leave empty for global) |
| `mode` | `string` | 🎯 `b2b` (corporate emails) or `personal` (all types) |
| `maxEmails` | `integer` | 📊 Total email cap (1–50000, default: 10) |
| `maxEmailsPerPattern` | `integer` | 🔢 Per-pattern cap in B2B mode (default: 15) |
| `selectedPatterns` | `array` | 🎨 Specific patterns (empty = all 29 patterns) |
| `proxyConfiguration` | `object` | 🔒 Proxy settings (default: recommended configuration) |

***

### 📤 Output Format

Each discovered email is saved as a row in the Apify dataset:

```json
{
  "email": "info@example-business.com",
  "leadType": "b2b",
  "pattern": "email_for_bookings",
  "keyword": "marketing",
  "location": "London",
  "network": "Amazon.com",
  "title": "For bookings email info@example-business.com",
  "description": "Professional marketing agency serving London businesses...",
  "url": "https://www.amazon.com/...",
  "scraped_at": "2026-05-25T15:00:00Z"
}
```

| Field | Description |
|-------|-------------|
| `email` | ✅ The discovered business email address |
| `leadType` | 🏷️ `b2b` or `personal` |
| `pattern` | 🎨 B2B search pattern that found this email |
| `keyword` | 🔑 Keyword used in the search |
| `location` | 📍 Location filter applied |
| `network` | 🌐 Platform (e.g., Amazon.com) |
| `title` | 📋 Result title containing the email |
| `description` | 📝 Snippet text describing the result |
| `url` | 🔗 Source Amazon page URL |
| `scraped_at` | ⏰ UTC timestamp when the email was found |

***

### 🎨 Available B2B Patterns

| Pattern | What It Finds |
|---------|--------------|
| `email_for_bookings` | 📅 Booking & reservation emails |
| `bio_email_basic` | 📧 Bio email mentions with emoji |
| `job_applications` | 💼 Hiring & careers emails |
| `email_direct_mention` | 📬 Direct "email us at" posts |
| `contact_at_domain` | 🏢 `info@`, `contact@`, `hello@`, etc. |
| `business_development` | 🤝 B2B & partnership emails |
| `careers_hiring` | 👥 Recruitment contacts |
| `hr_recruitment` | 🏭 HR department emails |
| `customer_service` | 🎧 Support & help desk emails |
| `sponsor_me` | 💰 Sponsorship opportunity emails |
| `professional_services` | 🔧 Agency & consulting contacts |
| `bio_email_emoji_extended` | 💌 📩 📮 Emoji email mentions |
| `dm_or_email` | 💬 DM or email CTA posts |
| + 16 more | ... |

***

### 🚀 How to Use (Apify Console)

1. 🔐 Log in at [console.apify.com](https://console.apify.com) → **Actors**
2. 🔍 Find **Amazon B2B Email Scraper** and click it
3. ⚙️ Configure your inputs:
   - Add your target keywords (e.g., `marketing`, `restaurants`)
   - Set your location (e.g., `London`, `New York`)
   - Choose mode: `B2B` for corporate emails
   - Set max emails (e.g., `100`)
4. ▶️ Click **Start**
5. 📊 Watch real-time logs as emails are discovered
6. 📋 Open the **Output** tab to see your results table
7. 📁 Export to **JSON / CSV / Excel**

***

### 🔒 Reliability

The actor automatically retries transient connection issues so a single hiccup does not interrupt your run — failed requests are retried before being skipped, and collection continues with the next query.

***

### 🎯 Best Use Cases

- 🏪 **Seller Outreach** — Find contact emails of active marketplace sellers
- 📍 **Local Vendor Prospecting** — Target vendors in specific cities or regions
- 🤝 **Supplier Discovery** — Find supplier and wholesaler contact emails
- 📧 **Email List Building** — Build verified seller email lists for B2B campaigns
- 🔍 **Market Research** — Identify top sellers and vendors in your niche

***

### ⚠️ Legal & Ethical Notice

- This actor only collects data from **publicly available**, indexed web sources
- Only emails that appear in **public Amazon content** are collected.
- Users are responsible for compliance with **GDPR, CAN-SPAM, CCPA**, and applicable laws
- Do not use collected emails for spam or unsolicited bulk messaging
- Review Amazon's Terms of Service and applicable third-party terms before use

***

### ❓ Frequently Asked Questions

**Q: Does this need a Amazon account?**
A: No — it searches publicly indexed Amazon content.

**Q: Will it find private account emails?**
A: No — only publicly indexed Amazon content is searched.

**Q: How many emails can I collect per run?**
A: Up to 50,000 per run. Run multiple times for larger lists.

**Q: What makes B2B mode different?**
A: B2B mode filters out Gmail, Yahoo, Outlook, and other personal email domains, returning only corporate/domain-specific emails.

**Q: Do I need Apify proxies?**
A: Proxies are recommended and enabled by default for the most reliable results.

***

### 📞 Support & Feedback

- 🐛 Report issues in the **Issues** tab
- 💡 Feature requests welcome
- ⭐ If this actor saves you time, please leave a review!

# Actor input Schema

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

🔎 Search terms for Amazon via Google (e.g. author, keynote speaker, life coach). ✨ Add one or many keywords.

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

👤 personal = Gmail/Outlook discovery | 🏢 b2b = corporate email patterns

## `customDomains` (type: `array`):

👤 Personal mode: filter results to these domains (e.g. @gmail.com, @outlook.com). ⏭️ Ignored in B2B mode.

## `patterns` (type: `array`):

🏢 B2B only: 📂 empty list runs all patterns; or name specific keys from b2b\_patterns.py (e.g. email\_for\_bookings, bio\_email\_basic).

## `platform` (type: `string`):

📱 Target platform for email discovery (locked to Amazon).

## `location` (type: `string`):

🗺️ Geographic filter added to search queries (e.g. London, New York). 🌍 Leave empty for global results.

## `maxEmails` (type: `integer`):

🎯 Maximum number of emails to collect across all keywords and patterns.

## `maxEmailsPerPattern` (type: `integer`):

📈 Cap emails collected per B2B search pattern (🏢 B2B mode only).

## `useProxy` (type: `boolean`):

✅ Enable proxy for Google Search requests. ⭐ Recommended: on for best results.

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

🔧 Optional proxy override when 🛡️ Use Apify Proxy is enabled. 🎯 Leave as default for best performance.

## Actor input object example

```json
{
  "keywords": [
    "author",
    "keynote speaker",
    "life coach"
  ],
  "mode": "b2b",
  "customDomains": [
    "@outlook.com",
    "@gmail.com"
  ],
  "patterns": [
    "email_for_bookings",
    "bio_email_basic",
    "contact_at_domain",
    "business_development"
  ],
  "platform": "Amazon.com",
  "location": "",
  "maxEmails": 10,
  "maxEmailsPerPattern": 15,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "GOOGLE_SERP"
    ]
  }
}
```

# 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 = {
    "keywords": [
        "author",
        "keynote speaker",
        "life coach"
    ],
    "customDomains": [
        "@outlook.com",
        "@gmail.com"
    ],
    "patterns": [
        "email_for_bookings",
        "bio_email_basic",
        "contact_at_domain",
        "business_development"
    ],
    "location": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraper-engine/amazon-b2b-emails-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 = {
    "keywords": [
        "author",
        "keynote speaker",
        "life coach",
    ],
    "customDomains": [
        "@outlook.com",
        "@gmail.com",
    ],
    "patterns": [
        "email_for_bookings",
        "bio_email_basic",
        "contact_at_domain",
        "business_development",
    ],
    "location": "",
}

# Run the Actor and wait for it to finish
run = client.actor("scraper-engine/amazon-b2b-emails-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 '{
  "keywords": [
    "author",
    "keynote speaker",
    "life coach"
  ],
  "customDomains": [
    "@outlook.com",
    "@gmail.com"
  ],
  "patterns": [
    "email_for_bookings",
    "bio_email_basic",
    "contact_at_domain",
    "business_development"
  ],
  "location": ""
}' |
apify call scraper-engine/amazon-b2b-emails-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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