# Dribbble Email Scraper (`email_scraper/dribbble-email-scraper`) Actor

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

- **URL**: https://apify.com/email\_scraper/dribbble-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

### 🔍 Dribbble Email Scraper – Overview

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

It is useful for lead generation, prospect research, creative-industry outreach, business development, and contact discovery. Instead of manually searching many combinations of terms, you can provide a list of relevant keywords and let the Actor process each keyword and email-domain combination systematically.

The Actor searches for Dribbble-related results through search-engine results and extracts email addresses that appear in the available result descriptions. The resulting records are stored in an Apify Dataset with the keyword, result title, description, URL, and discovered email address.

> **💡 Important:** The Actor only collects email addresses that are publicly available in the search-result information it can process. It does not guarantee that every Dribbble profile has an email address or that a requested number of emails will always be available.

You can narrow your search by location, target particular email domains such as `@gmail.com` or `@yahoo.com`, and exclude unwanted descriptions with specific words or phrases.

***

### 🔎 Dribbble Email Scraper – Key Features

Dribbble Email Scraper combines keyword-based search with email-domain targeting so you can build focused contact datasets from publicly indexed Dribbble-related results.

> **✨ Key Features**
>
> - Search using multiple keywords or search terms
> - Target specific email domain suffixes
> - Optionally narrow searches by country, state, or city
> - Exclude unwanted words or phrases from result descriptions
> - Set a maximum number of emails for each keyword + domain combination
> - Remove duplicate email addresses across the run
> - Store structured lead records in an Apify Dataset
> - Incrementally save discovered records during execution
> - Preserve progress so interrupted runs can continue from saved progress
> - Use specific professional or creative keywords for targeted prospecting

The Actor is particularly useful when a single broad term does not provide enough relevant contacts. For example, instead of searching only for `Designer`, you can use terms such as `UI Designer`, `Graphic Designer`, `Brand Designer`, or `Creative Director`.

This keyword expansion gives you more ways to discover relevant search results while keeping your lead-generation workflow organized.

***

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

Finding professional contact information manually can require repeatedly searching different creative roles, locations, and email providers. Dribbble Email Scraper turns those search combinations into a repeatable workflow.

You can provide several keywords at once and combine them with multiple email domains. Each combination receives its own collection target, allowing the Actor to work through the complete keyword and domain list.

> **🚀 Why use Dribbble Email Scraper?**
>
> - Reduce repetitive manual search work
> - Build structured Dribbble contact datasets
> - Target designers and creative professionals with relevant keywords
> - Search for specific email providers
> - Add geographic targeting when needed
> - Filter out unwanted result descriptions
> - Deduplicate discovered email addresses
> - Continue from saved progress after an interruption

The Actor is designed for users who need structured contact discovery rather than manually copying individual search results into spreadsheets.

***

### 📊 Dribbble Email Scraper – What Data Can You Extract?

Each discovered email is associated with the search information from which it was found. This gives you context for understanding why a particular contact appeared in your dataset.

The default Apify Dataset view displays the main lead fields in a table.

| Field         | Description                                               | Default View                   |
| ------------- | --------------------------------------------------------- | ------------------------------ |
| `keyword`     | Keyword used to perform the search                        | Yes                            |
| `title`       | Title of the search result                                | Yes                            |
| `description` | Search-result description containing the discovered email | Yes                            |
| `url`         | URL returned by the search result                         | Yes                            |
| `email`       | Extracted email address matching the selected domain      | Yes                            |
| `network`     | Identifies the source as Dribbble.com                     | Not displayed in default table |

The Actor pushes a `network` field with the value `Dribbble.com` along with the displayed fields. The configured default dataset view focuses on the five primary lead fields.

> **📦 Output Data**
>
> - Keyword used for discovery
> - Search-result title
> - Search-result description
> - Result URL
> - Matching email address
> - Source network information

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

***

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

Using Dribbble Email Scraper requires only a few configuration steps.

#### 🔹 1. Enter Your Keywords

