Access bulk IRS Form 990 data for programmatic/dataset use (not per-organization lookups)

domain: irs.gov · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. For official downloads, use the IRS's own Form 990 series downloads page (irs.gov/charities-non-profits/form-990-series-downloads), organized by year
  2. For programmatic bulk access to e-filed XML returns, pull directly from the public S3 bucket at s3.amazonaws.com/irs-form-990 — no authentication is required over HTTPS
  3. Use the bucket's index files to enumerate which EIN/filings are available for a given year before downloading individual XML documents
  4. Do not rely on the original 'IRS 990 Filings' listing on the AWS Registry of Open Data — that specific listing stopped being maintained/updated after 2021
  5. If you need pre-converted spreadsheet extracts rather than raw XML, check the separately maintained 'IRS 990 Filings (Spreadsheets)' Registry of Open Data listing instead
  6. Cross-reference with ProPublica's Nonprofit Explorer API for single-organization lookups rather than downloading the full bulk dataset for one-off queries

Known gotchas

Related routes

Fetch Form 990 filing data for a nonprofit using ProPublica's Nonprofit Explorer API
projects.propublica.org · 6 steps · unrated
Search and harvest dataset metadata from data.gov using the CKAN API
catalog.data.gov · 6 steps · unrated
Ingest records using the Salesforce Bulk API 2.0
developer.salesforce.com · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans