Nonprofit & IRS 990 Scraper - Charities, Officers & Leads
Pricing
from $5.00 / 1,000 nonprofit organization records
Nonprofit & IRS 990 Scraper - Charities, Officers & Leads
Scrape U.S. nonprofits & IRS Form 990 data: name, EIN, address, NTEE category, 501(c) status, multi-year revenue/expenses/assets, officers & key-employee compensation, and a lead score. Filter by state, category, subsection & revenue. B2B leads + monitoring. No browser.
Pricing
from $5.00 / 1,000 nonprofit organization records
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Nonprofit & IRS 990 Scraper — Charities, Officers & B2B Leads
Turn the IRS's digitized Form 990 filings into ready-to-use nonprofit leads and organization intelligence. This actor extracts every U.S. tax-exempt organization you search for — the name, EIN, full address, NTEE category, 501(c) subsection & foundation type, multi-year financials (revenue, expenses, assets, liabilities, net assets, contributions, program revenue, investment income), and the Key Employees & Officers from the latest 990 with their titles and compensation — then scores each one as a lead.
A nonprofit with a real budget is a real buyer: it purchases software (CRM/fundraising/accounting/HR), insurance (D&O, liability, benefits), banking & investment services, audits, consulting, events, marketing, and more. Its officers and directors are the decision-makers — and this actor gives you their names and roles.
No login, no API key, no browser — data comes straight from ProPublica's Nonprofit Explorer (digitized IRS Form 990 data), so it never breaks on anti-bot walls.
Why this nonprofit scraper?
Most "nonprofit" lists are thin name-and-EIN dumps. This actor ships the richest, most filterable record in the category:
| Data | Typical lists | This actor |
|---|---|---|
| Name, EIN, full address | partial | ✅ |
| NTEE category + 501(c) subsection (human-readable) | code only | ✅ |
| Public charity vs private foundation | ❌ | ✅ |
| Latest revenue, expenses & surplus/deficit | sometimes | ✅ |
| Total assets, liabilities & net assets | ❌ | ✅ |
| Contributions, program revenue & investment income | ❌ | ✅ |
| Multi-year financial history + revenue trend | ❌ | ✅ |
| Officers & key employees — names, titles, compensation | ❌ | ✅ |
| Filing PDFs (links to every digitized 990) | ❌ | ✅ |
| Revenue tier + lead score (0–100) | ❌ | ✅ |
| Filter by state, city, ZIP, NTEE, subsection, revenue & assets | ❌ | ✅ |
| Monitoring mode — only new / newly-filed orgs since last run | ❌ | ✅ |
Use cases
- Lead generation — find nonprofits by state, category, subsection, and budget, then reach the named officers (Executive Director, CFO, Development Director…). Proven buyers for fundraising/CRM software, accounting & audit, insurance, banking, payroll/HR, IT, and events. Sort by
leadScoreand work the biggest, best-resourced, most active first. - Fundraising & grant prospecting — target private foundations (
organizationKind = privateFoundation) and large public charities; size them by assets and giving capacity. - Financial & investment services — filter by
minAssetsto find endowed organizations and foundations that need investment management, banking, and treasury services. - Market research & sector analysis — analyze the nonprofit sector by NTEE category, geography, revenue size, and multi-year financial trend.
- CRM enrichment & territory planning — pull org lists by ZIP/state to build call lists, size territories, and append financials and decision-makers to existing accounts.
- Monitoring new filings — run on a schedule with monitoring mode to capture organizations that are new — or that just filed a fresh 990 — since your last run.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Nonprofit & IRS 990 Scraper, enter search terms and/or filters (state, NTEE category, subsection, min revenue…), then click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, or XML — or pull results programmatically via the Apify API.
Input
{"mode": "search","searchTerms": ["community foundation"],"states": ["CA", "NY"],"nteeMajorGroups": ["7"],"only501c3": true,"minRevenue": 1000000,"includeOfficers": true,"maxResults": 200,"monitorMode": false}
- mode —
search(discover by keyword/filters) ororganizations(look up specific orgs by EIN). - searchTerms — keywords matched against organization names & purposes (e.g.
food bank,private school,animal rescue). Each term runs as a separate search; leave empty to browse purely by filters. - eins / startUrls — exact EINs (
53-0196605) or ProPublica URLs (organization or search pages), auto-routed. - states / cities / zipCodes — location filters (USPS state codes, exact city names, full-or-prefix ZIPs).
- nteeMajorGroups — broad NTEE category (Arts, Education, Environment & Animals, Health, Human Services, International, Public/Societal Benefit, Religion, Mutual/Membership, Unknown).
- nteeCodePrefixes — finer NTEE code prefixes per record (e.g.
Beducation,Ehealth,Tfoundations,A6museums). - subsectionCodes / only501c3 / organizationKind — filter by 501(c) subsection, restrict to 501(c)(3), or split public charities vs private foundations.
- nameQuery — substring filter on the organization name.
- minRevenue / maxRevenue / minAssets / minOfficerCompensation — qualify leads by budget and staffing.
- withOfficersOnly — keep only orgs that report named officers (decision-maker contacts).
- activeOnly — only IRS-active tax-exempt organizations.
- includeOfficers (default true) — extract officers, titles & compensation from the latest 990 (the lead wedge). Turn off for faster/cheaper financials-only runs.
- maxResults (default 200) / maxConcurrency (default 5) — size and speed.
- monitorMode / monitorKey — emit only orgs that are new or newly-filed since the last run; use a distinct key per saved watch.
Output
One record per organization (recordType: "nonprofit"):
{"recordType": "nonprofit","ein": "83-0287513","name": "Wyoming Community Foundation","fullAddress": "1472 N 5th St Ste 201, Laramie, WY, 82072","city": "Laramie","state": "WY","nteeCode": "T310","nteeCategory": "Philanthropy, Voluntarism & Grantmaking Foundations","nteeMajorGroup": "Public & Societal Benefit","subsectionCode": 3,"subsection": "Charitable / religious / educational (501(c)(3))","is501c3": true,"foundationType": "Publicly supported 170(b)(1)(A)(vi)","isPrivateFoundation": false,"exemptStatus": "Active (unconditional exemption)","isActive": true,"rulingYear": 1989,"latestFiscalYear": 2023,"revenue": 22988814,"expenses": 18650122,"surplusOrDeficit": 4338692,"totalAssets": 214358745,"totalLiabilities": 9120044,"netAssets": 205238701,"contributions": 14210333,"programServiceRevenue": 0,"investmentIncome": 8120455,"revenueTier": "very large ($10M–50M)","revenueTrend": "growing","financials": [{ "fiscalYear": 2023, "revenue": 22988814, "expenses": 18650122, "totalAssets": 214358745, "netAssets": 205238701 }],"filingsCount": 11,"yearsCovered": "2012–2023","officers": [{ "name": "Samin Dadelahi", "title": "President & CEO", "compensation": 221011, "relatedCompensation": 0, "otherCompensation": 18420 }],"officerCount": 23,"topOfficerName": "Samin Dadelahi","topOfficerTitle": "President & CEO","topOfficerCompensation": 221011,"latestFilingPdfUrl": "https://projects.propublica.org/nonprofits/download-filing?path=...","filingPdfUrls": ["https://projects.propublica.org/nonprofits/download-filing?path=..."],"profileUrl": "https://projects.propublica.org/nonprofits/organizations/830287513","leadScore": 92,"scrapedAt": "2026-06-20T03:30:00.000Z"}
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it weekly/monthly with monitoring mode to capture only new or newly-filed organizations as fresh leads.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/nonprofit-990-scraper').call({mode: 'search',searchTerms: ['community foundation'],states: ['CA'],minRevenue: 1000000,maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} nonprofit leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new nonprofit leads straight into your CRM.
- Slack — get notified when a monitored watch finds new organizations.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find California environmental nonprofits with over $1M revenue and list their executive directors" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete U.S. B2B & government-data lead stack:
- US Business Formation Scraper — newly-registered LLCs & companies (fresh formation leads).
- SBA Loan Leads Scraper — SBA 7(a) & 504 borrowers — financed, growing small businesses.
- USAspending Scraper — federal awards, contractors & recipient leads.
- US Federal Grants Scraper — Grants.gov, NIH & NSF funding.
- GSA eLibrary Scraper — federal Schedule contractors & B2B leads.
- FEC Campaign Finance Scraper — donors, PACs & committees.
- Financial Advisor Scraper — FINRA + SEC advisors & firms.
- TaxBuzz Scraper — tax preparers, CPAs & accountant leads.
Tips
- Reach the people, not just the org. Keep
includeOfficerson — the officer names, titles, and compensation are what turn a filing into a workable lead. - Qualify by budget. Use
minRevenue/minAssetsto focus on well-resourced organizations, and sort byleadScore. - Target a category fast. Combine
nteeMajorGroups(e.g. Health, Education) withnteeCodePrefixes(e.g.Tfor foundations) andstates. - Grantmakers vs operators. Set
organizationKindtoprivateFoundationto find funders, orpublicCharityfor operating nonprofits. - Recurring monitoring. Combine Schedules with
monitorModeand a distinctmonitorKeyper saved watch.
FAQ
Where does the data come from? ProPublica's Nonprofit Explorer, which digitizes the IRS's released Form 990 data (2.2M+ tax-exempt organizations, filings back to 2001). This actor searches, fetches, parses, normalizes, and scores it.
How fresh is it? The IRS releases digitized 990 data on a rolling basis and ProPublica updates continuously. Each record includes latestFiscalYear and dataUpdatedAt so you always know the vintage. Run with monitorMode on a schedule to capture new and newly-filed organizations automatically.
Is there phone/email? Form 990 data is firmographic and financial: organization name, full mailing address, financials, and the named officers (decision-makers). It does not include direct phone or email — those are easy to append with an email/phone enrichment tool or your CRM using the org name, address, and officer names provided.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How much does a run cost? You pay per organization record returned (no start fee) — a lower price for the financial record and a little more when officers are included. A few hundred filtered leads costs only a few cents of platform compute plus the per-record price.
Is this legal? This actor collects publicly available IRS Form 990 data (republished by ProPublica). You are responsible for using the data in compliance with applicable laws and the source's terms.
A field is null — why? Some organizations genuinely don't report a value (e.g. very small 990-N/990-EZ filers have no officer table or extracted financials). Fields are null only when the source doesn't provide them.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.