US Nonprofit Financial Data API · IRS EO BMF, SOI, e-file index

Every exempt organisation, by EIN.

Look up a US tax-exempt organisation by its EIN and get its IRS master file record and its Form 990 series figures by tax year. Every record says which IRS file it came from.

request
curl -s "https://api.olympus.new-odyssey.com/v1/nonprofit-financials/organizations/$EIN" \
  -H "X-API-Key: $OLYMPUS_API_KEY"
200 OK (shape)
{
  "data": {
    "ein": "…", "name": "…", "city": "…", "state": "…", "ntee_code": "…", "subsection": "03",
    "ruling_month": "…", "asset_band": { "code": …, "min": …, "max": … },
    "latest_financials": { "form": "990", "tax_year": …, "total_revenue": …, "total_expenses": …, "total_assets_eoy": …, "provenance": { … } },
    "links": { "financials": "/v1/nonprofit-financials/organizations/…/financials", "irs_teos": "…" },
    "entity_id": "org_…",
    "identifiers": [{ "scheme": "US-EIN", … }],
    "related": [ … ],
    "provenance": { "source_id": "irs.eo_bmf", … }
  },
  "meta": {
    "datasets": [ … ],
    "notices": [{ "code": "not_a_determination", "message": "…" }, { "code": "figures_as_filed", "message": "…" }]
  }
}
Read this first

EINs match. Names only suggest.

An EIN returns the organisation the IRS lists under it. A name returns candidates whose IRS name starts with your query, never a match: names repeat across chapters, churches and foundations. Confirm with the EIN.

The master file is the IRS's most recent information, not a determination of exempt status or deductibility. Each organisation links to the IRS Tax Exempt Organization Search so you can confirm it there.

Endpoints

Organisation, financials, search, coverage.

Organisation responses carry the shared entity_id, identifiers and related blocks: an EIN that a plan sponsor or an SEC company also carries is the same entity.

EndpointWhat it returns
GET/v1/nonprofit-financials/organizationsSearch organisations by name prefix (candidates)
GET/v1/nonprofit-financials/organizations/{ein}An exempt organisation by EIN
GET/v1/nonprofit-financials/organizations/{ein}/financialsForm 990 series figures and e-filed returns by tax year
GET/v1/nonprofit-financials/coverageWhat is published, from which files
Sources

Three IRS publications.

GET /v1/nonprofit-financials/coverage lists every file behind every publication, the SOI processing years and the e-file index years loaded.

sourceWhat it holds
EO BMFEvery organisation the IRS recognises as exempt (four region files, monthly): name, city, state, NTEE, subsection, foundation and deductibility codes, ruling month, asset and income bands.
SOI extractsForm 990, 990-EZ and 990-PF figures by EIN and tax period, for the processing years coverage lists: revenue, expenses, contributions, assets, liabilities, net assets.
e-file indexThe returns the IRS publishes as XML, with the object id and the IRS ZIP that holds each one. The XML itself is not parsed.
Know before you build

Limits

Figures as filed

Financials come from the IRS SOI extracts of the processing years coverage lists. Returns the IRS processed in other years are not included until their extract is loaded.

XML listed, not parsed

The e-filed XML returns (about 4.4 GB of ZIPs a year) are listed with their IRS ZIP, not parsed. Schedule and compensation detail is not served.

People

The master file's “in care of” name and street addresses are not stored. Only organisations are linked to other data.