# Charity Email Scraper (`scraperoka/charity-email-scraper`) Actor

📧 Charity Email Scraper pulls verified email addresses from charity websites and pages—fast and accurate. ✅ Perfect for donor outreach, partnerships, and lead generation. Boost your campaigns with reliable contact data.

- **URL**: https://apify.com/scraperoka/charity-email-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

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

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Charity Email Scraper 🎯 — Extract Charity Contact Emails at Scale

Manually hunting down charity contact emails wastes hours and often turns into messy spreadsheets. **Charity Email Scraper** finds the right charity businesses for your search terms and extracts their contact information (including emails, phone numbers, and social links), so marketers, recruiters, and growth teams can build lead lists faster. This charity email scraper tool is ideal for outreach, nonprofit partnerships, and donor acquisition workflows—getting you usable results from a single run at scale, often producing thousands of records in minutes.

***

### What You Get: Sample Output

Here's a sample record from a single run:

```json
{
  "name": "BrightPath Community Foundation",
  "website": "https://brightpathfoundation.org",
  "phone": "+1 212-555-0199",
  "full_address": "120 Madison Ave New York NY 10010 US",
  "city": "New York",
  "state": "NY",
  "zip": "10010",
  "country_code": "US",
  "scraped_emails": [
    "donations@brightpathfoundation.org",
    "info@brightpathfoundation.org"
  ],
  "scraped_phones": [
    "+1 212-555-0199"
  ],
  "scraped_social_media": [
    "https://www.linkedin.com/company/brightpathfoundation/",
    "https://www.facebook.com/brightpathfoundation/"
  ],
  "emails_found": 2,
  "pages_scraped": 6,
  "avg_rating": 4.5,
  "total_reviews": 124,
  "lat": 40.7506,
  "long": -73.9935,
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "scrape_status": "success",
  "email_found": "donations@brightpathfoundation.org"
}
```

| Field | Type | What It Tells You |
|---|---|---|
| `name` | string | The business/charity name you can reference in outreach |
| `website` | string | The website where the contact data was pulled from |
| `phone` | string | Primary phone (as captured in the business listing data) |
| `full_address` | string | Readable address string to help with CRM enrichment |
| `city` | string | City for segmentation (and easier list filtering) |
| `state` | string | State/region for region-based campaigns |
| `zip` | string | ZIP code for local targeting |
| `country_code` | string | Country code for consistent geography handling |
| `scraped_emails` | array | All email addresses found on the charity’s site(s) |
| `scraped_phones` | array | Additional phone numbers extracted from the website |
| `scraped_social_media` | array | Social links to help validate legitimacy and build rapport |
| `emails_found` | number | How many emails were found for the business |
| `pages_scraped` | number | How much site content was processed for that business |
| `avg_rating` | number | Listing rating to prioritize higher-trust results |
| `total_reviews` | number | Number of reviews shown with the listing |
| `place_id` | string | Stable place identifier for deduping and matching |
| `scrape_status` | string | Outcome status like `success`, `failed`, `no_website`, or `error` |
| `email_found` | string | The single email value for each flattened dataset row |

Export your dataset as JSON, CSV, or Excel — straight from the Apify dashboard.

***

### Why Charity Email Scraper?

There are a lot of ways to pull contact data from the web — here’s what sets Charity Email Scraper (charity email scraper tool, nonprofit email scraper) apart.

#### Built for outreach-ready charity contact lists

Charity Email Scraper is designed to collect contact information (emails, phone numbers, social links) for businesses matching your charity search term and target locations. It’s a solid fit for email harvesting for charities and lead generation email scraper nonprofit workflows.

#### Structured results with flattened email rows

Your output includes business-level fields plus a per-row `email_found`, making it easy to import into CRMs or spreadsheets without manual splitting. You also get `scraped_emails`, `emails_found`, and `scrape_status` so you can filter successes vs. failures.

#### Uses your inputs to control volume

You can cap results with `maxBusinesses` (and optionally control whether that cap is applied per location). This helps you run quickly for tests or scale to larger nonprofit email scraper projects.

#### Resilient scraping with status tracking

If a business can’t be processed (for example, no website is found), it records a `scrape_status` like `no_website`. If something goes wrong during website scraping, it captures `scrape_status` as `failed` or `error`, including `scrape_error` when applicable.

***

