# ProPublica API: Get nonprofit financials

> Looks up a US nonprofit by name, EIN or Nonprofit Explorer link and returns its recent Form 990 filing years with revenue, expenses, assets, liabilities, top reported pay and PDF links.

Unofficial. Not affiliated with or endorsed by ProPublica.

- Page: https://fous.com/methods/projects.propublica.org/get-nonprofit-financials
- Method: `projects.propublica.org/get_nonprofit_financials`, version 1
- Website: projects.propublica.org
- Returns: name, EIN, city, state, and per filing year revenue, expenses, assets, liabilities, highest paid executive and PDF link
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `state` | string | no |  | Optional two-letter state to distinguish similar names, for example CA. |
| `max_years` | integer | no |  | Maximum number of filing years, newest first, for example 5. Default 5. |
| `organization` | string | yes | `"Wikimedia Foundation"` | The nonprofit name, EIN (for example 20-0049703), or its Nonprofit Explorer link. |

## Output

From a run on Oct 23, 2026, shortened. Its input:

```json
{
  "organization": "Wikimedia Foundation"
}
```

Its output:

```json
{
  "ein": "20-0049703",
  "city": "San Francisco",
  "name": "Wikimedia Foundation Org",
  "state": "CA",
  "filings": [
    {
      "tax_year": 2025,
      "filing_pdf_link": null,
      "filing_page_link": "https://projects.propublica.org/nonprofits/organizations/200049703#filing2025",
      "total_assets_usd": 310794417,
      "total_revenue_usd": 205389744,
      "total_expenses_usd": 189748442,
      "total_liabilities_usd": 14244387,
      "highest_paid_executive_name": "Maryana Iskander",
      "highest_paid_executive_pay_usd": 553360
    },
    {
      "tax_year": 2024,
      "filing_pdf_link": "https://projects.propublica.org/nonprofits/download-filing?path=IRS%2F200049703_202406_990_2025051223428459.pdf",
      "filing_page_link": "https://projects.propublica.org/nonprofits/organizations/200049703#filing2024",
      "total_assets_usd": 286759938,
      "total_revenue_usd": 185418243,
      "total_expenses_usd": 178588294,
      "total_liabilities_usd": 15204548,
      "highest_paid_executive_name": "Maryana Iskander",
      "highest_paid_executive_pay_usd": 494079
    },
    {
      "tax_year": 2023,
      "filing_pdf_link": null,
      "filing_page_link": "https://projects.propublica.org/nonprofits/organizations/200049703#filing2023",
      "total_assets_usd": 274123369,
      "total_revenue_usd": 180199672,
      "total_expenses_usd": 168305333,
      "total_liabilities_usd": 19152033,
      "highest_paid_executive_name": "Maryana Iskander",
      "highest_paid_executive_pay_usd": 534468
    }
  ],
  "nonprofit_explorer_link": "https://projects.propublica.org/nonprofits/organizations/200049703"
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"projects.propublica.org/get_nonprofit_financials","input":{"organization":"Wikimedia Foundation"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- How much revenue and expenses did the Red Cross report on its last few Form 990 filings?
- Pull the Form 990 history for EIN 13-1624041, showing assets and liabilities by year.
- Can you show me the highest paid executive at Habitat for Humanity International across its recent tax filings in CA?
- Get the last 3 years of financials for the Ford Foundation, including PDF links to the 990s.
- What were Doctors Without Borders USA's total assets and liabilities on its propublica nonprofit explorer filings?

## Input schema

```json
{
  "type": "object",
  "required": [
    "organization"
  ],
  "properties": {
    "state": {
      "type": "string",
      "description": "Optional two-letter state to distinguish similar names, for example CA."
    },
    "max_years": {
      "type": "integer",
      "default": 5,
      "maximum": 20,
      "minimum": 1,
      "description": "Maximum number of filing years, newest first, for example 5."
    },
    "organization": {
      "type": "string",
      "description": "The nonprofit name, EIN (for example 20-0049703), or its Nonprofit Explorer link."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "name",
    "ein",
    "city",
    "state",
    "nonprofit_explorer_link",
    "filings"
  ],
  "properties": {
    "ein": {
      "type": "string"
    },
    "city": {
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "type": "string"
    },
    "state": {
      "type": [
        "string",
        "null"
      ]
    },
    "filings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "tax_year",
          "total_revenue_usd",
          "total_expenses_usd",
          "total_assets_usd",
          "total_liabilities_usd",
          "highest_paid_executive_name",
          "highest_paid_executive_pay_usd",
          "filing_pdf_link",
          "filing_page_link"
        ],
        "properties": {
          "tax_year": {
            "type": "integer",
            "description": "Filing tax year."
          },
          "filing_pdf_link": {
            "type": [
              "string",
              "null"
            ],
            "description": "Direct filing PDF link, if available."
          },
          "filing_page_link": {
            "type": "string",
            "description": "Nonprofit Explorer page for this filing year."
          },
          "total_assets_usd": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Year-end total assets in USD, if extracted."
          },
          "total_revenue_usd": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total revenue in USD, if extracted."
          },
          "total_expenses_usd": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Total expenses in USD, if extracted."
          },
          "total_liabilities_usd": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Year-end total liabilities in USD, if extracted."
          },
          "highest_paid_executive_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Highest compensated listed officer or key employee, if reported."
          },
          "highest_paid_executive_pay_usd": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Reported compensation, including related and other compensation, in USD."
          }
        },
        "additionalProperties": false
      }
    },
    "nonprofit_explorer_link": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
```

## See more

- [ProPublica API: Search nonprofits by name](https://fous.com/methods/projects.propublica.org/search-nonprofits.md): Finds U.S. nonprofits by organization name, optionally filtered by state and city, with the latest reported revenue and assets.
- [IRS API: Check charity status](https://fous.com/methods/irs.gov/check-charity-status.md): Looks up an organization in the IRS Tax Exempt Organization Search by name or EIN. It reports whether donations are deductible, whether the organization was automatically revoked, and its recent Form 990 filings.
- [SEC EDGAR API: Get company financials](https://fous.com/methods/sec.gov/get-company-financials.md): Looks up a public company by name or ticker on SEC EDGAR and returns its reported annual or quarterly financial figures from XBRL company facts. Quarterly flows are derived from year-to-date totals when no quarterly figure is filed. Unavailable figures are null.
- [IRS API: Get tax form](https://fous.com/methods/irs.gov/get-tax-form.md): Finds current IRS forms, instructions and publications by number or purpose. Each result has its revision and posting dates, PDF links and a short explanation.
- [USAspending API: Get company federal awards](https://fous.com/methods/usaspending.gov/get-company-federal-awards.md): Returns federal obligations and distinct awards for a company or organization, including its parent and child recipient records. Covers the selected fiscal year or the last five fiscal years.
- [PR Newswire API: Search press releases](https://fous.com/methods/prnewswire.com/search-press-releases.md): Finds PR Newswire press releases by company name or keywords, newest first, with optional publication date filters.
- [USAspending API: Search federal awards](https://fous.com/methods/usaspending.gov/search-federal-awards.md): Searches USAspending federal awards by keywords, awarding agency, state of performance and date across contracts, grants, loans and direct payments. Searches from October 1, 2007 onward.
- [SEC EDGAR API: List company SEC filings](https://fous.com/methods/sec.gov/get-company-filings.md): Finds a public company by name or ticker in SEC EDGAR and lists its filings, newest first, optionally narrowed by filing type and filing date.
- [All ProPublica methods](https://fous.com/methods/propublica.org.md)
