NIH RePORTER

live GovernmentResearchHealth

Every 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
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
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

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");