### Configuring Your Run

Drop this into your `input.json` to get started:

```json
{
  "googleMapsSearchTerm": "Charity",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Required | What It Does |
|---|---:|---|
| `googleMapsSearchTerm` | ✅ | The business type or niche you want to target (example: `Charity`) |
| `googleMapsLocation` | ✅ | One or more target locations to search in (for example: `New York`) |
| `maxBusinesses` | ⬜ | Sets the target number of businesses to find that have contact emails; the scraper stops when this target is reached (range: 1–1000) |
| `scrapeMaxBusinessesPerLocation` | ⬜ | If enabled, the scraper collects up to `maxBusinesses` results per location; if disabled, it combines all locations up to a single total limit |
| `proxyConfiguration` | ⬜ | Proxy settings for web scraping (recommended for larger scraping runs) |
| ↳ `proxyConfiguration.proxy support` | ⬜ | When set to `true`, route requests through Apify Proxy for better reliability |

***

### Core Capabilities

#### Charity-first contact discovery

Charity Email Scraper uses your `googleMapsSearchTerm` and `googleMapsLocation` inputs to find relevant businesses and then extract contact information from the business website(s). This makes it useful for scrapes emails from nonprofit websites and nonprofit outreach list building.

#### Email, phone, and social extraction

For each business, the actor extracts `scraped_emails`, along with `scraped_phones` and `scraped_social_media`. This is helpful when you need more than just a donor email address to build richer donor outreach and validation workflows.

#### Max-results controls for predictable lead volume

Use `maxBusinesses` to cap the total number of businesses (and therefore emails) you want. With `scrapeMaxBusinessesPerLocation`, you can decide whether that cap is applied per location or across all locations—useful for batching and budgeting.

#### Status-aware output for clean filtering

Every record includes `scrape_status`, and failures can include `scrape_error`. You can reliably separate successes from `no_website` cases or `failed` runs, which is essential for making a verified email list for nonprofits.

#### Built-in proxy support for reliable scraping

The actor accepts `proxyConfiguration` for web scraping reliability, which can be important for bulk email scraper for charities use cases. This helps reduce the chance of scraping interruptions when processing many sites.

***

### Who Gets the Most Out of This

Here's how different teams put Charity Email Scraper to work:

**Outreach & Partnerships Teams** — Build a charity contact email finder list by searching a nonprofit niche and location set, then importing `email_found` into your outreach workflow with `scrape_status` for quick filtering. You end up with cleaner segmentation for donor outreach and partnership campaigns.

**Growth Marketers** — Use this nonprofit email scraper to scale lead generation email scraper nonprofit efforts without manually visiting sites. They can run smaller test batches first (via `maxBusinesses`) and then increase volume once the list quality is proven.

**Recruiters & Talent Sourcers** — If a charity or NGO has public contact emails for hiring, programs, or partnerships, Charity Email Scraper helps gather those emails alongside phone and social links. That means faster research and fewer spreadsheet cleanup steps.

**Data Analysts & Research Teams** — Turn public web data into structured datasets, including geography fields (`city`, `state`, `zip`, `country_code`), ratings (`avg_rating`, `total_reviews`), and processing outcomes (`pages_scraped`, `scrape_status`). It’s well-suited for building public charity email database scraper style datasets.

**Developers & Automation Specialists** — Automate charity contact info scraping via the Apify platform and then route the resulting dataset into downstream processes. The dataset is designed to be integration-ready for pipelines that need consistent JSON fields and per-email rows.

***

### Step-by-Step: How to Use It

No coding needed. Here's how to run Charity Email Scraper from start to finish:

1. **Open the actor on Apify** — visit [console.apify.com](https://console.apify.com) and open Charity Email Scraper.
2. **Enter your inputs** — set `googleMapsSearchTerm` and `googleMapsLocation` first, then adjust `maxBusinesses` and (optionally) `scrapeMaxBusinessesPerLocation`.
3. **Configure proxy settings** — if you’re running larger batches, enable the provided proxy configuration for more reliable scraping.
4. **Hit Run and watch the live log** — monitor progress and any `scrape_status` outcomes during the run.
5. **View results in the dataset tab** — your dataset table includes fields like `name`, `website`, `scraped_emails`, `emails_found`, and `scrape_status`.
6. **Export as JSON, CSV, or Excel** — download directly from the Apify dashboard.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, Charity Email Scraper plugs directly into your existing workflow.

You can export your Apify dataset in **JSON**, **CSV**, or **Excel** directly from the dataset tab—ideal for spreadsheets, BI tools, and data cleaning pipelines. For more structured import steps, connect your dataset using Apify’s native integration options or automation tools.

You can also use **API access** to pull results programmatically via the Apify API: https://apify.com/docs/api. If you want automatic downstream actions, use **webhooks** (e.g., to push contacts into a CRM or trigger enrichment steps) or run this actor on a schedule (cron) for recurring charity contact email database updates.

***

### Pricing & Free Trial

Charity Email Scraper runs on the Apify platform, which offers a **free tier** — no credit card required to get started. You can begin with a small test batch (using `maxBusinesses`) and then scale based on how many contacts you need.

After the free tier, usage is typically pay-as-you-go on Apify’s platform compute model, and you can upgrade your plan as your automation grows. Start for free at [apify.com](https://apify.com) and scale when you're ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Rate limiting concerns | Built to scrape reliably with configurable proxy support |
| Scraping interruptions | Records `scrape_status` (like `success`, `failed`, `no_website`, `error`) so you can filter outcomes |
| Empty website cases | Businesses without websites are still captured with an explicit `scrape_status` and empty email fields |
| Operational visibility | Dataset rows include counts like `emails_found` and `pages_scraped` for result auditing |
| Scale control | Uses `maxBusinesses` and `scrapeMaxBusinessesPerLocation` to keep output volume predictable |

Limitations: This actor focuses on publicly accessible business websites and extracts what’s available there. If a charity doesn’t publish contact emails on its website, your `emails_found` may be low even when `scrape_status` indicates the process completed.

For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

#### Is there a free plan or trial?

Yes—Apify provides a free tier for actor runs. That lets you test Charity Email Scraper with smaller inputs before scaling up.

#### Do I need to log in to use Charity Email Scraper?

No. The actor is designed to work with publicly available data and uses business websites to extract contact details.

#### How accurate is the data?

Accuracy depends on what charities publish on their websites. Charity Email Scraper extracts emails and other contact details into structured fields, and it records outcomes using `scrape_status` so you can audit results.

#### How many results can I get per run?

You control this with `maxBusinesses` (range 1–1000). If you enable `scrapeMaxBusinessesPerLocation`, the cap applies per location; otherwise it’s combined across locations.

#### How often is the data updated / how fresh is it?

Data freshness depends on when you run the actor. Each run scrapes current publicly available website content and writes results to your dataset immediately.

#### Is this legal? Does it comply with GDPR / CCPA?

The actor works with **publicly available data** that charities publish for public access. You’re responsible for ensuring your use, storage, and outreach practices comply with GDPR, CCPA, the charity’s terms, and applicable local regulations.

#### Can I export results to Google Sheets or Excel?

Yes. You can export your dataset in JSON, CSV, or Excel from the Apify dashboard, then import into Google Sheets or your preferred spreadsheet/CRM setup.

#### Can I run this on a schedule automatically?

Yes. You can schedule actor runs using Apify’s scheduling features for recurring scraping jobs.

#### Can I access this via API?

Yes. You can retrieve results programmatically via the Apify API (see: https://apify.com/docs/api).

#### What happens if the actor hits an error?

If website scraping fails or a business can’t be processed, the record will include `scrape_status` such as `failed` or `error`, and in error cases it may include `scrape_error`. You can filter these statuses in your dataset export.

***

### Need Help or Have a Request?

Got a question about Charity Email Scraper or want a new feature added? Reach out at <dataforleads@gmail.com>. We respond to feedback and can help you think through workflows like batch lead generation email scraper nonprofit runs and webhook-based automations.

***

### Disclaimer & Responsible Use

*Charity Email Scraper is the fastest, most reliable way to build charity contact email lists from public web data — start your free run today.*

**publicly available data** only: this actor does not access private accounts, login-gated content, or password-protected pages. You are responsible for complying with GDPR, CCPA, applicable platform terms, and local laws. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of businesses to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

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

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Charity",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "googleMapsSearchTerm": "Charity",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperoka/charity-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 = {
    "googleMapsSearchTerm": "Charity",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/charity-email-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "googleMapsSearchTerm": "Charity",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scraperoka/charity-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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