{"aid":"data.useplinth.com:apis","name":"Plinth US Grants Data","description":"The US grantmaking universe as an API — about 211,000 grantmaking foundations and 19.8 million grants, read from public IRS Form 990, 990-EZ and 990-PF e-file filings. A JSON REST API with an OpenAPI 3.1 description, an ad-hoc SQL endpoint, and an MCP server for agents. Free key, no card; every figure traceable to its source.","image":"https://data.useplinth.com/plinth-logo.svg","url":"https://data.useplinth.com/.well-known/apis.json","created":"2026-08-13","modified":"2026-08-24","specificationVersion":"0.19","type":"Index","position":"Producing","access":"1st-Party","tags":["Philanthropy","Grants","Nonprofits","Foundations","Open Data","IRS 990","Government Spending","Research","Agents"],"apis":[{"aid":"data.useplinth.com:grants-api","name":"Plinth Grants API","description":"Read the whole US funding graph in both directions: everything a foundation funded (funder_id) or every funder behind a nonprofit (recip_id), plus organization profiles, an IRS compliance and OFAC screen, federal and state government funding, and ad-hoc read-only SQL. Parameter and field names follow the vocabulary of existing grant data APIs, so an existing client is close to drop-in. Start at /api/v1/search, which resolves a name to an EIN and needs no key.","image":"https://data.useplinth.com/plinth-logo.svg","humanURL":"https://data.useplinth.com/developers","baseURL":"https://data.useplinth.com/api/v1","version":"1.0.0","created":"2026-08-13","modified":"2026-08-24","tags":["Grants","Philanthropy","Nonprofits","Foundations","REST","JSON","Open Data"],"properties":[{"type":"OpenAPI","name":"OpenAPI 3.1","description":"Generated from the service's own route signatures, so it cannot drift from the API.","url":"https://data.useplinth.com/openapi.json","mediaType":"application/json"},{"type":"Documentation","name":"Developer documentation","description":"Endpoints, filters, response shape, access and limits.","url":"https://data.useplinth.com/developers"},{"type":"GettingStarted","name":"Authentication","description":"Get a free key and make the first call.","url":"https://data.useplinth.com/developers#auth"},{"type":"Authentication","name":"API key","description":"X-API-Key header (or Authorization: Bearer). Keys start plinth_sk_.","url":"https://data.useplinth.com/developers#auth"},{"type":"Signup","name":"Get an API key","description":"Free key, no card, issued from the account dashboard.","url":"https://data.useplinth.com/account"},{"type":"Login","url":"https://data.useplinth.com/account"},{"type":"Pricing","name":"Plans","description":"Free tier plus paid plans; the API call allowance is per plan.","url":"https://data.useplinth.com/pricing"},{"type":"RateLimits","name":"Access and limits","description":"Monthly call allowances, the 402 boundary, and the separate meters.","url":"https://data.useplinth.com/developers#access"},{"type":"ErrorCodes","name":"Error codes","description":"401 unknown key, 402 allowance spent or account inactive.","url":"https://data.useplinth.com/developers#auth"},{"type":"Security","name":"Security and governance","description":"Key handling, vulnerability disclosure, and the machine-readable artifacts.","url":"https://data.useplinth.com/developers#governance"},{"type":"TermsOfService","url":"https://data.useplinth.com/terms"},{"type":"PrivacyPolicy","url":"https://data.useplinth.com/privacy"},{"type":"X-SpectralRules","name":"Spectral ruleset","description":"The governance rules this API's OpenAPI description is linted against.","url":"https://data.useplinth.com/spectral/grants-api.yaml","mediaType":"application/yaml"},{"type":"X-OnboardingDescriptor","name":"API Onboarding Descriptor 0.1","description":"Machine-readable account, plan and credential requirements.","url":"https://data.useplinth.com/.well-known/api-onboarding","mediaType":"application/json"},{"type":"X-DataLicense","name":"Source data license","description":"Figures are read from IRS Form 990 / 990-PF e-file data, which is public domain.","url":"https://www.irs.gov/charities-non-profits/tax-exempt-organization-search-bulk-data-downloads"},{"type":"X-DataDictionary","name":"Warehouse schema","description":"Every table and column reachable through POST /api/v1/sql, with the caveats.","url":"https://data.useplinth.com/developers/schema"},{"type":"X-AgentCredential","name":"Signed-agent trial key","description":"POST /api/v1/agent-key with an RFC 9421 (Web Bot Auth) signature and get a trial key — no account, no browser.","url":"https://data.useplinth.com/developers#agent-trial"},{"type":"X-Examples","name":"Canned example responses","description":"?example=1 on any endpoint returns a real envelope — including the warning and error shapes — with no key and no metering.","url":"https://data.useplinth.com/developers#examples"}],"contact":[{"FN":"Plinth API support","email":"data@useplinth.com","url":"https://data.useplinth.com/developers"}]},{"aid":"data.useplinth.com:mcp-connector","name":"Plinth MCP Server","description":"The same warehouse as a remote Model Context Protocol server, so an agent can query US grants data in a conversation instead of writing HTTP calls. Streamable HTTP with OAuth 2.1: dynamic client registration, PKCE S256, and a browser consent step.","image":"https://data.useplinth.com/plinth-logo.svg","humanURL":"https://data.useplinth.com/connect","baseURL":"https://data.useplinth.com/api/connector/mcp","created":"2026-08-13","modified":"2026-08-24","tags":["MCP","Agents","Grants","Philanthropy","OAuth"],"properties":[{"type":"Documentation","name":"Connector setup","description":"One-click install of the Plinth connector in Claude.","url":"https://data.useplinth.com/connect"},{"type":"X-ModelContextProtocol","name":"MCP endpoint","description":"Remote MCP server (streamable HTTP) over the same warehouse.","url":"https://data.useplinth.com/api/connector/mcp"},{"type":"Authentication","name":"OAuth 2.1 + PKCE","description":"RFC 8414 metadata, RFC 7591 dynamic client registration, S256 PKCE.","url":"https://data.useplinth.com/.well-known/oauth-authorization-server"},{"type":"Pricing","url":"https://data.useplinth.com/pricing"}]}],"common":[{"type":"X-Website","url":"https://data.useplinth.com/"},{"type":"Documentation","url":"https://data.useplinth.com/developers"},{"type":"GettingStarted","url":"https://data.useplinth.com/developers#auth"},{"type":"Signup","url":"https://data.useplinth.com/account"},{"type":"Pricing","url":"https://data.useplinth.com/pricing"},{"type":"TermsOfService","url":"https://data.useplinth.com/terms"},{"type":"PrivacyPolicy","url":"https://data.useplinth.com/privacy"},{"type":"Security","url":"https://data.useplinth.com/developers#governance"},{"type":"Support","name":"Support","description":"Questions, corrections and access requests.","url":"https://data.useplinth.com/developers#governance"},{"type":"Contact","url":"mailto:data@useplinth.com"},{"type":"X-SecurityTxt","name":"security.txt","description":"RFC 9116 vulnerability-disclosure contact.","url":"https://data.useplinth.com/.well-known/security.txt"},{"type":"X-ApiCatalog","name":"API catalog","description":"RFC 9727 linkset pointing at the OpenAPI description.","url":"https://data.useplinth.com/.well-known/api-catalog"},{"type":"X-LlmsText","name":"llms.txt","description":"What this corpus is, how to cite it, and which pages are authoritative.","url":"https://data.useplinth.com/llms.txt"},{"type":"X-Methodology","name":"Methodology","description":"How the figures are built, which are read from filings and which are computed on top, and what none of them say.","url":"https://data.useplinth.com/methodology"},{"type":"X-DataQuality","name":"Data quality","description":"Measured coverage of the funding graph: how much came from filers vs our own matching, and that matching's precision against held-out filer-supplied EINs.","url":"https://data.useplinth.com/data-quality"},{"type":"X-Matching","name":"Matching","description":"How recipient names are resolved to EINs, what no resolver could match, and how far the published graph is from that ceiling.","url":"https://data.useplinth.com/matching"},{"type":"X-Compliance","name":"Compliance screen","description":"How /screening looks an EIN up across seven IRS, Treasury and California files, and why a missing source reports not screened rather than clear.","url":"https://data.useplinth.com/screening"}],"maintainers":[{"FN":"Plinth","email":"data@useplinth.com","organizationName":"Plinth (Time to Spare Ltd)","url":"https://www.useplinth.com","X-twitter":"useplinth"}]}