NIH RePORTER
live GovernmentResearchHealthEvery NIH-funded research grant — PI, institution, fiscal year, award amount, abstract, mesh terms, congressional district. No auth.
3 tools
0ms auth
free tier 50 calls/day
Tools
search_grants Filter NIH projects by free-text, PI, organization, fiscal year, state, or institute code (NCI, NHLBI, NIAID, etc.).
Parameters
Name Type Description
query opt string Free-text query pi_name opt string PI name part organization opt string Institution name fiscal_year opt number FY (e.g., 2024) state opt string US state code ic opt string NIH IC code (e.g., NCI, NHLBI) limit opt number 1-500 (default 25) offset opt number Pagination offset Try it
Response
get_project
required: appl_id Full project record by application ID, including complete abstract.
Parameters
Name Type Description
appl_id req number NIH application ID Try it
Response
search_publications Search publications acknowledging NIH funding by PMID, appl_id, or core project number.
Parameters
Name Type Description
pmids opt string Comma-separated PubMed IDs appl_ids opt string Comma-separated application IDs core_project_nums opt string Comma-separated core project numbers limit opt number 1-500 (default 25) offset opt number Pagination offset Try it
Response
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
List available tools
bash
curl -X POST https://gateway.pipeworx.io/nih-reporter/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' Call a tool
bash
curl -X POST https://gateway.pipeworx.io/nih-reporter/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_grants","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_grants", {}); ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("every nih-funded research grant — pi, institution, fiscal year, award amount, abstract, mesh terms, congressional district");