# NIH Research Grant Finder: Awards & PIs (`scrapemint/nih-grant-finder`) Actor

Search US federal research grants awarded by the NIH from the official RePORTER database: funded project, award amount, institution, principal investigator, agency, dates and abstract. Filter by keyword, organization, PI, state and fiscal year. No API key.

- **URL**: https://apify.com/scrapemint/nih-grant-finder.md
- **Developed by:** [Ken M](https://apify.com/scrapemint) (community)
- **Categories:** Education, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Research Grant Finder: Awards & PIs

Search every research grant the US National Institutes of Health has funded - the single largest source of biomedical research money in the world - straight from the official [NIH RePORTER](https://reporter.nih.gov) database. No API key, no login, no browser.

### What you get

One row per funded grant:

- project title, project number, fiscal year
- **award amount** (whole US dollars)
- grantee institution with city, state and country
- principal investigator(s) and the contact PI
- funding NIH agency/institute, project start and end dates
- research terms and the full abstract (optional)
- a link to the grant on reporter.nih.gov

### Search and filter

```json
{
    "searchText": ["crispr gene editing"],
    "fiscalYears": ["2025", "2024"],
    "sortBy": "award_desc"
}
````

- **searchText** - keywords across titles, abstracts and terms (one search per line)
- **organizations** - specific institutions ("STANFORD UNIVERSITY", "MAYO CLINIC")
- **principalInvestigators** - grants led by named researchers
- **states / fiscalYears / minAwardUsd** - narrow by location, year and size

You can search by keyword, browse an institution's or a researcher's whole portfolio, or combine them.

### Who uses this

- **Universities and research institutions**: track funding in your field, see what peers are winning, find the money behind a topic.
- **Research, biotech and pharma firms**: map who funds what, identify key investigators, spot emerging areas before they are crowded.
- **Business development and consultants**: build lists of funded labs as customers or partners, with award sizes attached.
- **Students, librarians and journalists**: study how research money flows, by topic, institution or year.

### Pricing

A small fee per grant row. Searches that match nothing are free note rows, and the first 2 rows of every run are free.

### Notes

- Source: NIH RePORTER (public domain US government data), covering NIH and related HHS research awards.
- A single search returns up to 15,000 grants; add filters (year, institution, state) to reach deeper subsets.
- Award amounts are total funding as reported; multi-year projects appear once per fiscal year they were funded.

# Actor input Schema

## `searchText` (type: `array`):

Topics to search across project titles, abstracts and terms, one per line ("crispr gene editing", "alzheimer biomarkers"). Leave empty to browse by the filters below only.

## `organizations` (type: `array`):

Limit to specific grantee institutions, one per line ("STANFORD UNIVERSITY", "MAYO CLINIC"). Applied to every search.

## `principalInvestigators` (type: `array`):

Limit to grants led by these researchers, one name per line ("Doudna", "Jennifer Doudna").

## `states` (type: `array`):

Limit to institutions in these US states, one two-letter code per line ("CA", "MA").

## `fiscalYears` (type: `array`):

Limit to these fiscal years, one per line ("2025", "2024"). Leave empty for all years.

## `minAwardUsd` (type: `integer`):

Only grants with total funding of at least this many dollars. 0 = no minimum.

## `includeAbstract` (type: `boolean`):

Include each grant's abstract text. Turn off for smaller rows when you only need the funding facts.

## `sortBy` (type: `string`):

Order of results.

## `maxPerQuery` (type: `integer`):

How many grants to return per keyword search (or, if no keywords, in total for the filters).

## `maxRows` (type: `integer`):

Stop after this many rows in total.

## Actor input object example

```json
{
  "searchText": [
    "crispr gene editing"
  ],
  "fiscalYears": [
    "2025",
    "2024"
  ],
  "minAwardUsd": 0,
  "includeAbstract": true,
  "sortBy": "award_desc",
  "maxPerQuery": 100,
  "maxRows": 2000
}
```

# 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 = {
    "searchText": [
        "crispr gene editing"
    ],
    "fiscalYears": [
        "2025",
        "2024"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/nih-grant-finder").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 = {
    "searchText": ["crispr gene editing"],
    "fiscalYears": [
        "2025",
        "2024",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/nih-grant-finder").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 '{
  "searchText": [
    "crispr gene editing"
  ],
  "fiscalYears": [
    "2025",
    "2024"
  ]
}' |
apify call scrapemint/nih-grant-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NIH Research Grant Finder: Awards & PIs",
        "description": "Search US federal research grants awarded by the NIH from the official RePORTER database: funded project, award amount, institution, principal investigator, agency, dates and abstract. Filter by keyword, organization, PI, state and fiscal year. No API key.",
        "version": "0.1",
        "x-build-id": "sejxZN6d0ScAzHu4c"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~nih-grant-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-nih-grant-finder",
                "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/scrapemint~nih-grant-finder/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-nih-grant-finder",
                "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/scrapemint~nih-grant-finder/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-nih-grant-finder",
                "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": {
                    "searchText": {
                        "title": "Keyword searches",
                        "type": "array",
                        "description": "Topics to search across project titles, abstracts and terms, one per line (\"crispr gene editing\", \"alzheimer biomarkers\"). Leave empty to browse by the filters below only.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "organizations": {
                        "title": "Institutions",
                        "type": "array",
                        "description": "Limit to specific grantee institutions, one per line (\"STANFORD UNIVERSITY\", \"MAYO CLINIC\"). Applied to every search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "principalInvestigators": {
                        "title": "Principal investigators",
                        "type": "array",
                        "description": "Limit to grants led by these researchers, one name per line (\"Doudna\", \"Jennifer Doudna\").",
                        "items": {
                            "type": "string"
                        }
                    },
                    "states": {
                        "title": "States",
                        "type": "array",
                        "description": "Limit to institutions in these US states, one two-letter code per line (\"CA\", \"MA\").",
                        "items": {
                            "type": "string"
                        }
                    },
                    "fiscalYears": {
                        "title": "Fiscal years",
                        "type": "array",
                        "description": "Limit to these fiscal years, one per line (\"2025\", \"2024\"). Leave empty for all years.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minAwardUsd": {
                        "title": "Minimum award ($)",
                        "minimum": 0,
                        "maximum": 1000000000,
                        "type": "integer",
                        "description": "Only grants with total funding of at least this many dollars. 0 = no minimum.",
                        "default": 0
                    },
                    "includeAbstract": {
                        "title": "Include abstract",
                        "type": "boolean",
                        "description": "Include each grant's abstract text. Turn off for smaller rows when you only need the funding facts.",
                        "default": true
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "award_desc",
                            "award_asc",
                            "newest"
                        ],
                        "type": "string",
                        "description": "Order of results.",
                        "default": "award_desc"
                    },
                    "maxPerQuery": {
                        "title": "Grants per search",
                        "minimum": 1,
                        "maximum": 15000,
                        "type": "integer",
                        "description": "How many grants to return per keyword search (or, if no keywords, in total for the filters).",
                        "default": 100
                    },
                    "maxRows": {
                        "title": "Max rows",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Stop after this many rows in total.",
                        "default": 2000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
