← Back to all apps
K

Kindora Funder Discovery

Nonprofitby Justin Richard Steele
Launched Jul 30, 2026 on ChatGPTLaunched Apr 10, 2026 on Claude

Search 168,000+ foundations, analyze giving patterns, and explore millions of grant records directly from Claude. Make funder research a native part of your AI workflow—helping nonprofit leaders discover aligned funders faster, with real data on who funds causes like yours.

13ChatGPT Tools
8Claude Tools
Justin Richard SteeleDeveloper
NonprofitCategory

Use Cases

nonprofit

Available Tools

Find Funders for Peer Orgs

find_funders_for_peers
Full Description

Find grantmakers that have ACTUALLY funded organizations LIKE the caller's, using the real 7.5M-edge who-funds-whom grant graph (IRS 990-PF, 2022-2026). This is the strongest free-tier prospecting move: collaborative-filtering peer prospecting, distinct from search_funders (name/topic lookup) and search_open_grants (active RFPs).

HOW IT WORKS: for each peer organization, it looks up every foundation that granted to that peer, then merges funders across peers. A funder that gave to several of your peers ranks highest. Every result carries real grant evidence — which peers the funder funded and for how much.

INPUTS (provide one):

  • peer_orgs (PREFERRED): names or 9-digit EINs of organizations LIKE the one

you're raising for — peers, aspirational orgs, or orgs with a similar mission. The graph is keyed by recipient EIN, so naming real peers yields the sharpest evidence. Up to 12 are used.

  • org_description: a SHORT CAUSE PHRASE, not a paragraph — "food bank",

"mental health", "affordable housing". Fallback for when you cannot name peers: it matches the phrase against IRS BMF organization NAMES and, if that finds nothing, against the NTEE cause taxonomy, then uses the best-funded organizations in that cause (biased to location). It does NOT search mission text, so a LONGER description matches FEWER orgs, not more — keep it to the cause, and prefer peer_orgs. The response reports which pass produced the peers in peer_discovery.

RECOMMENDED WORKFLOW: establish the org's mission/cause, then name 2-5 peer organizations and call this tool. Deepen any candidate with get_funder_profile / get_foundation_grants (pass the returned ein).

Parameters (0 required, 5 optional)
Optional
limitinteger

Maximum number of funders to return (1-50)

Default: 10
locationstring

Optional 2-letter state or "City, ST". Only biases peer discovery under org_description; never filters funders.

Default: null
min_amountinteger

Minimum single-grant size in USD (default 5000)

Default: 5000
org_descriptionstring

Short cause phrase for the nonprofit (fallback). Example: "youth mental health". Adding words narrows the match.

Default: null
peer_orgsarray

Names or EINs of peer / aspirational organizations. Example: ["Greater Chicago Food Depository", "Feeding America"].

Default: null

Find Funders of a Nonprofit

find_funders_of_nonprofit
Full Description

Find the foundations that have ACTUALLY granted to ONE specific nonprofit — the reverse of get_foundation_grants, over the real 7.5M-edge who-funds-whom grant graph (IRS 990-PF, 2022-2026).

Use this when the question is about a SINGLE org: "who funds Greater Chicago Food Depository?", "which foundations support this nonprofit?", or to prospect from one well-funded peer. To aggregate the same signal across SEVERAL peer orgs, use find_funders_for_peers instead.

Pass recipient_ein when known (most precise). Otherwise pass recipient_name and it is resolved to the best IRS-registered match — the response echoes which nonprofit it resolved to under 'recipient'; confirm it's the org the caller meant.

COVERAGE: US private-foundation (990-PF) grants only. Government grants, corporate giving, and most donor-advised funding do NOT appear, so an empty result means "no tracked foundation reported a grant to this org", not "this org has no funders" — say exactly that.

Parameters (0 required, 4 optional)
Optional
limitinteger

Maximum number of funders to return (1-50)

Default: 25
min_amountinteger

Minimum single-grant size in USD (default 1000)

Default: 1000
recipient_einstring

EIN of the RECIPIENT nonprofit whose funders you want.

Default: null
recipient_namestring

Name of the recipient nonprofit (resolved via the IRS BMF registry when recipient_ein is not given).

