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

Bandcamp Email Scraper finds publicly indexed Bandcamp contact emails using targeted keywords, locations, and custom email domains. Build structured music industry lead lists with titles, descriptions, URLs, and email addresses in an Apify Dataset.

- **URL**: https://apify.com/email\_scraper/bandcamp-email-scraper.md
- **Developed by:** [Email Scraper](https://apify.com/email_scraper) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 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.
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

### 🔍 Bandcamp Email Scraper – Overview

**Bandcamp Email Scraper** is an Apify Actor designed to discover publicly indexed email addresses associated with Bandcamp search results using targeted keywords, optional locations, and selected email domains.

It is useful for music industry research, artist discovery, producer outreach, contact-list building, promotion research, and other workflows where publicly indexed Bandcamp contact information is relevant.

Instead of requiring you to manually search Bandcamp-related results one by one, **Bandcamp Email Scraper** combines your search terms with email-domain filters and processes relevant search results automatically. The resulting leads are stored in an Apify Dataset in a structured format.

> 💡 **Quick summary:** Enter keywords such as `Artist`, `Producer`, or `Music Producer`, optionally specify a location, choose email domains such as `@gmail.com`, and set the maximum number of emails per keyword + domain combination.

The Actor searches for Bandcamp-related results through search-engine discovery. Email addresses are extracted when they appear in the available search-result description/snippet and match the selected email-domain suffix.

This makes **Bandcamp Email Scraper** particularly useful when your goal is to discover contact information connected to specific music-related search intents rather than manually reviewing large numbers of results.

***

### 🔎 Bandcamp Email Scraper – SEO Description

**Bandcamp Email Scraper finds publicly indexed Bandcamp contact emails using targeted keywords, locations, and custom email domains. Extract structured lead data with titles, descriptions, URLs, and emails into an Apify Dataset.**

***

### 🔹 Bandcamp Email Scraper – Key Features

> ⭐ **Key Features**
>
> - Search Bandcamp-related results using multiple keywords.
> - Target artists, producers, musicians, labels, and other relevant terms.
> - Optionally narrow searches with a country, state, or city.
> - Search for specific email-domain suffixes.
> - Use multiple email domains in the same run.
> - Set a maximum email target for each keyword + domain combination.
> - Exclude results containing unwanted words or phrases.
> - Automatically avoid duplicate email addresses.
> - Store results incrementally in an Apify Dataset.
> - Preserve run progress so an interrupted workflow can continue from its saved position.

**Bandcamp Email Scraper** is built around search intent. More specific keywords can help you target narrower audiences, while broader keywords can provide wider discovery.

For example, instead of using only `Music`, you can test terms such as `Artist`, `Music Producer`, `Record Label`, `Singer`, or `Independent Artist`.

***

### 🎯 Bandcamp Email Scraper – Why Use It?

Finding relevant music contacts manually can require repeated searches, copying information, checking descriptions, and removing duplicate emails.

**Bandcamp Email Scraper** turns that repetitive discovery process into a structured data-collection workflow.

> 📌 **Why use Bandcamp Email Scraper?**
>
> - Build structured Bandcamp lead datasets.
> - Research artists and music professionals by search intent.
> - Target specific regions with optional location terms.
> - Search multiple email domains in one run.
> - Reduce duplicate contact records automatically.
> - Apply exclusion terms to remove unwanted search-result snippets.
> - Receive results in an Apify Dataset rather than maintaining a manual spreadsheet.

The Actor can be useful for marketers, music promoters, agencies, researchers, record labels, producers, talent discovery teams, and businesses that need publicly indexed music-related contact information.

Because the Actor depends on information available in search-result descriptions, results depend on what is publicly indexed and available for the selected query.

***

### 📊 Bandcamp Email Scraper – What Data You Can Extract

**Bandcamp Email Scraper** produces structured lead records containing the search keyword, result title, description, URL, and discovered email.

The Actor also pushes a `network` field identifying the source as `Bandcamp.com`.

| Field         | Description                                                       | Default Dataset View |
| ------------- | ----------------------------------------------------------------- | -------------------- |
| `network`     | Identifies the source as `Bandcamp.com`                           | Not displayed        |
| `keyword`     | Keyword used for the search                                       | Yes                  |
| `title`       | Title of the discovered search result                             | Yes                  |
| `description` | Search-result description/snippet containing the discovered email | Yes                  |
| `url`         | URL returned by the search result                                 | Yes                  |
| `email`       | Email address matching the selected domain suffix                 | Yes                  |

> 📦 **Output:** The configured Apify Dataset view displays `keyword`, `title`, `description`, `url`, and `email`. The Actor also includes `network` in the underlying pushed record.

The `description` field is especially useful because it provides the surrounding search-result context associated with the discovered email.

***

### ⚙️ Bandcamp Email Scraper – How to Use It

Using **Bandcamp Email Scraper** requires only a few configuration steps.

#### 🔹 1. Enter Your Keywords

Add one or more keywords or search queries.

Examples:

- `Artist`
- `Producer`
- `Music Producer`
- `Singer`
- `Record Label`
- `Independent Artist`

Specific search terms can produce more focused results. Combining several related keywords can also broaden discovery.

#### 🔹 2. Add an Optional Location

The `location` field can contain a country, state, city, or other geographic term.

Examples:

- `New York`
- `Los Angeles`
- `London`
- `Canada`
- `Australia`

Leave the field empty when you want the search to run without a geographic filter.

The location is used as part of the search query, so it should be treated as a search-narrowing signal rather than a guarantee that every returned contact is physically located in that region.

#### 🔹 3. Select Email Domains

The `customDomains` field lets you specify which email suffixes to search for.

Common examples include:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- `@hotmail.com`
- `@icloud.com`
- `@yourcompany.com`

Multiple domains can be supplied in the same run.

#### 🔹 4. Set the Maximum Email Target

`maxEmails` controls how many addresses a keyword + domain combination may target.

For example, with 3 keywords, 2 domains, and `maxEmails` set to 20, the Actor processes six combinations and can target up to 20 addresses for each combination.

Actual results can be lower because the Actor can only collect matching publicly indexed information.

#### 🔹 5. Add Exclusion Words

Use `excludeWords` when you want to skip search-result snippets containing unwanted terms.

For example:

- `crypto`
- `onlyfans`
- `gambling`

Matching is case-insensitive. A single word is matched as a whole word, while a phrase is matched as a phrase within the description.

***

### 🔎 How Bandcamp Email Scraper Finds Contact Emails

**Bandcamp Email Scraper** uses search-engine discovery to find Bandcamp-related results matching your configured keyword and email domain.

Conceptually, a search combines:

- The Bandcamp domain.
- Your keyword.
- Your selected email-domain suffix.
- Your optional location.

For example, a search configuration using `Producer`, `@gmail.com`, and `New York` focuses discovery around Bandcamp results matching those terms.

The Actor then examines the available search-result descriptions and identifies email addresses matching the selected domain suffix.

> 🔍 **Important:** Bandcamp Email Scraper does not claim that every email is extracted directly from a live Bandcamp profile page. The email must be available in the search-result description/snippet and match the configured domain pattern.

This distinction is important when evaluating results and planning your data-collection strategy.

***

### 🧩 How to Search Bandcamp by Keyword and Email Domain

A useful strategy is to combine role-based or music-industry keywords with several common email domains.

For example:

| Keyword          | Email Domains                | Location      |
| ---------------- | ---------------------------- | ------------- |
| `Artist`         | `@gmail.com`, `@yahoo.com`   | `New York`    |
| `Producer`       | `@gmail.com`, `@outlook.com` | `Los Angeles` |
| `Music Producer` | `@gmail.com`, `@icloud.com`  | `London`      |

This approach creates multiple keyword + domain search combinations.

If results are sparse, consider broadening the keywords, adding relevant email domains, or removing the location filter.

***

### 📍 Can You Target a Country, State, or City?

Yes. The optional `location` input accepts a manually entered geographic term.

Examples include:

- `United States`
- `Canada`
- `California`
- `New York`
- `Toronto`
- `London`

Location targeting can be useful when researching regional music markets, local artists, producers, or creative businesses.

However, geographic filtering is based on the search query. It should not be interpreted as verified location data for every individual result.

***

### 🚫 Can You Exclude Words or Phrases?

Yes. The `excludeWords` input lets you remove unwanted search-result snippets before email extraction.

For example, if you do not want snippets containing `crypto`, you can add it to the exclusion list.

> ⚠️ **Important:** When an exclusion term appears in a result description, the entire snippet is skipped. The Actor does not extract an email from that skipped description.

This can help keep a dataset more relevant when broad searches return unrelated results.

***

### 💼 Bandcamp Email Scraper – Use Cases

#### 🔹 Music Artist Discovery

Use **Bandcamp Email Scraper** to research publicly indexed artists using terms such as `Artist`, `Singer`, `Musician`, or `Independent Artist`.

#### 🔹 Producer Research

Search for producers and music professionals using keywords such as:

- `Producer`
- `Music Producer`
- `Beat Producer`
- `Audio Producer`

#### 🔹 Record Label Research

Keywords such as `Record Label`, `Independent Label`, or `Music Label` can be used to discover relevant search results.

#### 🔹 Music Promotion

Promoters and marketing teams can use structured contact datasets for researching artists or music-related businesses whose contact information is publicly indexed.

#### 🔹 Regional Music Market Research

Use the location field to focus search discovery around a specific city, state, or country.

#### 🔹 Lead Generation Research

Businesses serving musicians and creative professionals can use keyword combinations to build research datasets containing publicly indexed contact information.

#### 🔹 Competitive and Industry Research

Researchers can organize publicly indexed music-related results by keyword, URL, description, and email for further analysis.

> 📌 Always use collected contact information responsibly and comply with applicable privacy, data-protection, anti-spam, and platform rules.

***

### 📝 Input

| Input           | Type             | Required | Default              |
| --------------- | ---------------- | -------: | -------------------- |
| `keywords`      | Array of strings |      Yes | `Producer`, `Artist` |
| `location`      | String           |       No | Empty                |
| `customDomains` | Array of strings |       No | `@gmail.com`         |
| `maxEmails`     | Integer          |       No | `5`                  |
| `excludeWords`  | Array of strings |       No | Empty                |

#### 🔹 Keywords or Queries

A required list of keywords or search terms.

Use multiple related terms when you want broader discovery.

#### 🔹 Region / Location

An optional geographic search term. Leave it blank for searches without a location filter.

#### 🔹 E-mail Domain Suffixes

A list of email suffixes to include in discovery.

The default is:

`@gmail.com`

You can provide multiple values.

#### 🔹 Maximum Emails

The allowed range is **1 to 10,000**.

The configured target applies independently to each keyword + domain combination.

#### 🔹 Exclude Words

An optional list of words or phrases that cause matching search-result snippets to be skipped.

***

### 🧪 Sample Input

```json
{
  "keywords": [
    "Producer",
    "Artist",
    "Music Producer"
  ],
  "location": "New York",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

This configuration creates six keyword + domain combinations and targets up to 20 addresses per combination, subject to available matching results and duplicate filtering.

***

### 📤 Output

A typical record produced by **Bandcamp Email Scraper** has this structure:

```json
{
  "network": "Bandcamp.com",
  "keyword": "Producer",
  "title": "Example Bandcamp Result",
  "description": "Example description containing contact example@gmail.com",
  "url": "https://bandcamp.com/example",
  "email": "example@gmail.com"
}
```

> ℹ️ **Sample data:** The example above is illustrative. Actual titles, descriptions, URLs, and email addresses depend on the search results available for your selected keywords, locations, and email domains.

The configured Apify Dataset view presents the main lead fields in a table, making it easier to inspect collected results.

***

### 💰 Bandcamp Email Scraper – Pricing and Result Limits

The Actor configuration does not define a fixed monetary price.

The `maxEmails` input supports values from **1 to 10,000**. Lower targets generally require less collection work, while higher targets allow the Actor to continue searching for more matching addresses when they are available.

> 💰 **Important limit:** On the Apify free tier, the Actor applies a maximum of **100 emails per keyword + domain combination**. Paid usage removes this Actor-level free-tier result ceiling.

The configured maximum is a target, not a guarantee. If search results do not contain enough matching public email addresses, the final dataset can contain fewer records.

Wide searches may also take longer. The Actor configuration states a default run timeout of **3600 seconds**; for larger workflows, adjust the run timeout through the appropriate Apify run options when necessary.

***

### 💡 Bandcamp Email Scraper – Tips and Best Practices

#### 🔹 Use Specific Search Terms

Instead of relying only on broad terms such as `Music`, try more specific searches.

Examples:

- `Music Producer`
- `Independent Artist`
- `Record Label`
- `Singer`
- `Electronic Music Producer`

#### 🔹 Use Multiple Domains

If `@gmail.com` produces limited results, consider adding other relevant domains.

Examples:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- `@hotmail.com`
- `@icloud.com`

#### 🔹 Start Without a Location

If a location-restricted search produces too few results, remove the location and run a broader search.

You can then use more specific keywords to narrow the audience.

#### 🔹 Combine Search Strategies

A practical workflow can combine several role-based keywords with several email domains.

For example:

`3 keywords × 5 domains`

This gives the Actor more search combinations to work through.

#### 🔹 Use Exclusion Filters Carefully

Exclude terms can improve relevance, but overly broad exclusion terms can remove useful results.

Start with only the terms you genuinely want to avoid.

#### 🔹 Remember That Results Depend on Public Indexing

**Bandcamp Email Scraper** can only identify matching email information available through the search-result data it processes.

A missing email does not necessarily mean that the person or organization has no email address.

#### 🔹 Avoid Unrealistic Targets

Increasing `maxEmails` does not guarantee more results. The available public search data ultimately determines how many matching addresses can be discovered.

***

### 🔄 Progress, Duplicate Handling, and Resuming

**Bandcamp Email Scraper** pushes discovered records incrementally into the Apify Dataset rather than waiting until the entire run is complete.

The Actor also maintains run progress so that work can continue from its saved position if the run is interrupted.

Email addresses are tracked to prevent the same email from being registered repeatedly.

> 🔄 **Result quality note:** Because duplicate emails are removed globally, the number of unique output records can be lower than the theoretical total of all keyword + domain targets.

This is especially relevant when several keywords identify the same artist, label, producer, or organization.

***

### ❓ Frequently Asked Questions

#### ❓ What is Bandcamp Email Scraper?

**Bandcamp Email Scraper** is an Apify Actor that discovers publicly indexed email addresses associated with Bandcamp-related search results using keywords, optional locations, and selected email domains.

#### ❓ How does Bandcamp Email Scraper find email addresses?

It searches for Bandcamp-related results using your configured search terms and email suffixes, then extracts matching email addresses from available search-result descriptions.

#### ❓ Does Bandcamp Email Scraper directly crawl every Bandcamp profile?

No. The Actor relies on search-engine result discovery. Emails are extracted from search-result descriptions/snippets when they match your selected domain suffixes.

#### ❓ What data does Bandcamp Email Scraper return?

The output includes `keyword`, `title`, `description`, `url`, and `email`. The underlying pushed record also contains `network`, which identifies the source as `Bandcamp.com`.

#### ❓ Can I search Bandcamp by city or country?

Yes. Use the optional `location` input to add a country, state, city, or other geographic search term.

#### ❓ Is maxEmails a run-wide limit?

No. The configured target applies to each keyword + domain combination. For example, 3 keywords and 2 domains with a target of 20 create six combinations, each with its own target.

#### ❓ Can I use multiple email domains?

Yes. You can provide multiple suffixes such as `@gmail.com`, `@yahoo.com`, and `@outlook.com`.

#### ❓ What happens if fewer emails are available?

The Actor may return fewer records than the requested target when the available search results do not contain enough matching email addresses.

#### ❓ Does Bandcamp Email Scraper remove duplicate emails?

Yes. The Actor tracks discovered email addresses and avoids registering the same email more than once.

#### ❓ How does the excludeWords filter work?

The filter checks the search-result description before extracting an email. Matching is case-insensitive. Single words use whole-word matching, while phrases are matched within the description.

#### ❓ Can I search for music producers and artists?

Yes. Keywords such as `Producer`, `Artist`, and `Music Producer` are valid examples. You can supply your own keyword list according to your research goal.

#### ❓ What is the best way to improve Bandcamp email results?

Start with several specific but related keywords, add relevant email domains, and avoid overly restrictive location filters. If results remain sparse, broaden the search terms.

#### ❓ Does a higher maxEmails guarantee more emails?

No. `maxEmails` controls how far the Actor can target within each keyword + domain combination. It cannot create email addresses that are not publicly available in the discovered search data.

#### ❓ Can Bandcamp Email Scraper resume an interrupted run?

The Actor persists progress and discovered-email state, allowing processing to continue from its saved position after an interruption.

#### ❓ What does the free-tier limit mean?

For free-tier usage, the Actor applies a maximum of 100 emails per keyword + domain combination. Paid usage removes this Actor-level free-tier result ceiling.

#### ❓ How long can a Bandcamp Email Scraper run take?

Run duration depends on the number of keywords, email domains, locations, search-result availability, and requested targets. Wide searches can take longer, and the configured default timeout is 3600 seconds.

***

### 🤝 Support

If you have questions about **Bandcamp Email Scraper**, need help choosing search keywords, or want to discuss a custom adjustment, you can contact the developer directly.

> 💬 **Support:** For Actor questions, improvements, or bespoke development requests, use the contact email below.

contact me by email : <alphascraper69@gmail.com>

# Actor input Schema

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

A list of keywords or queries to search for.

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

Optional country, state or city used to narrow the search. Leave it empty to search without a geographic filter.

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

List of custom email domains

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

How many addresses each search keyword + domain suffix combination may collect before the finder moves on to the next one. This is a per-combination target, not a run-wide total: with 3 keyword and 2 Domains and a limit of 20, the run works through all 6 combinations and aims for up to 20 addresses in each, so up to 120 overall. Lower values finish sooner and cost less; higher values dig deeper but never guarantee a fuller result, since the run can only find what is publicly listed.

## `excludeWords` (type: `array`):

Words or phrases you do not want to see.

## Actor input object example

```json
{
  "keywords": [
    "Producer",
    "Artist"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 5,
  "excludeWords": []
}
```

# Actor output Schema

## `dataset` (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 = {
    "keywords": [
        "Producer",
        "Artist"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("email_scraper/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": [
        "Producer",
        "Artist",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
    "excludeWords": [],
}

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,email_scraper/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/IrAYnroXx2anbHBU6/builds/SJGaJhBk1F2jTNKsF/openapi.json
