# Crunchbase Email Scraper (`leads-scraper/crunchbase-email-scraper`) Actor

Crunchbase Email Scraper SD - Crunchbase Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Crunchbase results by keyword, location and email domain - Crunchbase email extractor.

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

## Pricing

from $2.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

### Crunchbase Email Scraper

The Crunchbase Email Scraper turns a handful of keywords into a dataset of publicly indexed company contacts from Crunchbase organization pages.
It targets the addresses startups actually publish: press inboxes, investor relations, partnerships and founder contacts.
Output arrives as a flat dataset with the company name, the Crunchbase handle, the profile URL and a snippet.

Crunchbase is the reference database for company funding, founders, investors and acquisitions.
Its organization pages are heavily indexed by Google, and a meaningful share of them print a contact address in the snippet.
The Crunchbase Email Scraper is built to harvest exactly those snippets at scale, without touching Crunchbase itself.

This Actor does not log in, does not use the Crunchbase API and never opens crunchbase.com.
Every record comes from publicly available Google search results: titles, snippets and site labels.
There is no browser, no JavaScript rendering, no authentication and no cookies.

In a measured live run, the Crunchbase Email Scraper returned 10 result blocks, 10 identity matches, 10 profile URLs and 10 unique emails.
That is a full-strength result and puts Crunchbase among the three best sources in this directory category, alongside Bark and CallUpContact.
Yield always depends on keywords, domains and country, so treat that as a reference point rather than a guarantee.

#### Who the Crunchbase Email Scraper is for

Founders raising a round, agencies selling to funded startups, and BD teams looking for partnership contacts all live in the same data.
So do journalists building a press list, recruiters targeting fast-growing teams, and investors sourcing deal flow.
The Crunchbase Email Scraper serves all of them from one input form.

The distinguishing feature is the default modifier set: `email`, `contact`, `press`, `investor relations` and `partnerships`.
Those are the four inbox types a company page is most likely to expose, which is why the defaults are tuned that way.
Change them and you change which department you reach.

### Key features of the Crunchbase Email Scraper

Everything listed is behaviour the Crunchbase Email Scraper actually implements.

| Feature | What it does |
|---|---|
| Google `site:` targeting | Restricts every query to `crunchbase.com`, so results stay on organization and person pages |
| Query expansion | Base, quoted and `intitle:` variants plus one variant per query modifier |
| Company-intent modifiers | Defaults of `email`, `contact`, `press`, `investor relations` and `partnerships` |
| Domain filtering | Keeps only emails ending in the domains you list |
| Global deduplication | One row per unique email across every query and every page |
| Email normalisation | Understands `name [at] domain [dot] com`, `name (at) domain`, `name @ domain.com`, `domain .com`, zero-width characters and the full-width `＠` sign |
| Junk filter | Rejects `email@`, `yourname@`, `test@`, `xxx@` and single-character locals |
| Boundary-correct matching | `@gmail.com` does not match inside `@gmail.company` or `@gmail.com.br` |
| Soft-wrap repair | Drops a hit that is only the tail of another email in the same block |
| Structural block parsing | Locates the `<h3>` title and the smallest surrounding block instead of relying on CSS class names |
| Whole-page fallback parser | A Google markup change degrades to emails without account details, not to zero results |
| Concurrency | `asyncio` worker pool with a shared stop signal once `maxEmails` is reached |
| Retries and block detection | Three attempts per page with exponential backoff; CAPTCHA and consent pages are retried, not counted as empty |
| Re-queue pass | Blocked or failed queries are retried once at the end of the run |
| Resumable state | Key-value store state keyed by an input hash, saved on `PERSIST_STATE`, `MIGRATING` and `ABORTING` |
| Immediate dataset writes | Each lead is pushed as soon as it is found, so a partial run is still useful |
| Run summary | Logs pages fetched, blocked pages, retries and emails per page |

### How the Crunchbase Email Scraper works

The Crunchbase Email Scraper reads your input, builds Google queries, fetches result pages and parses each block structurally.
Emails are pulled from block text with a domain-filtered regex, normalised, junk-filtered and deduplicated globally.
Every surviving lead is pushed to the Apify dataset immediately.

A query looks like `site:crunchbase.com fintech startup "@gmail.com" "Berlin"`.
Pages are fetched through the Apify GOOGLE_SERP proxy over async HTTP with a fresh proxy session per request.
Because parsing is structural rather than class-name based, a Google layout change does not silently break the run.