Default: null

Get IRS 990 Summary

get_990_summary
Full Description

Get IRS 990 filing summary and financial trends for a foundation.

This tool retrieves IRS 990 filing data (Form 990 or 990-PF) for a foundation, showing financial information over time. It calculates year-over-year trends for assets, grants, and revenue.

Parameters (1 required, 1 optional)
Required
einstring

Foundation EIN (9 digits). Can include hyphens (e.g., "94-3136777") or be provided as digits only (e.g., "943136777").

Optional
yearsinteger

Number of years of filing data to return (1-10)

Default: 5

Get Foundation Grants

get_foundation_grants
Full Description

View grants made by a funder across IRS, web-extracted, and registry records.

Merges five stores. (1) IRS 990-PF filings — structured grant lines from the ~143K US private foundations that file 990s, keyed by EIN. **(2) Web-extracted grant records** — our enrichment pipeline crawls funder websites and an LLM extracts their grant lists. This second store covers ~15K additional US foundations AND ~17K non-990 funders (European foundations, US community foundations, DAFs, corporate giving programs). (3) 360Giving UK GrantNav rows, (4) CRA T3010 Canadian rows, and (5) ACRI Italian banking-foundation erogazioni are structured registry sources with original-currency amounts preserved.

Use this for ANY funder when the user asks about grants given, including European funders without an EIN (pass `funder_id instead of ein). Each row in the response carries a source field ("990" for IRS data, "discovered_web" for crawled, plus "360giving", "t3010", and "acri" for structured registries). When web-extracted rows for a funder lack captured amounts (common for European funders that publish PDFs rather than open data), the response includes an amount_coverage_note in data_quality — surface that caveat in your reply.

Note: recipient_country` reflects the recipient organization's HQ country (where the grantee is registered), not necessarily where the program work is implemented.

Parameters (0 required, 8 optional)
Optional
einstring

Foundation EIN (9 digits, hyphens OK). Required for US 990 path. Optional if ``funder_id`` is supplied for a non-990 funder.

funder_idstring

Optional non-990 funder id. Accepts a bare UUID or prefixed id like ``n9f:<uuid>`` / ``non990:<uuid>``. Use this for European funders, US community foundations, DAFs, and other funders that don't file IRS 990-PF. You can get it from search_funders or get_funder_profile.

Default: null
limitinteger

Maximum number of grants to return (1-50)

Default: 20
ntee_codestring

Optional NTEE code to filter recipient organizations. Example: "B41" (Higher Education), "E" (Health). Use get_ntee_codes to browse available codes.

Default: null
purpose_keywordstring

Optional case-insensitive substring to match against the grant_purpose field. Useful for narrowing to a topic when recipient NTEE code is too coarse — e.g., purpose_keyword="vaccine" surfaces Gates grants whose purpose text mentions vaccines, even when the recipient is classified outside health (universities, think tanks, etc.).

Default: null
recipient_countrystring

Optional recipient country filter. Use ISO 3166-1 alpha-2 codes (e.g., "CH" Switzerland, "ZA" South Africa, "NG" Nigeria, "IN" India). A code that is valid ISO is always read as ISO ("NG" is Nigeria, never Niger; "SN" is Senegal, never Singapore); legacy FIPS 10-4 codes match only when they are not ISO codes at all ("UK", "SF"). Output codes are emitted in ISO 3166.

Default: null
recipient_statestring

Optional 2-letter US state code to filter by recipient state (e.g., "CA", "NY").

Default: null
yearinteger

Optional year to filter by (filing_year for 990, grant_year for discovered). If not provided, returns all available years.

Default: null

Get Funder Profile

get_funder_profile
Full Description

Get detailed profile information for a specific funder.

Polymorphic identifier — pass `ein for US 990 foundations OR funder_id (bare UUID / n9f:<uuid>) for non-990 funders such as European, UK 360Giving, and Canadian CRA T3010 funders. search_funders` returns both fields on every hit, so the caller can hand either one back here. At least one identifier must be supplied.

Use this after searching for funders to get detailed information about a specific one.

Parameters (0 required, 2 optional)
Optional
einstring

Foundation EIN (9 digits) for US 990 funders. Can include hyphens (e.g., "94-3136777") or be provided as digits only (e.g., "943136777"). Optional if ``funder_id`` is supplied for a non-990 funder.

Default: null
funder_idstring

Optional non-990 funder id. Accepts a bare UUID or ``n9f:<uuid>`` / ``non990:<uuid>``. The ``usf:<ein>`` prefix is also accepted and routes back to the EIN path.

Default: null

Get Funder Statistics

get_funder_stats
Full Description

Get comprehensive giving statistics for a funder.

This tool calculates aggregate statistics about a funder's grantmaking from IRS 990-PF data, web-extracted grant records, 360Giving rows, CRA T3010 rows, and ACRI rows. It provides lifetime totals, focus areas, geographic distribution, and year-over-year trends. Pass `ein for US 990 foundations, or funder_id (bare UUID / n9f:<uuid>`) for non-990 funders.

Parameters (0 required, 2 optional)
Optional
einstring

Foundation EIN (9 digits). Can include hyphens (e.g., "94-3136777") or be provided as digits only (e.g., "943136777"). Optional when funder_id is supplied.

funder_idstring

Optional non-990 funder id (bare UUID / ``n9f:<uuid>``).

Default: null

Browse NTEE Codes

get_ntee_codes
Full Description

Browse NTEE (National Taxonomy of Exempt Entities) classification codes.

NTEE codes are used to classify nonprofit organizations by their primary purpose. This tool helps you find the right NTEE code for searching or understanding a foundation's focus area.

Parameters (0 required, 2 optional)
Optional
categorystring

Single letter (A-Z) to browse codes in a major category. Example: "A" for Arts, Culture & Humanities "B" for Education "E" for Health Care "P" for Human Services

Default: null
querystring

Search term to find codes by description (case-insensitive). Example: "education", "youth", "environment"

Default: null

Health Check

health_check
Full Description

Check server health and connectivity.

Returns: Dictionary with health status including:

  • status: "healthy" or "unhealthy"
  • version: Server version
  • environment: Current environment (dev/staging/prod)

List Available Tools

list_tools
Full Description

List available MCP tools and get detailed help.

Use this tool to discover what tools are available and how to use them. Call without parameters to see all tools, or provide a tool name to get detailed help including parameters, examples, and related tools.

Parameters (0 required, 1 optional)
Optional
tool_namestring

Optional name of a specific tool to get detailed help for. Example: "search_funders", "get_funder_profile"

Default: null

Search Funder Jobs

search_funder_jobs
Full Description

Search OPEN PHILANTHROPY JOBS at grantmaking foundations.

Surfaces roles involved in giving away money, running philanthropic programs, or executive leadership of philanthropic work. Backed by a weekly scrape of ~50K funder careers pages + GPT-5.4-mini classification against an 8-category taxonomy.

Categories (use the category param to filter):

  • grantmaking: Program officers, grants managers, RFP reviewers
  • program_leadership: VP Programs, Chief Program Officer, Program

Director (cause-area)

  • executive_leadership: CEO, President, Executive Director at a

foundation or community foundation

  • philanthropy_operations: Foundation finance/HR/IT/COO
  • program_support: Program associates, M&E officers, learning

officers, program coordinators

  • development_for_grantmaking: Major gifts officers and development

roles at community foundations and other regranting entities (NOT university or hospital development for the parent's operations)

  • philanthropy_communications: Foundation comms staff
  • philanthropy_strategy: Chief Strategy Officer, impact officer,

equity & inclusion at a foundation

What's excluded by design: clinical/medical, retail, academic teaching, university advancement for the university itself, hospital fundraising for hospital ops, construction/facilities.

Parameters (0 required, 13 optional)
Optional
categorystring

One of the 8 philanthropy categories above.

Default: null
countrystring

Funder HQ country — ISO 3166-1 alpha-2 ("US", "GB", "DE") or a recognized name ("United Kingdom", "Germany"). Filters by where the FOUNDATION is headquartered; the corpus spans European funders, not just US. Independent of `state` (US foundations are the only ones with state-level location data).

Default: null
employment_typestring

full-time | part-time | contract | internship | fellowship | temporary.

Default: null
exclude_categoriesarray

Categories to hide. Default is no category exclusions; the public jobs board includes operations roles. Pass specific category names to suppress them.

Default: null
funder_einstring

Restrict to one funder by EIN (9 digits, optional prefixes/dashes accepted).

Default: null
funder_einsarray

Restrict to a LIST of funder EINs (up to 100). The recommended compositional pattern is search_funders → search_funder_jobs(funder_eins=[...]) for cause-area searches (climate, racial equity, youth, etc.) where the cause isn't captured by the 8 role-family categories.

Default: null
limitinteger

Maximum number of results to return (1-50)

Default: 20
posted_within_daysinteger

Recency window in days (0-730). Set 0 to disable.

Default: 365
querystring

Keyword search on job title (case-insensitive substring). Examples: "program officer", "grants manager", "CEO", "communications director".

Default: null
remotestring

remote | hybrid | on-site.

Default: null
senioritystring

Experience level: internship_fellowship | entry_level | mid | senior | executive. Comma-separate for multi-select — 'entry_level,internship_fellowship' is the early-career shelf (new grads, students). Rows not yet leveled by the classifier are excluded when set.

Default: null
sort_bystring

Result ordering. 'funder_giving' (default) ranks by the foundation's annual average giving so the biggest funders surface first. 'recent' sorts by posted_at desc.

Default: funder_giving
statestring

2-letter US state code (e.g., "CA", "NY"). Uses a broad SQL prefilter plus an exact token-aware post-filter against the location field.

Default: null

Search Grantmakers

search_funders
Full Description

Look up grantmaking organizations by name, topic, or location.

This tool searches 174K+ grantmaking organizations from IRS data using organization names plus grant-purpose/topic signals. Use it when you know the funder's name, want aligned funders for a cause area, or want to browse by location/size/NTEE code. Multi-word searches are ranked by relevance; simple browse/name fallback results are ordered by total assets.

IMPORTANT: Use search_open_grants when the user needs active grant programs or RFPs. search_funders is for finding aligned grantmakers, including ones that may fund by relationship, LOI, or annual cycle rather than a live call.

Parameters (0 required, 15 optional)
Optional
citystring

City name to filter by (case-insensitive). Example: "San Francisco", "New York"

Default: null
countrystring

Optional HQ country name (or list of names) to restrict to funders headquartered in those countries (e.g., "Germany", ["United States", "Canada"]). Distinct from `grantee_country_codes` (where the funder's grants land) and from `state` (US state of HQ). Use when the user asks for funders based in a specific country — e.g. "European-headquartered foundations" → country=["Germany","Spain","United Kingdom", "Switzerland","Netherlands","France"]. US foundations are included only when "United States" (or "USA") is in the list, or when the param is omitted.

Default: null
exclude_funder_typesarray

Optional list of canonical funder_type codes to exclude from results. NOTE: this search ALREADY excludes the operating-entity types by default — private_operating (pharma patient-assistance foundations) and operating_nonprofit (hospital / university group returns) post large "annual_grants" but aren't grantmakers you can apply to. Use this for ADDITIONAL categories; to opt an operating type back in, name it in funder_type instead.

Default: null
funder_typestring

Optional canonical funder_type to include. Examples: "community_foundation", "family_foundation", "corporate_foundation", "private_operating", "operating_nonprofit", "independent_foundation". Use this to narrow to a specific kind of grantmaker. NOTE: operating entities (private_operating, operating_nonprofit) are EXCLUDED BY DEFAULT — name one here to include it (e.g. to look up a specific hospital or patient-assistance foundation).

Default: null
grantee_country_codesarray

Optional list of FIPS 10-4 country codes (e.g., "UK" for United Kingdom, "IN" for India, "KE" for Kenya, "SF" for South Africa) to restrict to funders whose grantees are located in those countries. Use this when the user is asking for funders that move money into a specific non-US geography. Country here is the grantee's HQ country, derived from foundation_grants. When set, the search is forced through the hybrid path; the ILIKE-only name-match path cannot filter by country. Distinct from `state`, which filters by the funder's own US HQ.

Default: null
has_er_grantsboolean

Filter to foundations that make expenditure responsibility grants (grants to non-501(c)(3) entities like PBCs, for-profits, and foreign orgs). Set to True to find only ER-active funders.

Default: null
has_prisboolean

Filter to foundations with known program-related investment activity. Set true when looking for PRI-active capital providers.

Default: null
limitinteger

Maximum number of results to return (1-50)

Default: 20
max_assetsinteger

Maximum total assets filter in dollars. Example: 100000000 (foundations with up to $100M assets)

Default: null
metrostring

Colloquial metro / region name for sub-state geography a single city can't capture — "Bay Area", "NYC", "the DMV", "Greater Boston", "Los Angeles", "Chicago", "Seattle". Resolved to its MSA/CBSA code set and applied as an HQ pre-filter. PREFER this over `city` whenever the user names a metro/region rather than one municipality (e.g. "Bay Area funders that fund drug rehab" → query="drug rehab addiction", metro="Bay Area"). Accepts a single name or a list. City names resolve too ('Cleveland', 'Knoxville', 'Portland, OR'). An unrecognized name does NOT error: the search runs without that metro filter and the result carries `geo_notice` saying so (with a did-you-mean when one is close). Example: "Bay Area", ["NYC", "Greater Boston"]

Default: null
min_assetsinteger

Minimum total assets filter in dollars. Example: 10000000 (foundations with $10M+ assets)

Default: null
msa_codesarray

Explicit MSA/CBSA codes when you already know them (e.g. ["41860", "41940"]); unioned with whatever `metro` resolves to. Most callers should use `metro`.

Default: null
ntee_codestring

NTEE classification code to filter by. Example: "A20" (Arts Organizations), "B" (Education), "E" (Health)

Default: null
querystring

Search term for a funder name or cause-area phrase. Example: "Ford Foundation", "global health", "community foundation" Topic searches work best with 2+ words.

Default: null
statestring

Two-letter US state code to filter by funder HQ location. Example: "CA", "NY", "TX"

Default: null

Search Nonprofits (Grantee Benchmarking)

search_nonprofits
Full Description

Search the ~2M-org universe of US nonprofits (IRS Business Master File) — the RECIPIENT / grantee side, distinct from search_funders (the grantmaker side). Use this to benchmark peer organizations, research a cause's landscape, or find well-funded peers and then look up WHO funds them.

Each result carries 990 financials (revenue, program-expense ratio, employees, governance score) and recipient-side funding signals: total_grants_received (tracked foundation $ received), funder_count (distinct funders), avg_grant_size_received, and funder_concentration_hhi.

CHOOSING THE RIGHT TOOL:

  • Want FUNDERS to apply to → use search_funders.
  • Want to research/benchmark RECIPIENT nonprofits (peers, "who received

$X", landscape of a cause) → use search_nonprofits.

  • Found a well-funded peer and want their funders → note its funder_count,

then use get_foundation_grants / search_funders to find who funds that work.

Parameters (0 required, 15 optional)
Optional
active_onlyboolean

Only IRS-active orgs (default True).

Default: True
citystring

Case-insensitive exact city name.

Default: null
limitinteger

Maximum number of results (1-50)

Default: 20
max_receivedinteger

Maximum total received.

Default: null
max_revenueinteger
Default: null
metrostring

Colloquial metro/region ("Bay Area", "NYC", "Chicago", "Greater Boston") or a city name ("Cleveland", "Portland, OR") → resolved to its MSA codes. Prefer over city for metro-area intent. An unrecognized name does not error: the search runs without the metro filter and the result carries `geo_notice`.

Default: null
min_employeesinteger

Minimum employee count.

Default: null
min_funder_countinteger

Minimum distinct funders.

Default: null
min_receivedinteger

Minimum total grant dollars RECEIVED (the key grantee-benchmarking filter — "received over $1M").

Default: null
min_revenueinteger
Default: null
msa_codesarray

Explicit CBSA codes if you already know them.

Default: null
ntee_codesarray

NTEE classification PREFIXES (e.g. ["K31"] food banks, ["E"] health, ["B20"] schools). Prefix match, so "K" = all food/agriculture, "K31" = food banks specifically.

Default: null
querystring

Case-insensitive substring match on the organization name.

Default: null
sort_bystring

received (default) | revenue | funders | name.

Default: received
statestring

2-letter US state code (e.g. "IL").

Default: null

Search Open Grants

search_open_grants
Full Description

Search open grant opportunities from Kindora's active foundation-program corpus plus federal and state government grants.

FOR-PROFIT APPLICANTS: pass for_profit_applicant=true to search capital a for-profit can take (PRIs, loans, revenue-based financing, patient equity) from CDFIs, impact investors, and PRI-active foundations. The default pool is 501(c)(3)-shaped and will NOT contain those programs.

Searches both private foundation grant programs (from IRS data and funder websites) and government grant opportunities — federal (Grants.gov) plus state and district grant portals. Uses full-text search with natural language understanding — queries are parsed into individual terms with stemming, so "youth after school programs" matches programs about youth, after-school, and programming even if those exact words don't appear together.

Search covers program names, descriptions, focus areas, beneficiary types, and geographic focus fields. Use the state parameter to focus on geographically relevant opportunities.

Query syntax:

  • Natural language: "affordable housing for seniors" (matches any of these terms)
  • Quoted phrases: '"after school"' (matches exact phrase)
  • Exclusion: "education -higher" (matches education, excludes higher education)
  • Combine: '"mental health" youth -adult' (phrase + term + exclusion)
  • No query: returns broadly open programs sorted by upcoming deadlines (browsing mode)
Parameters (0 required, 13 optional)
Optional
agencystring

Filter government grants by agency name (case-insensitive). Example: "Department of Education", "NSF", "NIH"

Default: null
countrystring

Where the applicant works — a country name or a region. Returns funders scoped to that place PLUS regional and global funders, with place-specific ones ranked first (a Kenyan applicant also sees "Sub-Saharan Africa" and worldwide funders). Native names work ("Deutschland", "Espana"). OMIT when the user has not named a place: "Global"/"International" is accepted but simply means no geographic restriction, so it is never needed. An unrecognised value broadens the search rather than emptying it. Use this instead of state for international queries — passing "India" via state would error because state requires a US code. Mixing state with a non-US country is rejected. Example: "India", "Kenya", "Southeast Asia", "Deutschland"

Default: null
deadline_daysinteger

Deadline lookahead window in days (1-365)

Default: 90
focus_areastring

Filter foundation programs by focus area (matches values in focus_areas array). Example: "Education", "Health", "Environment"

Default: null
for_profit_applicantboolean

Set TRUE when the applicant is a FOR-PROFIT entity (social enterprise, public benefit corporation, B Corp, L3C, CDFI). Routes foundation-program search to the for-profit capital pool: loans, program-related investments, revenue-based financing, patient equity, guarantees — capital a company can actually take. Default False = the 501(c)(3) grant pool, which deliberately excludes those instruments.

Default: False
limitinteger

Maximum number of results to return (1-50)

Default: 20
max_awardinteger

Maximum grant size filter in dollars. Example: 500000 (grants up to $500K)

Default: null
min_awardinteger

Minimum grant size filter in dollars. Example: 50000 (grants of $50K+)

Default: null
nonprofit_onlyboolean

GOVERNMENT-grants applicant filter only. Omit for the entity-aware default: true for nonprofits and false for for-profit applicants. Does not open the foundation pool — use for_profit_applicant.

Default: null
querystring

Natural language search query. Searches across program names, descriptions, focus areas, beneficiary types, and geographic focus. Supports quoted phrases for exact matching and -term for exclusion. Example: "youth outdoor education", "affordable housing", "STEM education for girls", "food bank hunger", "climate change environment", "domestic violence women"

Default: null
sourcestring

Filter by grant source type. Options: "foundation" (private foundation programs only), "government" (federal + state government grants only), or omit for both sources combined. PREFER omitting this — the foundation corpus is much larger, and filtering to government-only often returns few or zero results.

Default: null
statestring

Two-letter US state code to filter by geographic relevance. Returns programs focused on that state plus nationally available programs. Example: "CA", "NY", "TX"

Default: null
topicstring

Alias for query. The tool description says 'by TOPIC', so many MCP clients send topic= (32 rejected calls by 2026-07-11) — accept both; query wins when both are set.

Default: null