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

Charity email scraper to collect verified emails from nonprofits, NGOs, and charity organizations 📧🤝 Ideal for outreach, partnerships, fundraising campaigns, and nonprofit lead generation.

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

## Pricing

$9.99/month + usage

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

# README

### 🎯 Charity Email Scraper — Build Verified Nonprofit Contact Lists Fast

> The fastest way to build a targeted charity email list. This actor discovers charities and nonprofits via Google Maps, crawls their websites, and extracts verified emails, phone numbers, and social media profiles — all in one clean, export-ready dataset.

***

#### 🚀 Quick Start

1. Enter your search term — e.g., "Charity", "nonprofit", "foundation"
2. Add one or more target locations — e.g., "New York", "London"
3. Set your desired number of organizations with emails
4. Hit Run and get your results in minutes

No coding required. Export to CSV, JSON, or Excel instantly.

***

#### 💡 What Is the Charity Email Scraper?

The Charity Email Scraper is a purpose-built discovery and contact extraction tool for teams who need high-quality charity leads at scale. It combines Google Maps listing discovery with deep website crawling to collect publicly available contact data and assemble a clean charity list you can use immediately.

Use it as a:

- charity email finder to surface outreach inboxes and info@ addresses
- charity lead scraper to scale prospecting across cities or regions
- charity email extractor to pull emails from contact and about pages
- charity contact scraper for phones and social links
- charity contact finder to enrich existing records with missing details
- charity data scraper to build structured datasets for analysis

Whether you’re a fundraiser, agency, or researcher, this charity email scraper saves hours of manual work and turns scattered public data into actionable charity leads.

***

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | Organization name from Google Maps |
| Website | Official website URL, when available |
| Phone | Primary phone from the listing or website |
| Address | Full address as listed |
| City / State / ZIP | Parsed location components where available |
| Country Code | ISO country code if detected |
| Emails Found | All public charity email addresses extracted from website pages |
| Phone Numbers | Additional phones discovered during crawl |
| Social Media | Facebook, Instagram, LinkedIn, X/Twitter, and more |
| # Emails | Total unique emails found per organization |
| Pages Scraped | Number of website pages crawled per domain |
| Rating | Average Google Maps star rating (if present) |
| Reviews | Total number of Google reviews (if present) |
| Latitude / Longitude | Geo-coordinates for mapping and filtering |
| Place ID | Google Maps place identifier |
| Status | Per-record status: success, partial, or error |

***

#### ⚙️ Input Configuration

##### Minimal Example

