irs_exempt_org_search
Pack: irs-exempt-orgs · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/irs_exempt_org_search for the schema, then POST the same URL with its arguments for the data.
Find US tax-exempt organisations in the IRS Exempt Organizations Business Master File by ruling date (when the IRS determined exemption), foundation type, state, subsection, NTEE category and minimum assets, ranked by assets. Example: private foundations determined in 2025 or later, largest first. Needs a bounded search: a ruling-date window, or private_foundation true, or a small state; a search that would scan too much says so and asks for a narrower one. Returns EIN, name, city, state, ruling month, foundation type, subsection, NTEE and latest assets/income/revenue, with codes decoded; use irs_exempt_org_get for the full record. Searching by organisation name is not supported. Every answer carries data_as_of and answered_from. Keyless.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ruling_from | string | no | Earliest ruling (IRS determination) month, “YYYY” or “YYYY-MM”, e.g. “2025-01”. |
ruling_to | string | no | Latest ruling month, “YYYY” or “YYYY-MM”. Defaults to the newest in the file. |
private_foundation | boolean | no | true: only private foundations (foundation codes 02, 03, 04, the 990-PF filers). false: only organisations that are not private foundations. |
foundation_code | string | no | Foundation code(s), comma separated, e.g. “04” or “02,03,04”. 04 = private non-operating, 03 = private operating, 02 = private operating exempt from excise tax, 15 = public charity (broad support), 16 = 509(a)(2) public charity, 21-25 = supporting organizations. |
state | string | no | Two-letter state or territory code of the organisation address, e.g. “DE”. |
subsection | string | no | Subsection code, e.g. “03” for 501(c)(3), “04” for 501(c)(4), “92” for 4947(a)(1) trusts. |
ntee | string | no | NTEE code prefix, e.g. “T” (philanthropy and grantmaking) or “T20”. |
min_assets | number | no | Only organisations with latest reported assets of at least this many US dollars. |
sort | string | no | Rank by latest reported assets (default), income, revenue, or ruling date (newest first). Missing amounts rank last. |
limit | number | no | Rows to return, default 25, max 200. |
Example call
Arguments
{
"private_foundation": true,
"ruling_from": "2025-01",
"limit": 10
}
curl
curl -X POST https://gateway.pipeworx.io/irs-exempt-orgs/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"irs_exempt_org_search","arguments":{"private_foundation":true,"ruling_from":"2025-01","limit":10}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('irs_exempt_org_search', {
"private_foundation": true,
"ruling_from": "2025-01",
"limit": 10
});
More examples
{
"state": "DE",
"ruling_from": "2026-01",
"ntee": "T",
"min_assets": 100000,
"limit": 10
}
Response shape
| Field | Type | Description |
|---|---|---|
found | boolean | |
reason | string | |
message | string | |
hint | string | |
answered_from | string | |
data_as_of | string | |
source | string | |
scanned_organizations | number | |
total_matches | number | |
returned | number | |
sorted_by | string | |
note | string | |
amounts_note | string | |
organizations | array |
Full JSON Schema
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"message": {
"type": "string"
},
"hint": {
"type": "string"
},
"answered_from": {
"type": "string"
},
"data_as_of": {
"type": "string"
},
"source": {
"type": "string"
},
"scanned_organizations": {
"type": "number"
},
"total_matches": {
"type": "number"
},
"returned": {
"type": "number"
},
"sorted_by": {
"type": "string"
},
"note": {
"type": "string"
},
"amounts_note": {
"type": "string"
},
"organizations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ein": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"ruling_date": {
"type": [
"string",
"null"
]
},
"subsection": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"meaning": {
"type": [
"string",
"null"
]
}
}
},
"foundation": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"meaning": {
"type": [
"string",
"null"
]
},
"private_foundation": {
"type": "boolean"
}
}
},
"ntee": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"major_group": {
"type": [
"string",
"null"
]
}
}
},
"exemption_status": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"meaning": {
"type": [
"string",
"null"
]
}
}
},
"assets_usd": {
"type": [
"number",
"null"
]
},
"income_usd": {
"type": [
"number",
"null"
]
},
"revenue_usd": {
"type": [
"number",
"null"
]
}
}
}
}
}
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the irs-exempt-orgs pack
{
"mcpServers": {
"irs-exempt-orgs": {
"url": "https://gateway.pipeworx.io/irs-exempt-orgs/mcp"
}
}
}
See Getting Started for client-specific install steps.