# 2s.io US Nonprofit Search

> 2s.io US Nonprofit Search is a paid API for AI agents from 2s.io, paid per call via x402, $0.0012/call, status unknown (last checked 2026-09-13).

Search US 501(c) nonprofit organizations by EIN, name, state, NTEE category code, or IRS subsection code, returning structured organization records from IRS/ProPublica data.

## Facts

- Endpoint: GET https://2s.io/api/nonprofit/search
- Price: $0.0012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-32e373eb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LA0_bwlJOn6kyGl-uosxL

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-32e373eb
```

Example prompt: Can you look up nonprofit organizations named 'Habitat for Humanity' in Texas and tell me their EINs, NTEE codes, and whether they're 501(c)(3)?

## When to prefer this

Use this endpoint when you need to look up or verify US nonprofit organizations using IRS data — especially when you need EINs, NTEE classifications, or IRS subsection codes. It is well-suited for due diligence on charitable donations, verifying nonprofit status, finding organizations by category or geography, and enriching nonprofit data pipelines. Prefer this over general web search when structured, authoritative IRS-sourced records are needed.

## Known failure modes

- Invalid or malformed EIN returns no results or an error
- Unknown NTEE code or subsection code returns empty result set
- Free-text name search may return many loosely matched results requiring filtering
- Pagination beyond available results returns empty page
- Missing required query parameter (no search criteria provided) may return error or empty results
- Rate limit or payment failure returns 402 or 429 status

## How this service works

US 501(c) nonprofit organization search. Lookup by 9-digit EIN (with or without hyphen), free-text name, 2-letter state, NTEE category code (e.g. 'B99' for education), or IRS subsection code (3 = 501(c)(3), 4 = 501(c)(4), etc.). Each record includes EIN, name, city/state, NTEE code, subsection code + human-readable subsection description (e.g. '501(c)(3) Charitable / Religious / Educational'), and relevance score. Sourced from ProPublica Nonprofit Explorer, which aggregates IRS Form 990 + BMF data; underlying IRS data is public domain.

## Output

A paginated list of nonprofit organization records (100 per page), each containing: EIN, organization name, city, state, NTEE code, IRS subsection code, human-readable subsection description (e.g. '501(c)(3) Charitable / Religious / Educational'), and a relevance score. Results are sourced from ProPublica Nonprofit Explorer aggregating IRS Form 990 and BMF data.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "q": "Habitat for Humanity",
   "page": 0,
   "state": "TX"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "properties": {
      "q": {
       "type": "string",
       "description": "Free-text name search."
      },
      "ein": {
       "type": "string",
       "description": "9-digit EIN, with or without hyphen."
      },
      "page": {
       "type": "integer",
       "default": 0,
       "minimum": 0,
       "description": "0-indexed page (100/page)."
      },
      "state": {
       "type": "string",
       "description": "2-letter US state."
      },
      "nteeCode": {
       "type": "string",
       "description": "NTEE category (e.g., \"B99\")."
      },
      "subsectionCode": {
       "type": "integer",
       "description": "IRS subsection (3 = 501(c)(3), etc.)."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-32e373eb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
