foundations.csv.gz
One row for each U.S. private foundation: name, place, latest numbers, and what its latest return says about applications.
- Rows
- 166,036
- Size
- 15.3 MB
- File fingerprint
cefe5adefd5d
Open data
Every U.S. private foundation that files Form 990-PF electronically, with what it gave, what it holds, and whether it says it accepts applications. It is free to download, and free to reuse when you credit the source.
Downloads
Plain spreadsheet files, published as a release on GitHub. No account is needed.
One row for each U.S. private foundation: name, place, latest numbers, and what its latest return says about applications.
cefe5adefd5dOne row for each foundation and fiscal year: revenue, expenses, assets, giving, and how many of its grant rows are in the grants files.
776baa02f496One row per grant whose recipient we matched to an organization record. Other grants are counted in foundation_years.csv.gz and are not listed.
13 files, fiscal years 2014 to 2026. Every file has the same columns.
| Fiscal year | File | Rows | Size | Download |
|---|---|---|---|---|
| 2026 | foundation_grants_2026.csv.gz | 2,299 | 132 KB | Download foundation_grants_2026.csv.gz |
| 2025 | foundation_grants_2025.csv.gz | 203,671 | 10.2 MB | Download foundation_grants_2025.csv.gz |
| 2024 | foundation_grants_2024.csv.gz | 558,847 | 26.3 MB | Download foundation_grants_2024.csv.gz |
| 2023 | foundation_grants_2023.csv.gz | 941,870 | 43.1 MB | Download foundation_grants_2023.csv.gz |
| 2022 | foundation_grants_2022.csv.gz | 934,873 | 42.5 MB | Download foundation_grants_2022.csv.gz |
| 2021 | foundation_grants_2021.csv.gz | 908,645 | 40.9 MB | Download foundation_grants_2021.csv.gz |
| 2020 | foundation_grants_2020.csv.gz | 857,885 | 38.1 MB | Download foundation_grants_2020.csv.gz |
| 2019 | foundation_grants_2019.csv.gz | 383,551 | 17.6 MB | Download foundation_grants_2019.csv.gz |
| 2018 | foundation_grants_2018.csv.gz | 307,923 | 14.5 MB | Download foundation_grants_2018.csv.gz |
| 2017 | foundation_grants_2017.csv.gz | 273,459 | 12.9 MB | Download foundation_grants_2017.csv.gz |
| 2016 | foundation_grants_2016.csv.gz | 228,757 | 10.7 MB | Download foundation_grants_2016.csv.gz |
| 2015 | foundation_grants_2015.csv.gz | 1,823 | 88.8 KB | Download foundation_grants_2015.csv.gz |
| 2014 | foundation_grants_2014.csv.gz | 307 | 15.0 KB | Download foundation_grants_2014.csv.gz |
The list is published under CC BY 4.0. You may use it, share it and change it, as long as you credit the source. The license covers our work on the list: which records we chose, how we arranged them, and the columns we worked out from them. The facts come from public records. Facts are not subject to copyright, and the license does not restrict them.
Built fromIRS Form 990-PF e-file
Open Funder Database contributors (GetFunded), from IRS e-file data. The Open Foundation List (release data-2026-10-08, October 9, 2026). https://getfunded.ai/foundations. Licensed CC BY 4.0.
New to .csv.gz files? How to open the list in Excel or Google Sheets.
The columns
Two list files and a set of grants files. The first list has one row per foundation. The second has one row per foundation per fiscal year. The grants files, one for each fiscal year, have one row per grant whose recipient we matched to an organization record.
One row per foundation. 33 columns.
| Column | What it means |
|---|---|
| getfunded_ | Our own id for the foundation. The other files use the same id. |
| ein | The Employer Identification Number: the nine-digit number the IRS gives each organization. It can start with a zero. |
| name | The foundation’s name on IRS records. When a record adds “C/O” or “%” and another name at the end (in care of), that part is left out. |
| city | The city of its mailing address. |
| state | The two-letter state of its mailing address. |
| zip | The ZIP code of its mailing address. |
| ntee_ | The NTEE code: a short code for the foundation’s field of work. It is empty for many foundations. |
| ruling_ | The year the IRS recognized it as tax-exempt. |
| website | The website the foundation wrote on its own return. It comes from the newest return that gives one. |
| first_ | The earliest fiscal year we hold a return for. |
| latest_ | The newest fiscal year we hold a return for. |
| years_ | How many fiscal years of returns we hold. |
| latest_ | Total assets at the end of the latest fiscal year, at book value, in U.S. dollars. |
| latest_ | What it paid out for charitable purposes in the latest fiscal year, in U.S. dollars. The next column says which line of the return this is. |
| latest_ | The line of the return that latest_grants_paid was read from. The two lines are not the same measure, so do not compare one with the other. Empty when the return has neither line.
|
| latest_ | Total revenue in the latest fiscal year, in U.S. dollars. |
| latest_ | Total expenses in the latest fiscal year, in U.S. dollars. |
| grants_ | How many separate grant records we hold for the foundation, in all years. It is not the number of grants it made. Empty when we hold none. |
| grants_ | The sum of those grant records, in U.S. dollars. |
| application_ | What the latest return says about applications. It is always one of three values.
|
| has_ | Whether the application section of that return tells you how to apply. Empty when the return has no application section.
|
| application_ | The deadline, in the foundation’s own words from the return. Empty when that text holds an email address or a phone number. |
| public_ | A shared inbox, such as grants@, when the application part of the return lists one. A contact is not an invitation: check application_posture first. |
| public_ | A phone number, when the application part of the return lists one. A contact is not an invitation: check application_posture first. |
| latest_ | The IRS id of the latest return, so you can find the exact filing. |
| latest_ | The year and month in which the fiscal year of the latest return ended, written YYYYMM. For example, 202312 is December 2023. |
| source_ | The public datasets the row was built from. When there is more than one, a semicolon is between the names. |
| profile_ | The link to the foundation’s page on GetFunded. |
| irs_ | What three IRS lists say about the foundation’s tax-exempt status, on the dates in the release’s manifest. The revocation list holds automatic revocations only: no annual return or notice filed for three years in a row. Empty when the lists were not available for it. This column is not in every release.
|
| irs_ | The date of its latest automatic revocation, when the IRS list has one. A foundation that was reinstated later still has a date here, so read irs_standing with it. This column is not in every release. |
| irs_ | Whether it is in IRS Publication 78 data, the IRS list of organizations that can receive tax-deductible gifts. This column is not in every release.
|
| irs_ | Whether the foundation filed a return for a tax year after the date in irs_revocation_date. A foundation that loses its tax-exempt status must still file, so a later return does not show that the IRS reinstated it. Empty when the IRS list has no revocation for it. This column is not in every release.
|
| address_ | Where the city, state and ZIP code come from. Empty when we hold no address. This column is not in every release.
|
One row per foundation per fiscal year. 16 columns.
| Column | What it means |
|---|---|
| ein | The foundation’s Employer Identification Number. Use it to match rows to the other files. |
| getfunded_ | Our own id for the foundation, the same as in the other files. |
| fiscal_ | The calendar year in which the fiscal year ended. |
| tax_ | The last day of that fiscal year, written YYYY-MM-DD. |
| return_ | The form that was filed for the year.
|
| total_ | Total revenue for the year, in U.S. dollars. |
| total_ | Total expenses for the year, in U.S. dollars. |
| total_ | Total assets at the end of the year, at book value, in U.S. dollars. |
| net_ | Total assets minus what it owes, at the end of the year, in U.S. dollars. |
| grants_ | What it paid out for charitable purposes during the year, in U.S. dollars. The next column says which line of the return this is. |
| grants_ | The line of the return that grants_paid was read from. Empty when the return has neither line.
|
| n_ | How many separate grant records we hold for that year. Empty when we hold none. |
| grants_ | How many of those grant records are in the grants file for that year. These are the grants whose recipient we matched to an organization record. |
| grants_ | How many of those grant records are not in the grants file. We could not match the recipient to an organization record, so we count the grant and do not name the recipient. |
| amount_ | The sum of the grant records that are not in the grants file, in U.S. dollars. Empty when there are none. |
| filing_ | The IRS id of the return, so you can find the exact filing. |
One file per fiscal year. One row per grant whose recipient we matched to an organization record. Other grants are counted in foundation_years.csv.gz and are not listed. 12 columns.
| Column | What it means |
|---|---|
| funder_ | The EIN of the foundation that made the grant. It is the same as ein in the other files. |
| funder_ | Our own id for that foundation, the same as getfunded_id in the other files. |
| funder_ | The name of that foundation on IRS records. |
| recipient_ | The EIN of the organization record we matched the recipient to. Empty when that record has no EIN. |
| recipient_ | Our own id for that organization record. |
| recipient_ | The name on that organization record. It is not the text the foundation typed on its return. An “in care of” part at the end of a name is left out. |
| recipient_ | The city on that organization record. |
| recipient_ | The state on that organization record. It is two letters on an IRS record. A record from another public source can have the full name of the state. |
| amount | The amount of the grant as the foundation reported it, in U.S. dollars. |
| fiscal_ | The calendar year in which the foundation’s fiscal year ended. |
| filing_ | The IRS id of the return the grant comes from, so you can find the exact filing. |
| link_ | How we matched the recipient to an organization record. Empty for the few grants that come from a Form 990: the files do not say how those were matched. This column is not in every release.
|
Four rules
The list says what the returns say, and nothing more. Keep these four rules in mind when you sort, filter or add up.
01
It means the latest return says nothing about applications. That is a missing statement, not a refusal. Do not remove these foundations from your list as if they had said no.
02
When a line is missing from the return, the cell is empty. A 0 in the file is a real zero that the foundation reported. Do not fill empty cells with 0 before you add numbers up.
03
When a foundation files a corrected return for the same year, the list uses the newer one. Nothing is counted twice.
04
An email or a phone number appears only when the filing lists a shared inbox, such as grants@, or an office phone. A named person’s address is left out. A contact is not an invitation. Check application_posture first: a foundation that funds preselected organizations only can still have a contact here.
On the site, not_stated readsand an empty cell readsNot available
The grants files name recipients, so they need more care. Read these before you count, add up or share rows from them.
05
A foundation types the name of each recipient on its return, and some recipients are private people, such as a student with a scholarship. So a grant is listed only when we matched its recipient to an organization record. Every other grant is counted in foundation_years.csv.gz and is not named. The purpose of each grant is not in the files, because that text can name a private person. You can read it on the foundation’s page on GetFunded. A later release can add it after a privacy review.
06
The sum of a grants file is less than what the foundations gave. Use grants_paid in foundation_years.csv.gz for the total. The columns grants_linked_on_file and grants_not_linked_on_file show how much of each year is in the grants file.
07
The recipient name, city and state come from the organization record we matched, not from the text on the return. When a file has the link_basis column, it says how each match was made. It does not say that the match is right. Check the return (filing_object_id) before you rely on a row.
Search
You do not need a spreadsheet. Pick a state, or start from one of these three lists. Search is free and needs no account.
Foundations whose latest Form 990-PF says they accept applications.
Open in searchPrivate foundations, with the ones that give the most each year first.
Open in searchType a foundation’s name or its EIN.
Open in searchThe number is how many private foundations you can search in that state right now. It comes live from the database and is kept for a few hours. The download can hold fewer, because it lists only the foundations that file Form 990-PF electronically.
Open source
The whole pipeline is open source. Anyone can run it on the same IRS files and compare the result with ours.
You need a working copy of the database first. The self-install guide shows how. Then run these from the corpus folder.
1. Load the earlier years of returns.
uv run funderdb backfill --years 2020,2019,2018,2017 --discard-zips2. Write the list files.
uv run funderdb export foundations --out data/export3. Read the full guide.
It is in the repository on GitHub: corpus/docs/OPEN-FOUNDATION-LIST.md
Corrections
We publish returns as they were filed, and filers make mistakes. If a row looks wrong, tell us. You do not need to know any code.
The form asks for the foundation’s name, its EIN, and what you checked. You need a free GitHub account. We trace the value back to the filing, then fix our reading of it, load a newer return, or leave it as filed with a note.
Search is free and needs no account. Every fact on a foundation’s page points at the filing it came from.