Add one or more keywords describing the people, skills, roles, or topics you want to discover.

For example:

```json
{
  "keywords": [
    "Designer",
    "Graphic Designer",
    "UI Designer",
    "Creative Director"
  ]
}
```

More specific search terms can produce more targeted results than relying on one broad keyword.

#### 🔹 2. Add a Location

The `location` field is optional.

You can enter a country, state, city, or another geographic term when you want to narrow the search.

Examples include:

- `United States`
- `New York`
- `London`
- `Canada`
- `Los Angeles`

Leave the field empty when you want a broader search without a geographic term.

#### 🔹 3. Select Email Domains

The `customDomains` field controls which email suffixes the Actor searches for.

For example:

```json
{
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ]
}
```

You can also provide other domain suffixes when appropriate.

#### 🔹 4. Set the Email Target

Use `maxEmails` to define how many addresses the Actor should target for each keyword + domain combination.

For example, with three keywords, two email domains, and `maxEmails` set to `20`, there are six combinations, with a target of up to 20 addresses for each combination.

#### 🔹 5. Add Exclusion Terms

Use `excludeWords` when you want to ignore result descriptions containing unwanted terms.

For example:

```json
{
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

If an excluded term appears in a result description, that entire snippet is skipped.

***

### 🔎 How Dribbble Email Scraper Finds Contact Emails

Dribbble Email Scraper builds targeted search queries from your keywords, selected email domains, and optional location.

Conceptually, a search combines the Dribbble domain with your keyword and selected email suffix. When a location is provided, it is also incorporated into the search.

The Actor then processes available search-result information and looks for email addresses matching your selected domain suffixes.

> **🔍 Search Workflow**
>
> - Start with a keyword
> - Combine it with the selected email domain
> - Add the optional location
> - Find relevant Dribbble-related search results
> - Read the available result descriptions
> - Ignore descriptions matching excluded terms
> - Extract matching email addresses
> - Remove already-seen email addresses
> - Save the structured result to the Apify Dataset

This means the Actor is a **search-result-based email discovery tool**, rather than a general-purpose crawler of every Dribbble profile.

***

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

Keyword selection is one of the most important parts of a successful Dribbble email search.

A broad keyword such as `Designer` can be useful for general discovery, while more specific terms can help you target a particular professional category.

Useful examples include:

- `Graphic Designer`
- `UI Designer`
- `UX Designer`
- `Web Designer`
- `Brand Designer`
- `Product Designer`
- `Illustrator`
- `Creative Director`
- `Art Director`
- `Motion Designer`

You can also combine role-based terms with skills or niches.

For example:

```json
{
  "keywords": [
    "Logo Designer",
    "Brand Designer",
    "UI Designer",
    "Illustrator"
  ],
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 10
}
```

This creates separate search targets for each keyword and email domain.

> **💡 Search Tip:** If your results are sparse, try adding related keywords, expanding the email-domain list, or removing a restrictive location. More specific searches can improve targeting, while broader searches can increase discovery.

***

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

Yes. The optional `location` input lets you add a geographic term to the search.

This can be useful when your project focuses on designers or creative professionals from a particular market.

For example:

```json
{
  "keywords": [
    "Graphic Designer",
    "UI Designer"
  ],
  "location": "New York"
}
```

Location targeting should be treated as a search filter rather than a guarantee that every returned profile is physically located in that exact place.

If a location produces too few results, remove it or use a broader geographic term.

***

### 🚫 Can You Exclude Words or Phrases?

Yes. The `excludeWords` field lets you filter out result descriptions containing unwanted terms.

Matching is case-insensitive.

Single words are matched as whole words, while phrases are treated as phrase matches.

Example:

```json
{
  "excludeWords": [
    "crypto",
    "onlyfans",
    "adult content"
  ]
}
```

If an excluded word or phrase is found in a search-result description, the complete snippet is skipped and no email is extracted from that result.

> **⚠️ Important:** Exclusions apply to the result description being processed. They do not modify the original Dribbble profile or delete anything from Dribbble.

***

### 💼 Dribbble Email Scraper – Use Cases

Dribbble is strongly associated with designers, creatives, portfolios, and visual work, making targeted contact discovery useful for several business and research workflows.

#### 🔹 Creative Agency Prospecting

Agencies can search for designers or creative professionals based on specific roles and specialties.

Possible keywords include:

- `Graphic Designer`
- `Brand Designer`
- `UI Designer`
- `UX Designer`
- `Illustrator`

#### 🔹 Design Service Outreach

Businesses offering design-related services can build targeted prospect lists around specific creative categories.

Examples include:

- Branding
- Web design
- UI/UX
- Illustration
- Product design
- Motion design

#### 🔹 Freelancer Research

Recruiters, agencies, and businesses can search for creative professionals using role-specific keywords and optional locations.

#### 🔹 B2B Lead Generation

Sales teams can use professional and creative keywords to discover publicly indexed contact information relevant to their target market.

#### 🔹 Market Research

Researchers can collect structured search-result information associated with different creative roles, locations, and email domains.

#### 🔹 Creative Partnership Discovery

Companies looking for designers, illustrators, or other creative professionals can use targeted searches to identify potential partnership opportunities.

> **📌 Responsible Use:** Only use collected contact information in accordance with applicable privacy, data-protection, anti-spam, and platform rules. The Actor is intended for publicly available information and does not guarantee that a contact is available for unsolicited communication.

***

### 📝 Input

The Actor accepts the following configuration fields.

| Input           | Type             | Required | Default                    |
| --------------- | ---------------- | -------: | -------------------------- |
| `keywords`      | Array of strings |      Yes | `["Designer", "Creative"]` |
| `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 search terms.

