docs/us_corporate/foundation_grants

foundation_grants

990-PF Part XV grant recipient data for S&P 500-linked foundations. Tier A. Grain: grant-filing (ein + object_id + recipient position). Includes recipient name, city, state, ZIP, country, grant amount, free-text purpose, and relationship. Filtered to confirmed crosswalk pairs. Source: IRS TEOS XML. Coverage: 2017-present.

tier aTier A: directly from IRS 990-PF XML. Grant descriptions are free-text; standardization not applied.corporatefoundationsirsgrantsgiving
grain
grant
years
2018 – 2023
cadence
Annual
overview

overview

~632,000 grant-filing rows for S&P 500-linked foundations, 2018–2023. Includes recipient name, city, state, ZIP, country, amount, purpose, and relationship.

current vintage — 2023

history — Yes — 2017–2023 via IRS TEOS XML

provenance

source & licensing

authority
U.S. Internal Revenue Service
dataset
IRS TEOS 990-PF Part XV (Grants)
license
Public domain (U.S. Federal Government work)
citation
U.S. Internal Revenue Service (2025). Tax Exempt Organization Search (TEOS) XML.
schema

fields

nametypedefinition
cikstring10-digit zero-padded SEC CIK of the parent company.
company_namestringName of the S&P 500 parent company.
country_idkeystringISO alpha-2 country code for the filing foundation. Always US.
einkeystring9-digit EIN of the filing foundation (no dashes).
foundation_namestringName of the private foundation.
grant_amount_usdfloat64Dollar amount of the grant or contribution. NULL in ~0.003% of rows.
is_foreign_recipientboolTRUE if the recipient has a foreign (non-US) address.
object_idstringIRS TEOS unique filing identifier. Uniquely identifies one 990-PF return.
purposestringFree-text grant purpose as reported by the filer on 990-PF Part XV. Quality varies by filer.
recipient_citystringCity of the grant recipient.
recipient_countrystringISO country code of the recipient. US for domestic grants; foreign ISO code for international grants.
recipient_einstringEIN of the recipient org, enriched via exact normalized-name + state match against IRS EO BMF. NULL when no clean match found — do not treat as "no EIN".
recipient_namestringName of the grant recipient as reported on 990-PF Part XV. NULL in ~0.03% of rows.
recipient_ntee_cdstringNTEE code from IRS EO BMF, populated only when recipient_ein is non-NULL.
recipient_statestring2-char US state abbreviation of the recipient. NULL for foreign recipients (~1.2% of rows).
recipient_zipstringZIP code of the grant recipient.
relationshipstringRelationship between the foundation and the recipient as reported on the 990-PF (e.g. None or disqualified person).
tax_periodstringTax period in YYYYMM format.
tickerstringStock ticker of the S&P 500 parent company.
yearkeyint64Calendar year derived from tax_period (first 4 chars).
relationships

joins

primary key
ein, country_id, year
common joins
foundation_giving on (ein, year)
corporate_foundation_crosswalk on (ein)
usage

how to use this table

method

Parsed from Part XV of 990-PF XML files; filtered to EINs in corporate_foundation_crosswalk where confirmed=TRUE.

do not use for

Grants to individuals — 990-PF Part XV covers grants to organizations only.

last updated · Jul 7, 2026