Fetch Form 990 filing data for a nonprofit using ProPublica's Nonprofit Explorer API
domain: projects.propublica.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
No API key or authentication is required — this is a fully open, public API
GET the organization endpoint with the nonprofit's integer EIN to retrieve all available filing data, including fields not shown on the public website
Iterate the returned filings array — each entry corresponds to one fiscal-year Form 990/990-EZ/990-PF filing, with 40-120+ fields depending on form type
For orgs with electronically filed returns, use the associated XML filing links to get complete machine-readable data (financials, officer names, schedules)
Use the full-text search endpoint (rather than the organization endpoint) to find organizations by name, city, or state when you don't already have the EIN
Treat the API as 'a work in progress' per ProPublica's own docs — re-check field availability periodically since it can change
Known gotchas
Full 990 XML text is only available for electronically filed returns — older or paper-filed returns will lack that machine-readable detail even though summary fields exist
ProPublica explicitly documents this API as subject to change without a formal versioning/deprecation policy — don't build brittle field-name assumptions
This is a read-only, unauthenticated public dataset mirror, not a live/real-time feed from the IRS — expect a lag before newly filed 990s appear
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?