Research Grant Aggregator
Pricing
Pay per usage
Research Grant Aggregator
Search NIH, NSF, Grants.gov & USASpending in one query. Get unified grant data with PI names, award amounts, organizations & keywords. Perfect for universities, grant writers, VCs tracking funded research. No API keys needed—all public federal data.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
CQ
Maintained by CommunityActor stats
1
Bookmarked
15
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Search NIH, NSF, Grants.gov & USASpending in one query. Get unified, normalized, deduplicated grant data ready for analysis.
What This Actor Does
|
Search 4 Federal Sources at Once
|
Get Clean, Unified Output
|
Each selected source is queried live over its official public API, results are normalized into one schema, deduplicated, sorted by award amount (descending), and capped at your maxResults.
What's New (v1.2)
- Incremental Mode — remembers grant IDs seen in prior runs and returns only NEW grants. Pair it with a schedule to get a live new-grants feed for a saved keyword search.
- Webhook Alerts — optionally POST a JSON alert (Slack/Discord/Zapier compatible) when incremental mode finds new grants.
Quick Start
Find CRISPR grants over $500K:
{"keywords": ["CRISPR", "gene editing"],"minAmount": 500000}
Search a specific university:
{"organizationName": "Stanford University","sources": ["NIH", "NSF"]}
Filter by state and fiscal year:
{"keywords": ["artificial intelligence"],"state": "CA","fiscalYears": ["2024", "2025"]}
Input Options
| Parameter | Type | Default | Description |
|---|---|---|---|
sources | array | all 4 | Which sources to search: NIH, NSF, GRANTS_GOV, USA_SPENDING |
keywords | array | — | Search terms for grant titles and abstracts |
organizationName | string | — | Filter by recipient organization (university, hospital, institution). Applied by NIH, NSF, and USASpending. |
piName | string | — | Filter by principal investigator name. Applied by NIH and NSF. |
state | string | — | Two-letter US state code (e.g., CA, NY). Applied by NIH, NSF, and USASpending. |
minAmount | integer | — | Minimum award amount in USD (also applied as a post-fetch filter across all sources) |
maxAmount | integer | — | Maximum award amount in USD (also applied as a post-fetch filter across all sources) |
fiscalYears | array | — | Filter by fiscal year(s), e.g., ["2024", "2025"]. Applied by NIH, NSF, and USASpending. |
agency | string | — | Filter by funding agency (e.g., NIH, NSF, DOE, DOD). Non-NIH/NSF values are applied as a post-fetch filter. |
activeOnly | boolean | false | Prefer currently active grants / posted opportunities |
maxResults | integer | 100 | Max grants fetched per source and returned in total (max 10,000). Each source is queried for up to this many, then results are combined, deduplicated, and capped at this number. |
includeAbstracts | boolean | true | Include full grant abstracts/synopses in output |
incrementalMode | boolean | false | Persist grant IDs seen in prior runs and return only NEW grants. Great with a schedule for a live new-grants feed. |
alertWebhookUrl | string | — | Optional: POST a JSON alert when incremental mode finds new grants (Slack/Discord/Zapier compatible) |
Output Format
Each dataset item is a normalized grant. Fields vary slightly by source (see notes below):
{"id": "NIH-R01GM123456","source": "NIH","sourceId": "R01GM123456","title": "Novel CRISPR Applications in Cancer Therapy","abstract": "This project aims to...","awardAmount": 1250000,"fiscalYear": 2024,"startDate": "2024-01-01","endDate": "2028-12-31","organization": {"name": "Stanford University","city": "Stanford","state": "CA","country": "USA","type": "university"},"principalInvestigator": {"name": "Jane Smith","email": "jsmith@stanford.edu"},"coPIs": [],"agency": "NIH","institute": "NCI","program": "","keywords": ["CRISPR", "cancer"],"lastUpdated": "2026-07-11T00:00:00.000Z","url": "https://reporter.nih.gov/project-details/..."}
Source-specific fields:
- Grants.gov items describe opportunities, not awards, and add
isOpportunity,opportunityStatus,docType,awardCeiling,awardFloor, andapplicationDeadline. They have no PI, andawardAmountreflects the award ceiling/floor. - NSF, Grants.gov, and USASpending items include a
cfda(Assistance Listing) number. - Records merged across sources during deduplication include a
mergedFromarray. abstractis omitted whenincludeAbstractsisfalse.- If a search matches nothing, a single informational record
{ "noResults": true, "message": "..." }is pushed so the run is clearly distinguishable from a failure.
Run metadata (source counts, totals, averages, execution time, and any per-source errors) is written to the key-value store under metadata and to OUTPUT.
Data Sources
| Source | Data Type | API |
|---|---|---|
| NIH RePORTER | Funded research projects (with PI, institute, abstract) | reporter.nih.gov API v2 |
| NSF Awards | Funded research awards (with PI, program) | api.nsf.gov Awards API |
| Grants.gov | Open & forecasted funding opportunities (not awarded grants) | api.grants.gov search2 |
| USASpending | Federal grant awards (assistance types 02–05) | api.usaspending.gov v2 |
Use Cases
- Competitive Intelligence: See what grants organizations are receiving
- Research Planning: Find funding opportunities and awards in your field
- Due Diligence: Cross-check grant funding claims against federal records
- Market Research: Analyze federal R&D funding patterns
- Academic Analysis: Study funding by institution, state, or topic
Limitations
- Sources covered: Only the four US federal sources above. No private foundations, corporate, state/local, or international funders are included.
- Grants.gov = opportunities, not awards: Grants.gov returns open/forecasted funding opportunities (with ceilings/floors and deadlines), not awarded grants, and includes no PI. It also may return 0 results from datacenter IPs due to its API restrictions; NIH, NSF, and USASpending generally work from all locations.
- Result & rate limits:
maxResultsdefaults to 100 (max 10,000) and caps both per-source fetching and the final combined total. NIH is rate-limited to ~1 request/second; NIH returns up to 500 per request, NSF 25 per page, USASpending 100 per page, Grants.gov 25 per page. - Filter coverage varies by source: Not every filter is supported by every API.
minAmount/maxAmountand non-NIH/NSFagencyvalues are applied as post-fetch filters, so they narrow results but do not expand cross-source coverage.piName/organizationName/state/fiscalYearsare honored only by the sources that support them (see the Input Options notes). - Freshness: Every run queries the live APIs.
lastUpdatedis the fetch timestamp, not the source's own record-update time; results are a live snapshot, not a historical archive. - Deduplication is heuristic: Duplicates are merged using a fuzzy key (normalized title, organization, PI last name, amount bucket, fiscal year). Near-identical records may occasionally be over- or under-merged.
- Incremental mode retention: Seen grant IDs are stored in the key-value store and capped at the most recent 10,000, so very large long-running searches may eventually re-surface previously seen grants.
- Nullable fields:
fiscalYear,startDate,endDate, and PI details can benull/empty when a source does not provide them.
Legal
All data is U.S. Federal Government public domain. No authentication required. Commercial use permitted.
"U.S. Federal data available through Data.gov is offered free and without restriction." — Data.gov Privacy Policy