The 990-PF data licence

Every private foundation's return, recomputed, as data.

11,842 filed Forms 990-PF of foundations with $10 million or more, each re-done line by line from the IRS's own file and sealed; 11,827 agree on every line. With every grant matched to the charity's EIN where a written rule allows: 122,498 grantees.

The sandbox is a fictitious foundation, for integration testing. Public filings only; no client data of anyone’s.

The prices

Published, so nobody has to ask.

Pilot · 60 days: $7,500 Pilot

The full file for the tier you choose, against acceptance criteria you write before it begins. Credited in full to the first year's licence.

A year: $15,000 Records

Every $10 million-plus private foundation's latest filed Form 990-PF, recomputed line by line, with its carryover as filed: undistributed income and its statutory date, and excess carried forward by the year it arose. Files refreshed in each month the IRS publishes new returns.

A year: $30,000 Records and Grantee Graph

Adds each foundation's grants matched to charity EINs, co-funders and program mix, with the rule each match was made by.

A year: $50,000 Enterprise

Adds the right to display the data inside your own product to your own users, and a list of the EINs you follow showing what changed at each refresh.

Invoiced by a named person after a written licence; nothing is charged to a card. JSON Lines files with a manifest and the SHA-256 of every file, delivered by a named person after each refresh. The refresh follows the IRS's own publication of e-filed returns, which is monthly.

What is in the files

Three files and a manifest.

records.jsonl

One line per foundation: the latest filed return's figures by line (fair market value, the asset base, the distributable amount, qualifying distributions, grants paid, officer compensation, operating and administrative expenses, total expenses, excise tax, undistributed income), the IRS object id and the SHA-256 of the return read, and the carryover as filed: undistributed income with its date, excess carried forward by the year it arose.

grants.jsonl

Each foundation's Part XV grants: matched charity EINs and dollars, with what stayed unmatched, what went to individuals (counted, never named) and what the return left to an attached statement. Records and Grantee Graph, and Enterprise.

grantees.jsonl

Each matched charity: its name, city and state as the IRS register gives them, and its NTEE code.

manifest.json

The licensee, the tier, the date, the population and every exclusion by class, and the SHA-256 of each file, so what was delivered can be proved later by anyone.
Who is in them

9,733 foundations, after the exclusions.

Of the 11,842 in the directory, these classes are left out, as they are from our public records, before any foundation’s removal request is applied (counted 2026-10-23):

§4947(a)(1) nonexempt charitable trusts

22

Foreign organisations

42

Operating foundations, or the Part X box checked

862

Returns whose header boxes were not read

57

Initial returns

111

Name changes

107

Address changes

626

Short tax years

40

Fair market value under $10 million

110

Superseded by a later submission

16

Any line of our recomputation differs, or the year was not read

116
Measured, not claimed

Every rate the graph rests on.

Grant dollars matched to a charity's EIN

61.10% of itemized dollars to organisations (63.42% of rows).

City agreement on name-and-state matches

87.66% of 346656

Refused as ambiguous

15,861 rows: several registered charities share the name, and nothing decides between them.

Itemized share of grants paid

84.77% of Part XV line 3a; 16.33% was left to an attached statement.

The method, the rules and the quirks found in the filings: the Library. Each record’s seal is checkable at Verify.

The terms, in counsel's substance

By written licence.

Public filings, as is

Figures as filed with the IRS. We warrant that each seal correctly hashes the data we read; we do not warrant that a foundation or the IRS entered its figures correctly. The data carries no determination about any filer, by the licensee or by us. Our liability is capped at the fees paid in the prior twelve months.

Mechanical, never a verdict

Every figure is a filed number or arithmetic on filed numbers. No field says pass or fail, right or wrong, agrees or differs, and nothing is said about anyone's work.

Exclusions and removal

The classes of return excluded from our public records are excluded from the files. A foundation that asks to be removed is removed, and each licensee purges it within two business days of notice. A licensee that has not is told at once and has two further business days; then its licence ends. Its indemnity for any claim arising from a missed purge, the cure period included, is uncapped and does not depend on fault.

Use

No direct self-dealing, and no use of the data to solicit a foundation regarding its undistributed income, the payout still due under IRC §4942, or its carryover. Attribution, with the seal link. The licensee indemnifies us against third-party claims arising from its use, display or application of the data.

How a licence starts

A paid, fixed-fee pilot against acceptance criteria the licensee writes before it begins. No promise of performance is made: the data is offered as is, and the pilot is the licensee's own measure.