```json
{
  "googleMapsSearchTerm": "Charity",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 50
}
```

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Charity",
  "googleMapsLocation": [
    "New York",
    "Boston",
    "Philadelphia"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | Business type to search — e.g., "Charity", "nonprofit", "foundation" |
| `googleMapsLocation` | Array | ✅ Yes | One or more locations — e.g., \["New York", "Chicago"] |
| `maxBusinesses` | Integer | ❌ No | Max organizations with emails to return (1–1,000). The run stops at this limit |
| `scrapeMaxBusinessesPerLocation` | Boolean | ❌ No | If true, applies the cap per location. If false, it’s a combined total across all locations |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Strongly recommended for large runs to avoid rate limits |

***

#### 📤 Sample Output

```json
[
  {
    "name": "Harbor Community Foundation",
    "website": "https://www.harborcommunityfoundation.org/",
    "phone": "+1 212-555-0147",
    "full_address": "250 W 57th St, New York, NY 10107, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10107",
    "country_code": "US",
    "scraped_emails": [
      "info@harborcommunityfoundation.org",
      "grants@harborcommunityfoundation.org"
    ],
    "scraped_phones": ["+1 212-555-0147", "+1 212-555-0193"],
    "scraped_social_media": [
      "facebook:https://facebook.com/harborcommunityfoundation",
      "linkedin:https://www.linkedin.com/company/harbor-community-foundation"
    ],
    "emails_found": 2,
    "pages_scraped": 12,
    "avg_rating": 4.6,
    "total_reviews": 73,
    "lat": 40.7652,
    "long": -73.9807,
    "place_id": "ChIJ9-EXAMPLEID",
    "scrape_status": "success"
  }
]
```

***

#### 🔧 How It Works — Under the Hood

```
Step 1 → Search Google Maps using your term + location (e.g., "Charity" in "New York")
Step 2 → Collect organization listings (name, address, phone, website)
Step 3 → Visit each website and crawl key pages (Home, Contact, About, Donate, Footer)
Step 4 → Extract public emails, phone numbers, and social media links
Step 5 → Deduplicate and normalize all contact data
Step 6 → Stop when maxBusinesses is reached and return structured results ready for export or API use
```

Built to function as both a discovery tool and an extraction engine, this charity email scraper acts as a practical charity email finder and charity email extractor in a single automated pipeline.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Pinpoint nonprofits in any city, state, or region. Ideal for building geo-focused charity leads and generating a clean charity list for campaigns.

##### 🔍 Deep Website Crawl

Goes beyond listings. Crawls home, contact, about, donate, and footer sections to surface every public charity email and phone number. Acts as a reliable charity contact scraper for richer enrichment.

##### 🧭 Flexible Capping Strategy

Choose a combined cap or a per-location cap with `scrapeMaxBusinessesPerLocation`. Balance breadth and depth as your charity lead scraper scales across markets.

##### 🧹 Smart De-Duplication

Automatically removes duplicate emails per domain to keep your charity email outreach clean and accurate — no manual cleanup.

##### 📊 Structured, CRM-Ready Output

Normalized fields make it easy to import your charity leads into CRMs and outreach tools. Use it as a plug-and-play charity contact finder for HubSpot, Salesforce, Apollo, Instantly, and more.

##### 🛡️ Proxy-Ready for Reliability

Built-in proxy support prevents IP blocks and rate limits. Recommended when running the charity data scraper at scale.

##### ⏱️ Efficient Stops

The run halts as soon as your `maxBusinesses` target is reached — no wasted compute, predictable spend.

##### 🔄 Schedulable & Repeatable

Schedule recurring runs to refresh your charity list and continuously discover new charity email contacts.

***

#### 🎯 Use Cases

- Fundraising and Development Outreach: Build segmented charity leads for email campaigns and direct contact.
- Agency Prospecting: Use the charity lead finder to assemble prospects for marketing, web design, or grant consulting services.
- Grant Research and Partnerships: Identify organizations by niche and region with the charity contact finder, then enrich with emails and phones.
- Local and National Campaigns: Run the charity lead scraper across cities or states to fuel large-scale outreach.
- Data and Research Teams: Use the charity data scraper to create structured datasets for analysis, trend mapping, or reporting.
- CRM Enrichment: Pair the charity email finder with your existing records to fill in missing charity email addresses and social links.
- Volunteer Recruitment: Build a charity list of groups aligned with your cause and reach out quickly.
- Program Outreach: Leverage the charity email extractor to connect with targeted nonprofits for program invitations.

***

#### 📈 How Many Results Can You Get?

Scale from a small regional charity list to a nationwide dataset — results depend on:

- Number of locations added
- Search term specificity (e.g., “animal rescue” vs. “charity”)
- Website density and charity email visibility in each area
- `maxBusinesses` setting and per-location vs. combined mode
- Proxy configuration and run timeout

##### Typical Output Ranges

| Campaign Size | Organizations with Emails |
|---|---|
| Small (1–3 cities) | 20 – 100 |
| Medium (5–15 cities) | 200 – 600 |
| Large (20+ cities / states) | 800 – 1,000+ per run |

Run multiple times across different terms and regions to grow your charity leads continuously without hard limits.

***

#### 🔌 Integrations & Export Options

Once your run completes, you can:

| Option | Details |
|---|---|
| JSON | Full structured data download |
| CSV / Excel | Import directly into spreadsheets |
| Apify API | Stream results into your own apps or workflows |
| Zapier / Make | Trigger automations when new leads are found |
| Webhooks | Push results to your CRM or pipeline on run completion |

Export your charity list straight into Instantly, Smartlead, Apollo, HubSpot, Salesforce, or any outreach tool that accepts CSV/JSON.

***

#### 🛠️ Step-by-Step Usage Guide

Step 1 — Log in to Apify\
Create a free account or sign in at apify.com.

Step 2 — Open the Actor\
Search for "Charity Email Scraper" in the Apify Store and click Try for free.

Step 3 — Set Your Search Term\
Enter "Charity" or a niche variant like "animal rescue", "food bank", "community foundation".

Step 4 — Add Target Locations\
Enter one or more cities/regions — e.g., "New York", "Boston", "Chicago".

Step 5 — Set Your Limit\
Choose how many organizations with emails you want — 20 for a quick test, up to 1,000 for a broad campaign.

Step 6 — Choose Scaling Strategy

- Combined cap: Total across all locations combined
- Per-location cap: Applies your limit independently to each location

Step 7 — Enable Proxies\
Turn on Apify Proxy for stable, uninterrupted crawling at scale.

Step 8 — Run 🚀\
Click Start and let the charity email scraper do the work.

Step 9 — Export\
Download as JSON, CSV, or Excel — or pull via API straight into your stack.

***

#### ⚖️ Legal & Compliance

This actor collects only publicly available business contact information — emails and phone numbers published openly on websites.

Best practices to stay compliant:

- Only use publicly visible contact data
- Do not bypass login walls or paywalls
- Respect each website’s robots.txt and Terms of Service
- Include an unsubscribe option in all outreach
- Follow applicable laws in your jurisdiction

Relevant regulations to be aware of:

| Regulation | Region |
|---|---|
| GDPR | European Union |
| CAN-SPAM Act | United States |
| CASL | Canada |
| PECR | United Kingdom |

This tool is intended for ethical prospecting and research. You are responsible for how you use the data collected.

***

#### ❓ Frequently Asked Questions

Q: Does this scrape private or personal emails?\
A: No. The actor only extracts emails that are publicly visible on organization websites — typical charity email inboxes like info@, contact@, or grants@.

Q: Can I search multiple cities in one run?\
A: Yes. Add as many locations as needed. Use per-location capping for even geographic distribution when building charity leads.

Q: Does it deduplicate emails?\
A: Yes. Emails are deduplicated per domain to keep your charity list accurate and outreach-friendly.

Q: Can I schedule recurring runs?\
A: Absolutely. Use Apify’s scheduler to run weekly or monthly and keep your charity email pipeline fresh.

Q: What kinds of terms should I try?\
A: Try broad terms like "Charity", "nonprofit", "foundation", and niche terms like "animal rescue", "food pantry", "youth mentorship". The charity lead finder works best when the search term matches how organizations describe themselves.

Q: Are proxies required?\
A: Not for small runs, but strongly recommended for larger runs (200+ organizations) to avoid rate limiting when using the charity data scraper.

Q: How is this different from manual searching?\
A: Manual search is slow and inconsistent. The charity lead scraper automates discovery and extraction — delivering emails, phones, and social links in minutes.

Q: Can agencies use this for clients?\
A: Yes. Agencies use this charity contact scraper to deliver verified charity leads and enriched datasets on a recurring basis.

Q: Does it work as a charity email extractor and charity email finder?\
A: Yes. It discovers organizations and extracts public charity email contacts in a single workflow.

***

#### 🧩 Keyword Mapping & Practical Tips

- As a charity email extractor, focus on terms likely to have contact pages (e.g., "foundation", "association", "society").
- For faster wins in the charity email finder, target metros with dense nonprofit ecosystems.
- Build segmented charity leads by running separate searches for program types (e.g., "arts nonprofit", "environmental charity").
- Use the charity lead finder for discovery; then enrich with this charity contact finder for phones and social links.
- Schedule the charity lead scraper monthly to keep your charity list fresh and reduce bounces.

***

#### 🧑‍💻 Support & Custom Solutions

Have a question, feature request, or need a custom build?

Email: leadheavencontact@gmail.com

We’re happy to help with:

- Custom input/output configurations
- Niche-specific adaptations (e.g., foundations, associations)
- Bulk or enterprise run support
- Integration assistance (CRMs, outreach tools, webhooks)

***

Built for fundraisers, agencies, and researchers who need accurate charity leads at scale — fast. For any help or custom solution, contact via this mail: leadheavencontact@gmail.com

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

# Actor output Schema

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

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

// Run the Actor and wait for it to finish
const run = await client.actor("contacts-api/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("contacts-api/charity-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 '{
  "googleMapsSearchTerm": "Charity",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call contacts-api/charity-email-scraper --silent --output-dataset

```

## MCP server setup

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