Use several specific keywords when you want broader coverage across related creative roles.

#### 🔹 Region / Location

An optional country, state, city, or geographic search term.

Leave it empty for a search without geographic targeting.

#### 🔹 E-mail Domain Suffixes

A list of email suffixes such as:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- `@hotmail.com`
- Custom business domains

#### 🔹 Max Emails

An integer from `1` to `10000`.

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

#### 🔹 Exclude Words

An optional list of words or phrases used to skip unwanted search-result descriptions.

***

### 📤 Output

The Actor stores results in the **Dribbble Emails Dataset**.

A typical record looks like this:

```json
{
  "network": "Dribbble.com",
  "keyword": "Graphic Designer",
  "title": "Example Dribbble Result",
  "description": "Example result description with contact example@gmail.com",
  "url": "https://www.dribbble.com/example",
  "email": "example@gmail.com"
}
```

The example above is illustrative. Actual titles, URLs, descriptions, and email addresses depend on the search results available during your run.

> **📊 Dataset Output**
>
> The default Apify table displays `keyword`, `title`, `description`, `url`, and `email`. The Actor also pushes `network` with the value `Dribbble.com`.

***

### 💰 Pricing and Result Limits

The Actor configuration does not define a fixed monetary price for using Dribbble Email Scraper.

The `maxEmails` setting controls the desired result target, not a guaranteed number of available contacts.

For paid runs, the configured maximum can be used according to the Actor's input range. For free-tier execution, the code applies a maximum of **100 emails per keyword + domain collection target**.

> **💰 Important Pricing Note**
>
> - `maxEmails` accepts values from 1 to 10,000
> - The target applies per keyword + domain combination
> - Free-tier execution applies a 100-email ceiling to the configured collection target
> - Paid execution removes that free-tier result restriction
> - A target is not a guarantee that the requested number of emails exists
> - Actual usage and platform charges depend on the Apify environment and run

Wide searches can take longer, particularly when many keywords and email domains are supplied. The configured default run timeout is 3600 seconds.

***

### 💡 Tips and Best Practices

Use a balanced combination of keywords, domains, and location filters for better search coverage.