#### Query expansion in the Crunchbase Email Scraper

Google caps a single query at roughly 300 results, so a single search can never exhaust a database the size of Crunchbase.
Query expansion multiplies each keyword by each email domain and by several phrasings, with base queries running first.
That ordering means the cheapest and most productive searches happen before the long tail.

#### Targeting departments with the Crunchbase Email Scraper

Crunchbase organization pages describe companies, not individuals, so the addresses you find are usually role inboxes.
Swap `queryModifiers` to `press`, `media`, `pr` to build a press list, or to `partnerships`, `bizdev`, `alliances` for channel work.
Use `investor relations`, `ir`, `funding` when you are targeting the finance side of a funded company.

#### Location and country targeting in the Crunchbase Email Scraper

`location` is appended to every query as a quoted phrase, which works well for ecosystem-level sweeps.
Try `Berlin`, `Tel Aviv`, `Bengaluru` or `Y Combinator` as location phrases to slice the database by scene.
`countryCode` separately steers the search proxy, which changes which regional results Google prefers.

### Input reference for the Crunchbase Email Scraper

The Crunchbase Email Scraper exposes nine input fields and only `keywords` is required.

| Field | Type | Default | Meaning |
|---|---|---|---|
| `keywords` | array (required) | `["startup", "founder"]` | Search terms describing the companies you want |
| `location` | string | `""` | Optional location phrase added to every query |
| `customDomains` | array | `["@gmail.com", "@yahoo.com"]` | Only emails on these domains are kept; `@` optional |
| `maxEmails` | integer 1-10000 | `20` | Stop after this many unique emails |
| `countryCode` | string | `""` | Two-letter country code for the search proxy (US, GB, DE) |
| `expandQueries` | boolean | `true` | Search each keyword x domain pair in several phrasings |
| `queryModifiers` | array | `["email", "contact", "press", "investor relations", "partnerships"]` | Extra words combined with each keyword when expansion is on |
| `maxPagesPerQuery` | integer 1-50 | `30` | Page cap per query |
| `maxConcurrency` | integer 1-20 | `5` | Parallel queries |

#### Example input

