# Mass Bandcamp Email Scraper (`scraper-mind/bandcamp-email-scraper`) Actor

\[𝗖𝗵𝗲𝗮𝗽𝗲𝘀𝘁 𝗣𝗿𝗶𝗰𝗲] Bandcamp Email Scraper extracts publicly available artist and label emails from Bandcamp pages for targeted research and outreach. Fast, accurate, keyword-based, and easy to use.

- **URL**: https://apify.com/scraper-mind/bandcamp-email-scraper.md
- **Developed by:** [Scraper Mind](https://apify.com/scraper-mind) (community)
- **Categories:** Lead generation, Social media
- **Stats:** 34 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$4.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#rental-actors

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

### Bandcamp Email Scraper — The Ultimate Guide to Collecting Bandcamp Emails (Fast & Accurate)

The **Bandcamp Email Scraper** is a powerful tool designed to extract **Bandcamp emails** from artist pages, community posts, album descriptions, and profile bios. It scans Bandcamp for profiles related to your chosen keywords—such as *indie rock*, *electronic*, or *jazz*—and automatically pulls verified email addresses linked to those artists or labels. ✨

This scraper is especially valuable for **music marketers**, **A\&R teams**, **playlist curators**, **record labels**, and **independent artists** looking to grow their outreach lists. By using this tool, you can build targeted email lists effortlessly, improve your marketing reach, and accelerate your promotional campaigns. 🚀
Using a **Bandcamp email scraper** gives you a competitive SEO advantage by allowing you to gather niche-specific leads based on intent-rich keywords.

***

### 📦 What Bandcamp Email Scraper can I extract?

Below is a snapshot of the data types this scraper retrieves from Bandcamp profiles. 👇

| Extracted Data Type | Description                                                        |
| ------------------- | ------------------------------------------------------------------ |
| **Title**           | Page or album title where the email was found                      |
| **Description**     | Snippet from the Bandcamp page containing the email                |
| **URL**             | Direct link to the Bandcamp profile, album, or community post      |
| **Email**           | Extracted Bandcamp email address (filtered by domains if provided) |
| **Keyword**         | Keyword used to find the result                                    |
| **Network**         | Always “Bandcamp.com”                                              |

This scraper captures everything needed for precise outreach—especially when searching by specific genres, locations, or email domains. ⭐

***

### 🌟 Key Features of Bandcamp Email Scraper

Here are the most powerful features you get when using the **Bandcamp Email Scraper**:

- 🔍 **Keyword-Based Search**
  Enter keywords like *indie rock*, *synthwave*, or *lofi hip hop* to find highly targeted Bandcamp emails.

- 📧 **Custom Email Domain Filtering**
  Extract only certain types of email addresses (e.g., **@gmail.com**, **@yahoo.com**, **@protonmail.com**).

- ⚡ **Fast & Cost-Effective Engine**
  Choose the optimized *Cost Effective* engine for speed and lower scraping costs.

- 🎯 **High Accuracy Detection**
  The scraper searches Bandcamp bios, community posts, and album descriptions for maximum hit rates.

- 🛑 **Max Email Limit Control**
  Set your email cap (1–10,000) to control performance and cost.

- 🌍 **Location & Platform Filters**
  Optional filtering by location for more narrowed-down results.

- 🔁 **Multiple Keywords Support**
  Enter a whole list of keywords to collect deeply relevant Bandcamp emails at scale.

***

### 🧭 How to use Bandcamp Email Scraper

Follow this step-by-step guide to run your **Bandcamp Email Scraper** smoothly:

1. 🔑 **Log in to Apify**
   Create a free account or sign in.

2. 🎭 **Select the Actor**
   Search for **“Bandcamp Email Scraper”** in the Apify Store.

3. 📥 **Enter Input Data**
   Paste your keywords and custom domains just like this:

   ```json
   {
     "keywords": ["indie rock"],
     "customDomains": ["@gmail.com"]
   }
   ```

4. ⚙️ **Choose Your Options**
   Adjust:

   - Max emails
   - Engines (Cost-Effective or Legacy)
   - Proxy configuration

5. ▶️ **Run the Actor**
   Hit **Start** and let the scraper collect Bandcamp emails automatically.

6. 📤 **Download Results**
   Export your data in JSON, CSV, or Excel for campaigns or CRM upload.

This process is simple, beginner-friendly, and designed for both individual creators and large marketing teams.

***

### 🎯 Use Cases

Here’s how businesses, creators, and marketers use the **Bandcamp Email Scraper**:

- 🎧 **Music Promotion Agencies**
  Build highly targeted genre-specific outreach lists to pitch playlists, PR, or collaborations.

- 🏷️ **Record Labels & A\&R Teams**
  Discover new artists by searching keywords such as *indie rock*, *experimental*, or *folk*.

- 🛍️ **Merch & Music E-commerce Brands**
  Reach independent artists directly for product partnerships and promotions.

- 🧪 **Music Industry Researchers**
  Analyze trends, locations, or artist types based on emails and profiles.

- 🧑‍🎤 **Independent Artists**
  Reach out to bands and labels for splits, features, or marketing swaps.

- 📣 **PR Teams & Publicists**
  Build structured lists for press campaigns and content collaborations.

***

### ⭐ Why choose us?

- 🧠 **Industry-Focused Accuracy**
  Designed specifically for Bandcamp, unlike generic email scrapers.

- 🚀 **Speed & Efficiency**
  Optimized engine for lightning-fast scanning.

- 💸 **Cost-Control Options**
  Limit emails to stay within your budget.

- 🔒 **Safe & Compliant**
  Built with responsible scraping practices.

- 💬 **Support On Demand**
  Need custom features? Contact us anytime at **<scrapermindapi@gmail.com>**.

- 📈 **SEO-Optimized Output**
  Clean and structured results ideal for high-performance workflows.

***

### 📊 How many results can you scrape with Bandcamp Email Scraper?

The number of results depends on:

- your **keywords**,
- chosen **email domains**,
- and **Bandcamp’s availability of visible emails**.

With broad keywords like *indie rock* or *electronic*, you can easily extract **hundreds to thousands** of Bandcamp emails. More niche keywords will yield fewer but highly targeted results.

You can set your **maxEmails** input anywhere from **1 to 10,000**, allowing the scraper to stop once your limit is reached. This protects your resources and ensures that you never overrun your budget.

Because Bandcamp profiles vary widely, the scraper systematically scans:

- Bio sections
- Album/track pages
- Community posts
- Label pages

This ensures maximum coverage for each keyword. With smart domain filtering (e.g., **@gmail.com**, **@protonmail.com**), you can refine your results even further for precision outreach. 🎯

### 🔧 Input Parameters

#### Example Input JSON

```json
{
  "customDomains": ["@gmail.com"],
  "keywords": ["indie rock"]
}
```

#### Input Parameters Table

| Parameter              | Type    | Description                                |
| ---------------------- | ------- | ------------------------------------------ |
| **keywords**           | array   | Keywords to search for on Bandcamp         |
| **location**           | string  | Optional location filter                   |
| **platform**           | string  | Platform selection (Bandcamp only)         |
| **customDomains**      | array   | Email domains to filter (e.g., @gmail.com) |
| **maxEmails**          | integer | Max number of emails to extract            |
| **engine**             | string  | Cost-effective or legacy scraping engine   |
| **proxyConfiguration** | object  | Proxy settings for the Actor               |

***

### 📤 Output Format

#### Example Output JSON

```json
[
  {
    "network": "Bandcamp.com",
    "keyword": "indie rock",
    "title": "Indie or Die Records' Community - Bandcamp",
    "description": "Shoegaze, post-punk and indie rock mostly...",
    "url": "https://indieordierecords.bandcamp.com/community",
    "email": "indie.or.die1989@gmail.com"
  }
]
```

#### Output Fields Table

| Field           | Description                     |
| --------------- | ------------------------------- |
| **network**     | Always "Bandcamp.com"           |
| **keyword**     | Keyword used to find this entry |
| **title**       | Page title                      |
| **description** | Extracted text snippet          |
| **url**         | Link to Bandcamp page           |
| **email**       | Extracted email address         |

***

### ❓ FAQ

#### 1. Does the Bandcamp Email Scraper find only public emails?

Yes — it extracts **only publicly visible** emails from Bandcamp.

#### 2. Can I filter results by domain like @gmail.com?

Absolutely! Use **customDomains** for domain filtering.

#### 3. How many Bandcamp emails can I extract?

Anywhere from **1 to 10,000**, depending on your keyword breadth.

#### 4. Does it work for multiple genres at once?

Yes — simply add multiple keywords like:
`["indie rock", "folk", "metal"]`.

#### 5. Do I need proxies?

Optional — but recommended for large-scale scraping.

#### 6. Are results downloadable?

Yes — export in JSON, CSV, or Excel.

#### 7. Can I use this scraper for marketing outreach?

Yes, but follow all relevant anti-spam and data privacy laws.

#### 8. Is Bandcamp supported exclusively?

Yes — it's specialized for **Bandcamp.com** for maximum accuracy.

# Actor input Schema

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

A list of keywords to search for.

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

Location to filter search results.

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

Select platform.

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

List of custom email domains

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

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `perKeywordMaxContacts` (type: `boolean`):

ON (default): "Max Emails" is a target for EACH keyword, so the scraper keeps going through every keyword instead of stopping as soon as the first one fills up. OFF: "Max Emails" is a single total for the whole run. ⚠️ Heads-up: with this ON the run can collect (and be billed for) Max Emails × number of keywords, and takes proportionally longer.

## `perEmailExtensionMaxContacts` (type: `boolean`):

ON (default): "Max Emails" is a target for EACH custom email domain, so the scraper works through every extension instead of stopping once the first one fills up. OFF: extensions share one budget. ⚠️ Heads-up: with this ON the run can collect (and be billed for) Max Emails × number of email extensions, and takes proportionally longer.

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

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "indie rock"
  ],
  "location": "",
  "platform": "Bandcamp",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "perKeywordMaxContacts": true,
  "perEmailExtensionMaxContacts": true
}
```

# Actor output Schema

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

Records produced by Mass Bandcamp Email Scraper, stored in the run's default dataset.

# 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": [
        "indie rock"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraper-mind/bandcamp-email-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": ["indie rock"],
    "location": "",
    "customDomains": ["@gmail.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("scraper-mind/bandcamp-email-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 '{
  "keywords": [
    "indie rock"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ]
}' |
apify call scraper-mind/bandcamp-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraper-mind/bandcamp-email-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/t7PcuUeVj2uhbJInX/builds/miqIvy7PuiKcfXNzM/openapi.json
