"Every US Nonprofit's Budget Is Public. Here Is How to Build Lead Lists From It"

작성자

카테고리:

← 피드로
DEV Community · Ken-Mutisya · 2026-07-08 개발(SW)

Ken-Mutisya

If you sell anything to nonprofits — software, fundraising services, consulting — you have one segmentation question that matters more than all others: can this organization afford me? Unusually, the answer is public. Every US nonprofit above a minimal size files a Form 990 with the IRS, and the filings carry total revenue, expenses, and assets.

The friendly way in is ProPublica’s Nonprofit Explorer API. No key, no registration.

Search, then enrich

GET https://projects.propublica.org/nonprofits/api/v2/search.json
      ?q=food+bank&state[id]=TX&ntee[id]=5

Enter fullscreen mode Exit fullscreen mode

Returns organizations with EIN, name, city, state, and NTEE category (1=Arts through 9=Mutual Benefit), paginated 25 at a time. Then per organization:

GET https://projects.propublica.org/nonprofits/api/v2/organizations/{ein}.json

Enter fullscreen mode Exit fullscreen mode

The filings_with_data array is the payoff — one entry per e-filed 990, each with tax_prd_yr, totrevenue, totfuncexpns, totassetsend, and a link to the filing PDF. Sort by year descending and you have the latest financials plus a multi-year trend for free.

The three moves that turn data into leads

  1. Filter by revenue band. totalRevenue >= 1_000_000 removes the all-volunteer organizations that can’t buy anything. This single filter is most of what expensive sector databases sell — GuideStar/Candid Pro starts around $2k/year.
  2. Read the trend, not the snapshot. Five years of totrevenue distinguishes a growing organization (hiring, buying tools) from a shrinking one (cutting). {"2023": 401M, "2022": 388M, "2021": 421M} tells you more than any firmographic field.
  3. Treat missing filings as signal, not noise. Small organizations file postcard 990-Ns with no financial data. If your product needs a real budget behind it, the absence of filing data is the disqualification — skip them (and if you’re billing per row like I do, make them free).

The workflow

Search fan-out (terms × states × categories) → dedupe by EIN → enrich → filter by band → export. Add a store of seen EINs and a weekly schedule and you get only new organizations matching your profile each run — a prospecting feed instead of a static list. Chain the names into a website contact scraper and the outreach email is one more step.

I packaged this as an Apify actor: Nonprofit Leads Scraper — search filters, 990 enrichment with the five-year trend, revenue-band filtering, cross-run dedupe, at $0.01 per organization row (no-filing orgs free, first 2 rows of every run free). It pairs with the Grant Opportunity Finder I shipped the same week: one side of the sector’s money graph is who gives, the other is who raises and spends.

The nonprofit sector runs on transparency rules the for-profit world would never accept. If your ideal customer is a nonprofit, their budget has been sitting in a public API the whole time.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다