NIH RePORTER Project Scraper
Pricing
Pay per event
NIH RePORTER Project Scraper
Export NIH RePORTER funded project records by keyword, fiscal year, IC, organization, PI, activity code, and project ID from the official API.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export funded NIH project records from the official NIH RePORTER public API.
What does NIH RePORTER Project Scraper do?
NIH RePORTER Project Scraper turns NIH RePORTER searches into clean datasets.
It searches funded projects by keyword, fiscal year, agency, organization, PI, activity code, project number, and APPL ID.
The actor saves grant records with award amounts, project dates, organization fields, PI names, agency/IC metadata, abstracts, and direct NIH project URLs.
Who is it for?
- ๐๏ธ University research offices tracking funded awards.
- ๐ฌ Grant prospecting teams finding comparable projects.
- ๐ Pharma and biotech analysts monitoring NIH-funded research.
- ๐ Consultants building market maps from federal funding data.
- ๐งโ๐ผ Business development teams finding investigators and institutions.
Why use this actor?
The NIH RePORTER website is useful for manual research, but repeat workflows need structured exports.
This actor uses the public API directly, so it is fast, stable, and does not need a browser.
You can schedule runs, export CSV/JSON/Excel, or connect the dataset to downstream systems.
Data source
The actor calls:
https://api.reporter.nih.gov/v2/projects/search
This is the official public NIH RePORTER API.
Input options
Use one filter or combine several filters.
- Search terms
- Fiscal years
- Organization names
- Organization states
- Organization countries
- Principal investigator names
- NIH institutes and centers
- Activity codes
- Project numbers
- APPL IDs
- Maximum projects
- API page size
- Optional topic terms
Example searches
Search recent cancer immunotherapy awards.
Search R01 grants funded by NCI in fiscal year 2024.
Search awards to a specific university.
Search one investigator's NIH-funded project portfolio.
Search a list of known APPL IDs.
Output data
Each dataset row is one NIH project record.
| Field | Description |
|---|---|
| applId | NIH application ID |
| projectNumber | Full project number |
| projectTitle | Project title |
| fiscalYear | NIH fiscal year |
| awardAmount | Award amount when available |
| activityCode | NIH activity code |
| agencyCode | NIH IC abbreviation |
| agencyName | NIH institute/center name |
| organizationName | Recipient organization |
| contactPiName | Contact principal investigator |
| reporterUrl | NIH RePORTER project URL |
Pricing: How much does it cost to scrape NIH RePORTER projects?
The actor uses pay-per-event pricing.
There is a small start charge per run and a per-project charge for every saved dataset item.
Small searches are inexpensive because the actor uses direct API requests and no proxy.
How to run
- Open the actor on Apify.
- Enter one or more search terms.
- Add fiscal years or agencies if needed.
- Set
maxItemsto the number of projects you want. - Click Start.
- Download the dataset as CSV, JSON, Excel, or via API.
Input example
{"terms": ["cancer immunotherapy"],"fiscalYears": [2024],"agencies": ["NCI"],"activityCodes": ["R01"],"maxItems": 100}
Output example
{"applId": 10757019,"projectNumber": "5R01CA276268-02","projectTitle": "Example NIH funded project title","fiscalYear": 2024,"awardAmount": 123456,"agencyCode": "NCI","organizationName": "DANA-FARBER CANCER INST","contactPiName": "DOE, JANE","reporterUrl": "https://reporter.nih.gov/project-details/10757019"}
Tips for best results
Use focused terms for prospecting.
Use fiscal years to keep exports current.
Use activity codes like R01, R21, U01, P30, or F32 when you need award-type segmentation.
Set includeTerms only when you need NIH controlled terms because it can make output rows larger.
Common use cases
- Find funded projects in a disease area.
- Build grant prospecting lists.
- Monitor competitive research programs.
- Map organizations receiving NIH awards.
- Export projects for BI dashboards.
- Create recurring award reports.
Integrations
Send dataset rows to Google Sheets.
Load CSV exports into Excel or Airtable.
Use webhooks to trigger enrichment when a run finishes.
Connect Apify datasets to BI tools through the Apify API.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/nih-reporter-project-scraper').call({terms: ['cancer immunotherapy'],fiscalYears: [2024],maxItems: 100});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/nih-reporter-project-scraper').call(run_input={'terms': ['cancer immunotherapy'],'fiscalYears': [2024],'maxItems': 100,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~nih-reporter-project-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"terms":["cancer immunotherapy"],"fiscalYears":[2024],"maxItems":100}'
MCP integration
Use the actor from Claude Desktop or Claude Code through Apify MCP.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/nih-reporter-project-scraper
Claude Code setup:
$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/nih-reporter-project-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/nih-reporter-project-scraper"}}}
Example prompts:
- "Find 50 NIH-funded cancer immunotherapy projects from fiscal year 2024."
- "Export NCI R01 awards and summarize top recipient organizations."
- "Create a prospecting list of investigators working on Alzheimer's disease grants."
Scheduling
Schedule the actor weekly or monthly to monitor new NIH-funded projects.
Use fiscal year filters and consistent keywords to keep recurring exports comparable.
Data quality notes
The actor returns data as provided by NIH RePORTER.
Some awards may omit award amount, abstract text, or organization details.
Dates are kept in the API's ISO-style format.
Legality
NIH RePORTER data is public government research-award data.
Use exports responsibly and follow applicable laws, NIH terms, and your organization's compliance rules.
Do not use contact or investigator data for spam.
Troubleshooting
If you receive no results, broaden the search terms or remove restrictive filters.
If a sort field fails, remove it and let NIH return the default relevance/order.
If rows are large, turn off includeTerms.
Related scrapers
Explore related Automation Lab actors at:
FAQ
Does this actor need a proxy?
No. It uses the official public API.
Does it scrape the NIH website UI?
No. It calls the API used for structured RePORTER project search.
Can I search by APPL ID?
Yes. Use the applIds input.
Can I export abstracts?
Yes. Abstract text is included when the API returns it.
Can I schedule monitoring?
Yes. Use Apify schedules with the same input filters.
Changelog
Initial version: official API project search export.
Support
If a filter does not behave as expected, include your run input and desired NIH RePORTER query in the issue.
Workflow examples
Grant analysts can create repeatable exports for the same scientific area and compare funding totals over time.
Research offices can monitor fiscal-year activity for their institution, partner organizations, or peer universities.
Business development teams can discover active awardees, principal investigators, and project titles in a therapeutic area.
Competitive-intelligence teams can build market maps from organization names, award amounts, activity codes, and NIH source links.
The actor keeps these workflows in one structured dataset, supports both small and large API exports, avoids browser automation and proxy costs, and returns CSV-friendly fields for BI dashboards, grant landscape reviews, investigator prospecting, and institution benchmarking.