> **✅ Practical Optimization Tips**
>
> - Use multiple specific keywords instead of relying on one broad term
> - Mix professional roles with relevant creative specialties
> - Add several common email domains when appropriate
> - Use location only when geographic targeting is important
> - Remove overly restrictive location filters when results are sparse
> - Use `excludeWords` to remove unwanted categories from your dataset
> - Start with a moderate `maxEmails` value before running larger searches
> - Review the first results to identify which keywords produce useful contacts
> - Use company-specific email domains when your research requires business addresses
> - Avoid assuming that a target number of emails will always be available

For example, instead of using only `Designer`, consider:

```text
Graphic Designer
UI Designer
UX Designer
Brand Designer
Product Designer
```

You can then combine these with several relevant email domains.

This approach can provide broader search coverage while keeping each search intent clear.

***

### ❓ Frequently Asked Questions

#### ❓ What is Dribbble Email Scraper?

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

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

The Actor creates targeted search queries and examines available search-result descriptions for email addresses matching the selected email-domain suffixes.

#### ❓ Does Dribbble Email Scraper scrape every Dribbble profile?

No. It is not designed to crawl every Dribbble profile. It discovers search results and extracts matching emails from the available result descriptions.

#### ❓ Can I search Dribbble by profession?

Yes. You can use profession, role, skill, niche, or other relevant search terms as keywords.

Examples include `Graphic Designer`, `UI Designer`, `Illustrator`, and `Creative Director`.

#### ❓ Can I use multiple keywords in one run?

Yes. `keywords` accepts an array, allowing you to search multiple terms within one run.

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

Yes. `customDomains` accepts multiple email suffixes such as `@gmail.com`, `@yahoo.com`, and `@outlook.com`.

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

No. The configured target is applied separately to each keyword + domain combination.

For example, four keywords and three domains create twelve combinations. With a target of 10, each combination can target up to 10 addresses, subject to availability and deduplication.

#### ❓ Can I search for designers in a specific city?

Yes. Add the city or other geographic term to `location`.

For example, `London`, `New York`, or `Toronto` can be used as search-location terms.

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

The Actor does not invent contact information. If the available search results contain fewer matching emails than your target, the run may finish with fewer results.

Broadening keywords, adding domains, or removing a restrictive location can increase discovery opportunities.

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

Yes. The Actor maintains a set of already discovered email addresses and avoids storing the same email repeatedly.

#### ❓ How does excludeWords work?

The Actor checks the search-result description before extracting emails.

If a configured excluded word or phrase is found, the entire description is skipped.

#### ❓ Can I use custom business email domains?

Yes. `customDomains` is not limited to common providers. You can supply other email suffixes relevant to your research.

#### ❓ Can I use Dribbble Email Scraper for lead generation?

Yes. Its structured output can support lead research, prospect discovery, agency outreach workflows, creative recruiting research, and related business-development activities.

Always ensure your use of contact information follows applicable laws, privacy requirements, anti-spam rules, and platform policies.

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

The dataset contains `network`, `keyword`, `title`, `description`, `url`, and `email`.

The default dataset table displays the five primary lead fields: keyword, title, description, URL, and email.

#### ❓ Can an interrupted run continue from saved progress?

The Actor saves progress during execution, including discovered email addresses and its current search position. This allows the run to retain progress when execution is interrupted and later resumed within the Actor's supported workflow.

#### ❓ Why did my run return fewer emails than maxEmails?

`maxEmails` is a target limit, not a guarantee. Results depend on publicly indexed search information, selected keywords, email domains, location filters, exclusions, and duplicate addresses.

Try broader or additional keywords, add relevant domains, or remove a restrictive location.

***

### 🤝 Support

If you need help selecting keywords, adjusting search targeting, improving the input configuration, or discussing a customized version of the Actor, you can contact the developer.

> **📩 Support:** For questions, custom requirements, or Actor-related assistance, please get in touch by email.

**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": [
    "Designer",
    "Creative"
  ],
  "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": [
        "Designer",
        "Creative"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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