Server definition
- Hash
- sha256:585653b0513acd38a0d27bc74ecb3a93b36b12d361b26f659e9f66c3def86298
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "ProPublica Nonprofit Explorer — keyless read-only access to IRS Form 990 data on 1.8M+ tax-exempt organizations.\n- Start with nonprofit_search to find an org by name and get its EIN\n- Use nonprofit_get_organization for the full profile and latest financial snapshot\n- Use nonprofit_get_filings for year-by-year 990 data, executive comp, and source PDF links\n- Data lags 1–2 years; always cite the fiscal year (tax_prd_yr) when presenting financial figures",
"tools": [
{
"description": "All Form 990 filings for a tax-exempt org by EIN: year-by-year revenue, expenses, assets, liabilities, net assets, revenue breakdown, executive compensation, and source PDF links. Use for trend analysis, due diligence, and accessing primary 990 documents. The filing year (tax_prd_yr) is the fiscal year of the return — data lags 1–2 years; always cite the year. An organization that resolves but has filed no 990 returns an empty filings array with a notice, not an error. Also returns filings_pdf_only — older filings with a PDF but no extracted financial data. Data from ProPublica Nonprofit Explorer, sourced from IRS Form 990 filings.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"ein": {
"anyOf": [
{
"description": "EIN as integer (e.g., 530196605). Leading zeros are stripped — treat EIN as an integer key.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"description": "EIN as string, with or without hyphen (e.g., \"53-0196605\" or \"530196605\").",
"pattern": "^\\d{2}-?\\d{7}$",
"type": "string"
}
],
"description": "Employer Identification Number. Use nonprofit_search to resolve an org name to its EIN."
}
},
"required": [
"ein"
],
"type": "object"
},
"name": "nonprofit_get_filings",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"ein",
"name",
"filings",
"filings_pdf_only",
"total_filings_with_data",
"total_filings_pdf_only",
"data_source",
"propublica_url"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"data_source": {
"description": "ProPublica + IRS attribution text.",
"type": "string"
},
"ein": {
"description": "Employer Identification Number as integer.",
"type": "number"
},
"error": {
"additionalProperties": {},
"description": "Present when the call failed. Absent on success.",
"properties": {
"code": {
"description": "JSON-RPC error code for this failure.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"data": {
"additionalProperties": {},
"properties": {
"reason": {
"description": "Machine-readable failure mode. Declared by this tool: `not_found`: The EIN does not correspond to a known organization in the Nonprofit Explorer database. `upstream_error`: ProPublica API returns a non-JSON body or network error. Other values are possible when a failure originates below the handler.",
"examples": [
"not_found",
"upstream_error"
],
"type": "string"
},
"recovery": {
"additionalProperties": {},
"description": "Actionable next step for the caller.",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"type": "object"
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"type": "object"
},
"message": {
"description": "Human-readable description of what went wrong.",
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
"filings": {
"description": "Filings with extracted financial data, sorted newest first.",
"items": {
"additionalProperties": false,
"description": "Form 990 filing with extracted financial data for one fiscal year.",
"properties": {
"contributions_and_grants": {
"description": "Total contributions and grants (totcntrbgfts). 990/990-EZ only; null for 990-PF.",
"type": [
"number",
"null"
]
},
"executive_compensation": {
"additionalProperties": false,
"description": "Executive compensation summary. Field varies by form type. Per-officer breakdown requires Schedule J in the source PDF.",
"properties": {
"amount": {
"description": "Total executive compensation in USD. Null when not reported.",
"type": [
"number",
"null"
]
},
"field_name": {
"description": "Source API field the amount was read from — compnsatncurrofcr on 990 and 990-EZ, compofficers on 990-PF.",
"enum": [
"compnsatncurrofcr",
"compofficers"
],
"type": "string"
},
"form_type": {
"description": "Form type this compensation field is sourced from.",
"enum": [
"990",
"990-EZ",
"990-PF"
],
"type": "string"
},
"note": {
"description": "Plain-English description of what this field covers and where to find per-officer detail.",
"type": "string"
}
},
"required": [
"amount",
"field_name",
"form_type",
"note"
],
"type": "object"
},
"form_type": {
"description": "IRS form type filed.",
"enum": [
"990",
"990-EZ",
"990-PF"
],
"type": "string"
},
"investment_income": {
"description": "Investment income (invstmntinc). 990/990-EZ only; null for 990-PF.",
"type": [
"number",
"null"
]
},
"net_assets": {
"description": "Net assets/fund balances (end of year) in USD. From totnetassetend. Null when not extracted.",
"type": [
"number",
"null"
]
},
"pdf_url": {
"description": "Source Form 990 PDF link. Null for some IRS processing batches — check filings_pdf_only.",
"type": [
"string",
"null"
]
},
"program_expense_ratio": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"fundraising_expenses": {
"description": "Professional fundraising fees (profndraising) in USD. Null when not reported.",
"type": [
"number",
"null"
]
},
"management_compensation": {
"description": "Officer/director/trustee compensation (compnsatncurrofcr) in USD. Null when not reported.",
"type": [
"number",
"null"
]
},
"note": {
"description": "Methodology note naming the source of the functional allocation.",
"type": "string"
},
"other_salaries": {
"description": "Other salaries and wages (othrsalwages) in USD. Null when not reported.",
"type": [
"number",
"null"
]
},
"program_expenses": {
"description": "Program-service expenses in USD — Form 990 Part IX column (B), line 25.",
"type": [
"number",
"null"
]
},
"ratio": {
"description": "Program-service expenses divided by total functional expenses, as a decimal 0.0–1.0. Always null against the current data source, which reports no program-service expense total.",
"type": [
"number",
"null"
]
},
"total_expenses": {
"description": "Total functional expenses in USD — Form 990 Part IX column (A). From totfuncexpns.",
"type": [
"number",
"null"
]
}
},
"required": [
"ratio",
"program_expenses",
"total_expenses",
"management_compensation",
"other_salaries",
"fundraising_expenses",
"note"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Always null against the current data source. ProPublica returns no Form 990 Part IX column (B) program-service expense total, and the functional allocation across program, management, and fundraising cannot be reconstructed from the fields it does return. Read Part IX of the filing at pdf_url for the split."
},
"program_service_revenue": {
"description": "Program service revenue (totprgmrevnue). 990/990-EZ only; null for 990-PF.",
"type": [
"number",
"null"
]
},
"tax_prd": {
"description": "YYYYMM month the fiscal year ended (e.g., 202306 = June 2023 fiscal year end).",
"type": "number"
},
"tax_prd_yr": {
"description": "Fiscal year of this filing (e.g., 2023). NOT the filing date — data lags 1–2 years. Always cite.",
"type": "number"
},
"total_assets": {
"description": "Total assets (end of year) in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"total_expenses": {
"description": "Total expenses in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"total_liabilities": {
"description": "Total liabilities (end of year) in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"total_revenue": {
"description": "Total revenue in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"updated": {
"description": "ISO datetime ProPublica last updated this record. Null when not provided.",
"type": [
"string",
"null"
]
}
},
"required": [
"tax_prd_yr",
"tax_prd",
"form_type",
"pdf_url",
"updated",
"total_revenue",
"total_expenses",
"total_assets",
"total_liabilities",
"net_assets",
"contributions_and_grants",
"program_service_revenue",
"investment_income",
"program_expense_ratio",
"executive_compensation"
],
"type": "object"
},
"type": "array"
},
"filings_pdf_only": {
"description": "Older filings with a PDF but no extracted financial data.",
"items": {
"additionalProperties": false,
"description": "Older filing with a PDF link but no extracted financial data.",
"properties": {
"form_type_str": {
"description": "Form type string as returned by API (\"990\", \"990EZ\", \"990PF\").",
"type": "string"
},
"pdf_url": {
"description": "Source Form 990 PDF link. Null for some batches.",
"type": [
"string",
"null"
]
},
"tax_prd_yr": {
"description": "Fiscal year of this filing.",
"type": "number"
}
},
"required": [
"tax_prd_yr",
"form_type_str",
"pdf_url"
],
"type": "object"
},
"type": "array"
},
"name": {
"description": "Legal org name per IRS.",
"type": "string"
},
"notice": {
"description": "Present when the organization resolved but Nonprofit Explorer holds no filing of any kind for it — names the org and why the filing history is empty. An empty filings array without this notice means the org has filings that carry a PDF but no extracted data; read filings_pdf_only.",
"type": "string"
},
"propublica_url": {
"description": "ProPublica Nonprofit Explorer URL for this org.",
"type": "string"
},
"total_filings_pdf_only": {
"description": "Count of PDF-only filings (no extracted data).",
"type": "number"
},
"total_filings_with_data": {
"description": "Count of filings with extracted financial data.",
"type": "number"
}
},
"type": "object"
}
},
{
"description": "Full profile for a single tax-exempt org by EIN: legal name, address, NTEE classification, 501(c) type, IRS ruling date, and a financial snapshot from the most recent Form 990 filing (revenue, expenses, assets, net assets, and the source PDF link). Also returns the IRS Business Master File standing — whether contributions are deductible, exemption status, and public-charity vs. private-foundation classification. Use nonprofit_search first if you only have an org name — this tool requires an EIN. Data lags 1–2 years; the tax year is shown prominently. Data from ProPublica Nonprofit Explorer, sourced from IRS Form 990 filings.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"ein": {
"anyOf": [
{
"description": "EIN as integer (e.g., 530196605). Leading zeros are stripped — treat EIN as an integer key.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"description": "EIN as string, with or without hyphen (e.g., \"53-0196605\" or \"530196605\").",
"pattern": "^\\d{2}-?\\d{7}$",
"type": "string"
}
],
"description": "Employer Identification Number. Accepts integer (530196605) or string with optional hyphen (\"53-0196605\"). Obtain from nonprofit_search results."
}
},
"required": [
"ein"
],
"type": "object"
},
"name": "nonprofit_get_organization",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"ein",
"strein",
"name",
"sort_name",
"address",
"city",
"state",
"zipcode",
"ntee_code",
"subsection_code",
"ruling_date",
"asset_amount",
"income_amount",
"revenue_amount",
"deductible",
"exempt_status",
"foundation_type",
"bmf_tax_period",
"latest_filing",
"filing_count",
"data_source",
"propublica_url"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"address": {
"description": "Street address. Null when not on record.",
"type": [
"string",
"null"
]
},
"asset_amount": {
"description": "Most recent IRS BMF total assets in USD. Null when not on record.",
"type": [
"number",
"null"
]
},
"bmf_tax_period": {
"description": "Tax period of the latest return recorded in the IRS Business Master File (e.g. \"2025-06-01\"). Often more recent than latest_filing.tax_prd_yr, which reflects the newest 990 ProPublica has extracted. Null when not on record.",
"type": [
"string",
"null"
]
},
"city": {
"description": "City. Null when not on record.",
"type": [
"string",
"null"
]
},
"data_source": {
"description": "ProPublica + IRS attribution text.",
"type": "string"
},
"deductible": {
"description": "Whether contributions to this org are tax-deductible, as \"<IRS code> — <meaning>\". Three states, not two: code 1 deductible, code 2 not deductible, code 4 deductible by treaty (foreign orgs). Null when the IRS Business Master File records no deductibility code.",
"type": [
"string",
"null"
]
},
"ein": {
"description": "Employer Identification Number as integer.",
"type": "number"
},
"error": {
"additionalProperties": {},
"description": "Present when the call failed. Absent on success.",
"properties": {
"code": {
"description": "JSON-RPC error code for this failure.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"data": {
"additionalProperties": {},
"properties": {
"reason": {
"description": "Machine-readable failure mode. Declared by this tool: `not_found`: The EIN does not correspond to a known organization in the Nonprofit Explorer database. `upstream_error`: ProPublica API returns a non-JSON body (HTML 500) or network error. Other values are possible when a failure originates below the handler.",
"examples": [
"not_found",
"upstream_error"
],
"type": "string"
},
"recovery": {
"additionalProperties": {},
"description": "Actionable next step for the caller.",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"type": "object"
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"type": "object"
},
"message": {
"description": "Human-readable description of what went wrong.",
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
"exempt_status": {
"description": "IRS exemption status as \"<IRS code> — <meaning>\"; code 1 is an unconditional exemption. This records what the IRS granted, not whether the exemption is still in force — the Business Master File is a lagging snapshot and automatic revocations are published separately. Null when the Business Master File records no status code.",
"type": [
"string",
"null"
]
},
"filing_count": {
"description": "Total filings with extracted data on record.",
"type": "number"
},
"foundation_type": {
"description": "IRS foundation classification as \"<IRS code> — <meaning>\", separating public charities (codes 10–25) from private foundations (codes 2–4). Codes 0 (all organizations except 501(c)(3)) and 9 (suspense) fall outside both groups. Null when the IRS Business Master File records no foundation code.",
"type": [
"string",
"null"
]
},
"income_amount": {
"description": "Most recent IRS BMF total income in USD. Null when not on record.",
"type": [
"number",
"null"
]
},
"latest_filing": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"form_type": {
"description": "IRS form type filed.",
"enum": [
"990",
"990-EZ",
"990-PF"
],
"type": "string"
},
"net_assets": {
"description": "Net assets/fund balances (end of year) in USD. From totnetassetend. Null when not extracted.",
"type": [
"number",
"null"
]
},
"pdf_url": {
"description": "Source Form 990 PDF link. Null for some IRS processing batches — check filings via nonprofit_get_filings.",
"type": [
"string",
"null"
]
},
"tax_prd_yr": {
"description": "Fiscal year of this filing (e.g., 2023). NOT the current year — data lags 1–2 years.",
"type": "number"
},
"total_assets": {
"description": "Total assets (end of year) in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"total_expenses": {
"description": "Total expenses in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"total_liabilities": {
"description": "Total liabilities (end of year) in USD. Null when not extracted.",
"type": [
"number",
"null"
]
},
"total_revenue": {
"description": "Total revenue in USD. Null when not extracted.",
"type": [
"number",
"null"
]
}
},
"required": [
"tax_prd_yr",
"form_type",
"total_revenue",
"total_expenses",
"total_assets",
"total_liabilities",
"net_assets",
"pdf_url"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Financial snapshot from the most recent Form 990. Null if no filings_with_data are available."
},
"name": {
"description": "Legal org name per IRS.",
"type": "string"
},
"ntee_code": {
"description": "Full NTEE code (e.g., \"E210\" = hospital). Null when unclassified.",
"type": [
"string",
"null"
]
},
"propublica_url": {
"description": "ProPublica Nonprofit Explorer URL for this org.",
"type": "string"
},
"revenue_amount": {
"description": "Most recent IRS BMF total revenue in USD. Null when not on record.",
"type": [
"number",
"null"
]
},
"ruling_date": {
"description": "ISO date of IRS recognition (e.g., \"1946-07\"). Null when not on record.",
"type": [
"string",
"null"
]
},
"sort_name": {
"description": "IRS Business Master File secondary name line (SORT_NAME) — an internal sort key such as a division or service-center label, not an alternate organization name. Null for most orgs.",
"type": [
"string",
"null"
]
},
"state": {
"description": "Two-letter state abbreviation. Null when not on record.",
"type": [
"string",
"null"
]
},
"strein": {
"description": "EIN in \"XX-XXXXXXX\" format.",
"type": "string"
},
"subsection_code": {
"description": "501(c) subsection number (e.g., 3 = charitable organization, covering both public charities and private foundations — see foundation_type to tell them apart). Null when not classified.",
"type": [
"number",
"null"
]
},
"zipcode": {
"description": "ZIP code. Null when not on record.",
"type": [
"string",
"null"
]
}
},
"type": "object"
}
},
{
"description": "Search 1.8M+ IRS-recognized tax-exempt organizations by name, keyword, city, or phrase. Optionally narrow by US state, NTEE major sector (1–10), or 501(c) subsection type. Returns EINs — pass them to nonprofit_get_organization or nonprofit_get_filings for details. Results are paginated at 25 per page; use the page parameter and num_pages to paginate. Total results cap at 10,000 in the API; if total_results === 10000 the actual count may be higher. A zero-match query and a page past the last one both return an empty organizations array with a notice rather than an error; only a page whose offset reaches that 10,000 cap is refused. Supports quoted phrases (\"Red Cross\"), required terms (+evanston), excluded terms (-dental). Data from ProPublica Nonprofit Explorer, sourced from IRS Form 990 filings.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"ntee_category": {
"description": "NTEE (National Taxonomy of Exempt Entities) major group integer (1–10). 1=Arts/Culture/Humanities, 2=Education, 3=Environment/Animals, 4=Health, 5=Human Services, 6=International/Foreign Affairs, 7=Public/Societal Benefit, 8=Religion Related, 9=Mutual/Membership Benefit, 10=Unknown/Unclassified.",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
],
"type": "string"
},
"page": {
"default": 0,
"description": "Zero-indexed page number. 25 results per page. Total pages is in num_pages. Increment to paginate large result sets.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"query": {
"description": "Keyword search string. Searched against org name, the secondary name line, and city in order of relevance. Supports: quoted phrases (\"Red Cross\"), required terms (+evanston), excluded terms (-dental). Empty string returns all orgs within the active filters.",
"type": "string"
},
"state": {
"description": "Two-letter US state, territory, or military postal code (e.g., \"WA\", \"NY\", \"PR\"). Case-insensitive — normalized to uppercase before filtering. A code outside that set is rejected rather than silently returning national results. Restricts results to orgs headquartered in that state. \"ZZ\" (foreign address) is accepted, but no organization in the index currently carries it.",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"subsection_code": {
"description": "501(c) subsection code. \"3\" = charitable/religious/educational organization (most common — includes both public charities and private foundations; nonprofit_get_organization returns foundation_type to tell them apart), \"4\" = social welfare org, \"6\" = business league/trade association, \"92\" = 4947(a)(1) nonexempt charitable trust. Filters by tax status, not sector.",
"enum": [
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"21",
"22",
"23",
"25",
"26",
"27",
"28",
"92"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "nonprofit_search",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"total_results",
"num_pages",
"cur_page",
"per_page",
"page_offset",
"organizations",
"active_filters",
"data_source"
]
},
{
"required": [
"error"
]
}
],
"properties": {
"active_filters": {
"additionalProperties": false,
"description": "Active filters echoed back for verification.",
"properties": {
"ntee_category": {
"description": "NTEE major group filter applied, or null.",
"type": [
"string",
"null"
]
},
"query": {
"description": "Search query as submitted.",
"type": "string"
},
"state": {
"description": "State filter applied, or null.",
"type": [
"string",
"null"
]
},
"subsection_code": {
"description": "501(c) subsection filter applied, or null.",
"type": [
"string",
"null"
]
}
},
"required": [
"query",
"state",
"ntee_category",
"subsection_code"
],
"type": "object"
},
"cur_page": {
"description": "Current page (zero-indexed).",
"type": "number"
},
"data_source": {
"description": "ProPublica + IRS attribution text.",
"type": "string"
},
"error": {
"additionalProperties": {},
"description": "Present when the call failed. Absent on success.",
"properties": {
"code": {
"description": "JSON-RPC error code for this failure.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"data": {
"additionalProperties": {},
"properties": {
"reason": {
"description": "Machine-readable failure mode. Declared by this tool: `invalid_state`: The state filter is not a US state, territory, or military postal code (or ZZ for foreign entities). `pagination_ceiling`: The requested page is at or beyond ProPublica's 10,000-result offset ceiling. `upstream_error`: ProPublica API returns a 500 or network error. Other values are possible when a failure originates below the handler.",
"examples": [
"invalid_state",
"pagination_ceiling",
"upstream_error"
],
"type": "string"
},
"recovery": {
"additionalProperties": {},
"description": "Actionable next step for the caller.",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"type": "object"
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"type": "object"
},
"message": {
"description": "Human-readable description of what went wrong.",
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
"notice": {
"description": "Present when the response needs a caveat the domain fields cannot carry: a page that returned no organizations (distinguishing a zero-match query from a page past the end of the result set, and naming the next call), a total_results sitting on the API result ceiling rather than counting matches, or both at once in one string. Absent when the page is populated and the total is an exact count.",
"type": "string"
},
"num_pages": {
"description": "Total pages available (total_results / 25, ceiling). The last valid page is num_pages - 1.",
"type": "number"
},
"organizations": {
"description": "Matching organizations for the current page.",
"items": {
"additionalProperties": false,
"description": "A matched tax-exempt organization.",
"properties": {
"city": {
"description": "Headquarters city. Null when not on record.",
"type": [
"string",
"null"
]
},
"ein": {
"description": "Employer Identification Number — use with nonprofit_get_organization and nonprofit_get_filings.",
"type": "number"
},
"name": {
"description": "Legal org name per IRS.",
"type": "string"
},
"ntee_code": {
"description": "Full NTEE code (e.g., \"E210\" = hospital). More specific than the ntee_category filter.",
"type": [
"string",
"null"
]
},
"score": {
"description": "Relevance score — higher = better match.",
"type": "number"
},
"state": {
"description": "Two-letter state abbreviation. Null when not on record.",
"type": [
"string",
"null"
]
},
"strein": {
"description": "EIN in \"XX-XXXXXXX\" format (preserves leading zeros).",
"type": "string"
},
"sub_name": {
"description": "The legal name with the IRS Business Master File secondary name line appended — a division, service-center, or chapter identifier, not a separate trade name the org operates under. Null when the org has no secondary name line.",
"type": [
"string",
"null"
]
},
"subseccd": {
"description": "501(c) subsection code (e.g., 3 = charitable organization). Null when not classified.",
"type": [
"number",
"null"
]
}
},
"required": [
"ein",
"strein",
"name",
"sub_name",
"city",
"state",
"ntee_code",
"subseccd",
"score"
],
"type": "object"
},
"type": "array"
},
"page_offset": {
"description": "Zero-indexed offset of the first result on this page. Requests are refused once this reaches 10,000.",
"type": "number"
},
"per_page": {
"description": "Results per page applied by the API (25).",
"type": "number"
},
"total_results": {
"description": "Total matching orgs (up to 10,000 — the API ceiling). If 10000, actual count may be higher.",
"type": "number"
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:585653b0513acd38a0d27bc74ecb3a93b36b12d361b26f659e9f66c3def86298 | sha256sum