```json
{
  "keywords": ["seed stage fintech", "climate tech startup", "b2b saas founder"],
  "location": "Berlin",
  "customDomains": ["@gmail.com", "@outlook.com", "@protonmail.com"],
  "maxEmails": 400,
  "countryCode": "DE",
  "expandQueries": true,
  "queryModifiers": ["email", "contact", "press", "investor relations", "partnerships"],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

#### Tuning the Crunchbase Email Scraper

Sector plus stage beats a bare noun.
`series a marketplace` and `pre-seed developer tools` produce far more distinctive snippets than `startup` on its own.
Three to eight tight keywords is a sensible working range.

Add the free-mail providers that founders actually use in your market.
`@gmail.com` dominates globally, but `@protonmail.com`, `@outlook.com` and regional providers appear too.
Every extra domain multiplies the query count, so raise `maxEmails` when you add one.

### Output reference for the Crunchbase Email Scraper

Every dataset item produced by the Crunchbase Email Scraper carries all fourteen fields below.

| Field | Meaning |
|---|---|
| `network` | Platform name |
| `keyword` | The keyword that produced the lead |
| `query` | The exact Google query used |
| `title` | Raw result title |
| `accountName` | Account label Google prints |
| `fullName` | Display name parsed from a profile-style title; empty for non-profile results |
| `username` | URL-safe handle when the platform exposes one; otherwise `null` |
| `profileUrl` | Canonical account URL when a handle is known; otherwise empty |
| `url` | Direct platform link when exposed, else the profile URL |
| `description` | Profile snippet, cleaned of labels and counters |
| `email` | Lower-cased email address |
| `emailDomain` | The matched domain |
| `possiblyTruncated` | `true` when Google's snippet ellipsis touched the email |
| `foundAt` | ISO 8601 UTC timestamp |

#### Example output

```json
[
  {
    "network": "Crunchbase",
    "keyword": "seed stage fintech",
    "query": "site:crunchbase.com seed stage fintech \"@gmail.com\" \"Berlin\"",
    "title": "Ledgerlane - Crunchbase Company Profile & Funding",
    "accountName": "Ledgerlane",
    "fullName": "Ledgerlane",
    "username": "ledgerlane",
    "profileUrl": "https://www.crunchbase.com/organization/ledgerlane",
    "url": "https://www.crunchbase.com/organization/ledgerlane",
    "description": "Ledgerlane builds reconciliation tooling for European fintechs. Press and partnerships: ledgerlane.press@gmail.com",
    "email": "ledgerlane.press@gmail.com",
    "emailDomain": "@gmail.com",
    "possiblyTruncated": false,
    "foundAt": "2025-11-04T11:20:07Z"
  },
  {
    "network": "Crunchbase",
    "keyword": "climate tech startup",
    "query": "site:crunchbase.com climate tech startup investor relations \"@outlook.com\" \"Berlin\"",
    "title": "Verdanta Energy - Crunchbase Company Profile & Funding",
    "accountName": "Verdanta Energy",
    "fullName": "Verdanta Energy",
    "username": "verdanta-energy",
    "profileUrl": "https://www.crunchbase.com/organization/verdanta-energy",
    "url": "https://www.crunchbase.com/organization/verdanta-energy",
    "description": "Grid-scale storage analytics. Investor relations contact: ir.verdanta@outlook.com",
    "email": "ir.verdanta@outlook.com",
    "emailDomain": "@outlook.com",
    "possiblyTruncated": true,
    "foundAt": "2025-11-04T11:21:52Z"
  }
]
```

The dataset view shows email, account, name, username, profile, keyword, snippet and the truncation flag.
Export as CSV, JSON or XLSX, or pull the dataset through the Apify API.
That makes the Crunchbase Email Scraper straightforward to plug into an existing enrichment pipeline.

### Use cases for the Crunchbase Email Scraper

The Crunchbase Email Scraper fits any workflow that starts with "which companies match this profile".
Pair each goal below with the modifier set that reaches the right inbox.

| Use case | Suggested keywords | Suggested modifiers |
|---|---|---|
| Selling services to funded startups | `series a saas`, `seed stage fintech` | `email`, `contact` |
| Press and media list building | `ai startup`, `climate tech startup` | `press`, `media`, `pr` |
| Partnership and channel development | `api platform`, `payments company` | `partnerships`, `bizdev`, `alliances` |
| Investor relations and fundraising outreach | `pre-seed startup`, `venture backed` | `investor relations`, `ir`, `funding` |
| Recruiting from fast-growing teams | `hiring startup`, `remote first company` | `contact`, `careers` |
| Competitive and market research | `vertical saas`, `marketplace startup` | `email`, `contact` |
| Deal-flow sourcing for a fund | `pre-seed`, `accelerator alumni` | `contact`, `investor relations` |

#### Building a press list with the Crunchbase Email Scraper

Set `queryModifiers` to `press`, `media`, `pr` and `newsroom`.
Use sector keywords rather than stage keywords, because coverage is organised by topic.
The `description` field usually tells you what the company does, which is exactly what a press list needs.

#### Sourcing partnership contacts with the Crunchbase Email Scraper

Set `queryModifiers` to `partnerships`, `bizdev`, `alliances` and `integrations`.
Pair them with keywords describing the category you integrate with, such as `crm platform` or `payments company`.
Filter the results by `emailDomain` afterwards to separate role inboxes from personal ones.

### Practical recipes for the Crunchbase Email Scraper

A European fintech sweep might use keywords `payments startup`, `open banking`, `neobank` with `location` set to `London` and `countryCode` to `GB`.
A US climate sweep might use `carbon removal`, `grid software`, `climate tech startup` with `countryCode` set to `US`.
Keep `expandQueries` on in both cases, because one query cannot get past Google's result cap.

For maximum breadth, drop `location`, keep `maxPagesPerQuery` at 30 and raise `maxEmails`.
For precision, set a single ecosystem as `location`, use two or three specific keywords and lower `maxEmails`.
Both paths run the same code; the only difference is how many queries get generated.

### How many results the Crunchbase Email Scraper returns

A measured live run of the Crunchbase Email Scraper produced 10 blocks, 10 identity matches, 10 profile URLs and 10 unique emails.
Nearly every matching block resolved to a named organization with a usable Crunchbase handle, which is the best outcome available.
Crunchbase is one of the three strongest sources in this category.

Your own numbers will vary with sector, stage, domain list, country and how much of Crunchbase Google currently indexes.
Free Apify plans stop at 100 emails per run and paid plans are uncapped.
No specific volume is guaranteed by the Crunchbase Email Scraper or by any Actor in this family.

### Limitations of the Crunchbase Email Scraper

- The Crunchbase Email Scraper only finds companies whose email is publicly visible in Google's index. Anything behind a login or a contact form is invisible to it.
- Google caps a single query at roughly 300 results. Query expansion exists to work around that cap, and disabling it will reduce yield sharply.
- `possiblyTruncated: true` means Google's snippet ellipsis touched the email, so the address may be incomplete. Verify those rows before sending.
- `username` and `profileUrl` are populated only when Google exposes a handle. Rows sourced from list or hub pages can carry `accountName` and `fullName` with an empty handle; that is a Google limitation, not a bug.
- The Crunchbase Email Scraper requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.
- Free Apify plans are capped at 100 emails per run; paid plans have no cap.
- Results vary with keywords, domains and location, and no volume is guaranteed.

The Crunchbase Email Scraper is not affiliated with, endorsed by or officially supported by Crunchbase.
It reads public search results only and does not access private or paywalled data.

### Responsible use, GDPR and CAN-SPAM

Publicly indexed does not mean unrestricted.
For EU and UK recipients, GDPR expects a lawful basis, a clear sender identity, a genuine business reason and an easy way to object.
For US recipients, CAN-SPAM expects accurate headers, a valid postal address and a working unsubscribe path.

Keep provenance for every address; the `query`, `profileUrl` and `foundAt` fields record it automatically.
Honour opt-outs immediately and suppress them in later runs of the Crunchbase Email Scraper.
This is general information about common obligations rather than legal advice, so check the rules that apply to you.

### FAQ about the Crunchbase Email Scraper

#### Does the Crunchbase Email Scraper use the Crunchbase API?

No. It never logs in, never calls an API and never opens crunchbase.com. Everything comes from publicly indexed Google results.

#### How many results should I expect?

A measured live run returned 10 blocks, 10 identity matches, 10 profile URLs and 10 unique emails, which is a full-strength result. Your numbers depend on sector, stage, domains, country and index coverage, and no volume is guaranteed.

#### Does the Crunchbase Email Scraper return founder emails or company inboxes?

Mostly company and department inboxes, because organization pages describe companies rather than individuals. The default modifiers deliberately target press, investor relations and partnerships.

#### How do I bias the Crunchbase Email Scraper toward press contacts?

Set `queryModifiers` to `press`, `media`, `pr` and `newsroom`, and use sector keywords instead of stage keywords.

#### Why are some `username` and `profileUrl` values empty?

The Crunchbase Email Scraper fills those only when Google exposes a handle. Hub and list pages often show a title without one, so the row keeps `accountName` and `fullName` and leaves the handle blank.

#### What does `possiblyTruncated` mean?

Google cut the snippet with an ellipsis right where the email sits, so the address may be incomplete. Verify before you send.

#### Can I target a specific startup ecosystem?

Yes. Put the city, region or accelerator name in `location` and set `countryCode` to match. Running one pass per ecosystem usually beats one global run.

#### Should I leave query expansion on?

Yes, almost always. Google caps one query at roughly 300 results, and expansion is how the Crunchbase Email Scraper reaches past that ceiling.

#### Does it need the Apify proxy?

Yes. The Crunchbase Email Scraper runs on the Apify GOOGLE_SERP proxy and cannot operate without Apify proxy credentials.

#### Can I run it on the free plan?

Yes, capped at 100 emails per run. Paid plans remove the cap.

#### Are the emails verified?

No. The Crunchbase Email Scraper extracts and normalises what Google shows. Run your own verification before a large campaign.

#### Which other Actors pair well with this one?

The [Clutch Email Scraper](https://apify.com/leads-scraper/clutch-email-scraper) for agencies, the [G2 Email Scraper](https://apify.com/neuro-scraper/g2-email-scraper) for software vendors, and the [Bizapedia Email Scraper](https://apify.com/neuro-scraper/bizapedia-email-scraper) for registration records.

### Related Actors

Thirty-six sibling Actors cover the rest of the Business and Professional Directories category that the Crunchbase Email Scraper belongs to.
They share the same input schema, output schema and behaviour, so anything you learn here transfers directly.
For software vendors try the [Capterra Email Scraper](https://apify.com/leads-scraper/capterra-email-scraper), for consumer brands the [Trustpilot Email Scraper](https://apify.com/leads-scraper/trustpilot-email-scraper), and for global B2B suppliers the [Kompass Email Scraper](https://apify.com/leads-scraper/kompass-email-scraper).

| Actor | What it collects |
|---|---|
| [Angi Email Scraper](https://apify.com/leads-scraper/angi-email-scraper) | Public contact emails from Angi |
| [Bark Email Scraper](https://apify.com/leads-scraper/bark-email-scraper) | Public contact emails from Bark |
| [Better Business Bureau Email Scraper](https://apify.com/leads-scraper/better-business-bureau-email-scraper) | Public contact emails from Better Business Bureau |
| [Bizapedia Email Scraper](https://apify.com/neuro-scraper/bizapedia-email-scraper) | Public contact emails from Bizapedia |
| [Brownbook Email Scraper](https://apify.com/neuro-scraper/brownbook-email-scraper) | Public contact emails from Brownbook |
| [Callupcontact Email Scraper](https://apify.com/neuro-scraper/callupcontact-email-scraper) | Public contact emails from CallUpContact |
| [Capterra Email Scraper](https://apify.com/leads-scraper/capterra-email-scraper) | Public contact emails from Capterra |
| [Clutch Email Scraper](https://apify.com/leads-scraper/clutch-email-scraper) | Public contact emails from Clutch |
| [Cybo Email Scraper](https://apify.com/neuro-scraper/cybo-email-scraper) | Public contact emails from Cybo |
| [Cylex Email Scraper](https://apify.com/neuro-scraper/cylex-email-scraper) | Public contact emails from Cylex |
| [EC21 Email Scraper](https://apify.com/neuro-scraper/ec21-email-scraper) | Public contact emails from EC21 |
| [Europages Email Scraper](https://apify.com/leads-scraper/europages-email-scraper) | Public contact emails from Europages |
| [ExportHub Email Scraper](https://apify.com/neuro-scraper/exporthub-email-scraper) | Public contact emails from ExportHub |
| [FindUsLocal Email Scraper](https://apify.com/neuro-scraper/finduslocal-email-scraper) | Public contact emails from FindUsLocal |
| [Foursquare Email Scraper](https://apify.com/neuro-scraper/foursquare-email-scraper) | Public contact emails from Foursquare |
| [Fyple Email Scraper](https://apify.com/neuro-scraper/fyple-email-scraper) | Public contact emails from Fyple |
| [G2 Email Scraper](https://apify.com/neuro-scraper/g2-email-scraper) | Public contact emails from G2 |
| [Hotfrog Email Scraper](https://apify.com/leads-scraper/hotfrog-email-scraper) | Public contact emails from Hotfrog |
| [Houzz Email Scraper](https://apify.com/leads-scraper/houzz-email-scraper) | Public contact emails from Houzz |
| [Infobel Email Scraper](https://apify.com/neuro-scraper/infobel-email-scraper) | Public contact emails from Infobel |
| [Kompass Email Scraper](https://apify.com/leads-scraper/kompass-email-scraper) | Public contact emails from Kompass |
| [Lacartes Email Scraper](https://apify.com/neuro-scraper/lacartes-email-scraper) | Public contact emails from Lacartes |
| [Manta Email Scraper](https://apify.com/leads-scraper/manta-email-scraper) | Public contact emails from Manta |
| [MapQuest Email Scraper](https://apify.com/neuro-scraper/mapquest-email-scraper) | Public contact emails from MapQuest |
| [N49 Email Scraper](https://apify.com/neuro-scraper/n49-email-scraper) | Public contact emails from N49 |
| [Porch Email Scraper](https://apify.com/neuro-scraper/porch-email-scraper) | Public contact emails from Porch |
| [Scoot Email Scraper](https://apify.com/neuro-scraper/scoot-email-scraper) | Public contact emails from Scoot |
| [Thomasnet Email Scraper](https://apify.com/leads-scraper/thomasnet-email-scraper) | Public contact emails from Thomasnet |
| [Thumbtack Email Scraper](https://apify.com/leads-scraper/thumbtack-email-scraper) | Public contact emails from Thumbtack |
| [Touch Local Email Scraper](https://apify.com/leads-scraper/touch-local-email-scraper) | Public contact emails from Touch Local |
| [TradeIndia Email Scraper](https://apify.com/leads-scraper/tradeindia-email-scraper) | Public contact emails from TradeIndia |
| [Trustpilot Email Scraper](https://apify.com/leads-scraper/trustpilot-email-scraper) | Public contact emails from Trustpilot |
| [Tupalo Email Scraper](https://apify.com/leads-scraper/tupalo-email-scraper) | Public contact emails from Tupalo |
| [Yalwa Email Scraper](https://apify.com/leads-scraper/yalwa-email-scraper) | Public contact emails from Yalwa |
| [Yellow Pages Email Scraper](https://apify.com/leads-scraper/yellow-pages-email-scraper) | Public contact emails from Yellow Pages |
| [Angi Email and Phone Number Scraper](https://apify.com/neuro-scraper/angi-email-and-phone-number-scraper) | Emails and phone numbers from Angi |
| [Bark Email and Phone Number Scraper](https://apify.com/neuro-scraper/bark-email-and-phone-number-scraper) | Emails and phone numbers from Bark |
| [Better Business Bureau Email and Phone Number Scraper](https://apify.com/leads-scraper/better-business-bureau-email-and-phone-number-scraper) | Emails and phone numbers from Better Business Bureau |
| [Bizapedia Email and Phone Number Scraper](https://apify.com/neuro-scraper/bizapedia-email-and-phone-number-scraper) | Emails and phone numbers from Bizapedia |
| [Brownbook Email and Phone Number Scraper](https://apify.com/neuro-scraper/brownbook-email-and-phone-number-scraper) | Emails and phone numbers from Brownbook |
| [CallUpContact Email and Phone Number Scraper](https://apify.com/neuro-scraper/callupcontact-email-and-phone-number-scraper) | Emails and phone numbers from CallUpContact |
| [Capterra Email and Phone Number Scraper](https://apify.com/leads-scraper/capterra-email-and-phone-number-scraper) | Emails and phone numbers from Capterra |

### Leave a review

If the Crunchbase Email Scraper saved you time, please leave a star rating and a short review
on the Actor page.

Reviews are how other buyers judge whether a tool works, and they tell us which features to
build next.

If something did not work, email <neurodata.apify@gmail.com>
instead - bugs get fixed faster than they get complained about.

### Support

Questions, bug reports or a custom build request for the Crunchbase Email Scraper: contact neurodata.apify@gmail.com.

# Actor input Schema

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

Search terms describing the Crunchbase accounts you want (niche, job title, industry).

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

Optional location phrase added to every query (e.g. "New York").

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

Only emails ending with one of these domains are collected. With or without the leading @. Each domain is searched separately, so more domains means more results but a longer run - remove some for a faster, narrower search, or add your own (e.g. @company.com).

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

Stop once this many unique emails have been collected.

## `countryCode` (type: `string`):

Two-letter country code for the search proxy (e.g. US, GB, DE). Empty for any.

## `expandQueries` (type: `boolean`):

Search each keyword x domain pair with several phrasings. Recommended - Google caps a single query at ~300 results.

## `queryModifiers` (type: `array`):

Extra words combined with each keyword when Expand queries is on. Tuned for Crunchbase.

## `maxPagesPerQuery` (type: `integer`):

Google rarely returns more than ~30 pages for one query.

## `maxConcurrency` (type: `integer`):

How many queries run in parallel.

## Actor input object example

```json
{
  "keywords": [
    "startup",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20,
  "countryCode": "",
  "expandQueries": true,
  "queryModifiers": [
    "email",
    "contact",
    "press",
    "investor relations",
    "partnerships"
  ],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

# Actor output Schema

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

Records produced by Crunchbase 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": [
        "startup",
        "founder"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "press",
        "investor relations",
        "partnerships"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("leads-scraper/crunchbase-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": [
        "startup",
        "founder",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "press",
        "investor relations",
        "partnerships",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("leads-scraper/crunchbase-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": [
    "startup",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "countryCode": "",
  "queryModifiers": [
    "email",
    "contact",
    "press",
    "investor relations",
    "partnerships"
  ]
}' |
apify call leads-scraper/crunchbase-email-scraper --silent --output-dataset

```

## MCP server setup

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