# NIH RePORTER - Research Grants Search | $0.002 (`pink_comic/nih-reporter-search`) Actor

Search NIH RePORTER for funded research projects. Find grants by investigator, institution, or keyword. For grant writers, academic researchers, biotech investors, and research administrators. Pay per result.

- **URL**: https://apify.com/pink\_comic/nih-reporter-search.md
- **Developed by:** [Ava Torres](https://apify.com/pink_comic) (community)
- **Categories:** Developer tools, MCP servers
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## NIH RePORTER Search

Search NIH RePORTER for federal research grants and funding data. Find grants by keyword, principal investigator name, organization, or project number. Filter by NIH institute, grant mechanism, fiscal year, state, and award amount. Covers $47B+ in annual NIH funding across 27 institutes. No API key required.

---

### Data Source

NIH RePORTER API (reporter.nih.gov). Official federal database of NIH-funded research projects maintained by the National Institutes of Health.

---

### Output Fields

| Field | Type | Description |
|---|---|---|
| `projectNumber` | string | Full NIH project number (e.g., R01CA123456) |
| `projectTitle` | string | Title of the funded research project |
| `piName` | string | Principal investigator name |
| `organization` | string | Grantee institution name |
| `awardAmount` | integer | Total award amount in USD |
| `agency` | string | NIH institute or center (e.g., NCI, NIMH) |
| `activityCode` | string | Grant mechanism (e.g., R01, R21, K99) |
| `fiscalYear` | integer | Fiscal year of the award |
| `projectStartDate` | string | Project start date |
| `url` | string | Direct NIH RePORTER URL for the project |

---

### Use Cases

- **Pharmaceutical competitive intelligence** -- identify who is funding research in a therapeutic area, which organizations are leading, and what NIH institutes are investing.
- **Grant writing support** -- find funded grants in your area to study scope, PI profiles, and award amounts.
- **Academic research** -- track funding trends across institutions, disciplines, and fiscal years.
- **Sales prospecting** -- identify research teams with active NIH funding as prospective customers for lab equipment, reagents, software, or services.
- **Policy analysis** -- analyze NIH budget allocation across institutes, mechanisms, and disease areas.
- **Journalist/investigative research** -- look up funding for specific researchers, institutions, or topics.

---

### How to Use

Set the input fields and run the actor. Results are pushed to the Apify dataset and can be exported as JSON, CSV, or Excel.

#### Input Parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `searchType` | string | `keyword` | `keyword`, `pi` (principal investigator), `organization`, or `projectNumber` |
| `query` | string | | Search term, PI name, organization name, or project number |
| `fiscalYears` | string | | Comma-separated fiscal years (e.g., `2024,2025`). Leave empty for all years |
| `agency` | string | | NIH institute code (e.g., `NCI`, `NIMH`, `NIAID`). Leave empty for all |
| `activityCode` | string | | Grant mechanism (e.g., `R01`, `R21`, `K99`). Leave empty for all |
| `state` | string | | Organization state (2-letter code, e.g., `CA`). Leave empty for all |
| `minAmount` | integer | `0` | Minimum award amount in USD. Leave 0 for no minimum |
| `maxAmount` | integer | `0` | Maximum award amount in USD. Leave 0 for no maximum |
| `maxResults` | integer | `50` | Maximum grants to return (1-5000) |

#### Example -- Search by Keyword

```json
{
  "searchType": "keyword",
  "query": "cancer immunotherapy",
  "fiscalYears": "2024,2025",
  "maxResults": 100
}
````

#### Example -- Search by Principal Investigator

```json
{
  "searchType": "pi",
  "query": "Jane Smith",
  "maxResults": 50
}
```

#### Example -- Filter by Institute and Mechanism

```json
{
  "searchType": "keyword",
  "query": "machine learning",
  "agency": "NCI",
  "activityCode": "R01",
  "fiscalYears": "2023,2024",
  "minAmount": 200000,
  "maxResults": 200
}
```

#### Example -- Look Up a Specific Project

```json
{
  "searchType": "projectNumber",
  "query": "R01CA123456",
  "maxResults": 1
}
```

***

### Cost

- **Actor start fee:** ~$0.10 per run
- **Compute:** minimal -- typical runs complete in under 15 seconds
- **Data cost:** $0.005 per result

Most searches return results well under $0.20 total.

***

### Output Formats

Results are available in the Apify dataset viewer and can be exported as:

- JSON
- CSV
- Excel (XLSX)
- XML
- RSS

***

### FAQ

**Do I need an NIH account or API key?**
No. NIH RePORTER is a public federal database with no authentication required.

**How current is the data?**
The NIH RePORTER API reflects the live federal grants database. Fiscal year 2025 data appears as awards are made throughout the year.

**What is the difference between the institute codes?**
Each code represents an NIH institute or center. Common ones: NCI (cancer), NIAID (infectious disease), NHLBI (heart/lung/blood), NIMH (mental health), NINDS (neurology). Leave the field empty to search across all 27 institutes.

**What grant mechanisms are available?**
R01 is the standard research project grant. R21 covers exploratory studies. K awards are career development. F awards are fellowships. SBIR/STTR awards (R41/R43/R44) fund small businesses. Leave empty to include all mechanisms.

**Can I get the full project abstract?**
The abstract is not included in the default output fields but is accessible via the `url` field pointing to the NIH RePORTER project page.

# Actor input Schema

## `searchType` (type: `string`):

How to search for grants.

## `query` (type: `string`):

Search term, PI name, organization name, or project number. Examples: "cancer immunotherapy", "Jane Smith", "Harvard University", "R01CA123456".

## `fiscalYears` (type: `string`):

Comma-separated fiscal years to filter. Leave empty for all years. Example: "2024,2025".

## `agency` (type: `string`):

Filter by NIH institute/center. Leave empty for all.

## `activityCode` (type: `string`):

Filter by grant mechanism. Leave empty for all.

## `state` (type: `string`):

Filter by organization state (2-letter code). Leave empty for all states.

## `minAmount` (type: `integer`):

Minimum award amount in dollars. Leave 0 for no minimum.

## `maxAmount` (type: `integer`):

Maximum award amount in dollars. Leave 0 for no maximum.

## `maxResults` (type: `integer`):

Maximum number of grants to return.

## Actor input object example

```json
{
  "searchType": "keyword",
  "query": "cancer immunotherapy",
  "fiscalYears": "2024,2025",
  "agency": "",
  "activityCode": "",
  "state": "",
  "minAmount": 0,
  "maxAmount": 0,
  "maxResults": 50
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchType": "keyword",
    "query": "cancer immunotherapy",
    "fiscalYears": "2024,2025",
    "agency": "",
    "activityCode": "",
    "state": "",
    "minAmount": 0,
    "maxAmount": 0,
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("pink_comic/nih-reporter-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchType": "keyword",
    "query": "cancer immunotherapy",
    "fiscalYears": "2024,2025",
    "agency": "",
    "activityCode": "",
    "state": "",
    "minAmount": 0,
    "maxAmount": 0,
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("pink_comic/nih-reporter-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchType": "keyword",
  "query": "cancer immunotherapy",
  "fiscalYears": "2024,2025",
  "agency": "",
  "activityCode": "",
  "state": "",
  "minAmount": 0,
  "maxAmount": 0,
  "maxResults": 50
}' |
apify call pink_comic/nih-reporter-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=pink_comic/nih-reporter-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NIH RePORTER - Research Grants Search | $0.002",
        "description": "Search NIH RePORTER for funded research projects. Find grants by investigator, institution, or keyword. For grant writers, academic researchers, biotech investors, and research administrators. Pay per result.",
        "version": "0.1",
        "x-build-id": "9bHYb2cUmUVETbNGe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/pink_comic~nih-reporter-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-pink_comic-nih-reporter-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/pink_comic~nih-reporter-search/runs": {
            "post": {
                "operationId": "runs-sync-pink_comic-nih-reporter-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/pink_comic~nih-reporter-search/run-sync": {
            "post": {
                "operationId": "run-sync-pink_comic-nih-reporter-search",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "keyword",
                            "pi",
                            "organization",
                            "projectNumber"
                        ],
                        "type": "string",
                        "description": "How to search for grants.",
                        "default": "keyword"
                    },
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search term, PI name, organization name, or project number. Examples: \"cancer immunotherapy\", \"Jane Smith\", \"Harvard University\", \"R01CA123456\".",
                        "default": "cancer immunotherapy"
                    },
                    "fiscalYears": {
                        "title": "Fiscal Years",
                        "type": "string",
                        "description": "Comma-separated fiscal years to filter. Leave empty for all years. Example: \"2024,2025\".",
                        "default": "2024,2025"
                    },
                    "agency": {
                        "title": "NIH Institute",
                        "enum": [
                            "",
                            "NCI",
                            "NIAID",
                            "NHLBI",
                            "NIGMS",
                            "NIMH",
                            "NINDS",
                            "NIDDK",
                            "NIA",
                            "NICHD",
                            "NIEHS",
                            "NEI",
                            "NIDCR",
                            "NIDCD",
                            "NIAAA",
                            "NIDA",
                            "NIBIB",
                            "NHGRI",
                            "NIMHD",
                            "NINR",
                            "NCATS",
                            "NLM",
                            "NCCIH",
                            "OD"
                        ],
                        "type": "string",
                        "description": "Filter by NIH institute/center. Leave empty for all.",
                        "default": ""
                    },
                    "activityCode": {
                        "title": "Grant Mechanism",
                        "enum": [
                            "",
                            "R01",
                            "R21",
                            "R03",
                            "R15",
                            "R34",
                            "R35",
                            "R41",
                            "R43",
                            "R44",
                            "P01",
                            "P30",
                            "P50",
                            "U01",
                            "U19",
                            "U54",
                            "K01",
                            "K08",
                            "K23",
                            "K99",
                            "F30",
                            "F31",
                            "F32",
                            "T32"
                        ],
                        "type": "string",
                        "description": "Filter by grant mechanism. Leave empty for all.",
                        "default": ""
                    },
                    "state": {
                        "title": "Organization State",
                        "type": "string",
                        "description": "Filter by organization state (2-letter code). Leave empty for all states.",
                        "default": ""
                    },
                    "minAmount": {
                        "title": "Minimum Award Amount ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum award amount in dollars. Leave 0 for no minimum.",
                        "default": 0
                    },
                    "maxAmount": {
                        "title": "Maximum Award Amount ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum award amount in dollars. Leave 0 for no maximum.",
                        "default": 0
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of grants to return.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
