NIH RePORTER Funded Projects Scraper avatar

NIH RePORTER Funded Projects Scraper

Pricing

$3.00 / 1,000 project returneds

Go to Apify Store
NIH RePORTER Funded Projects Scraper

NIH RePORTER Funded Projects Scraper

NIH-funded research projects from the official NIH RePORTER Project API v2: award amount, dates, PIs, program officer, institution and NIH institute.

Pricing

$3.00 / 1,000 project returneds

Rating

0.0

(0)

Developer

Jason

Jason

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pulls US National Institutes of Health research awards from NIH RePORTER, the official public record of NIH- and HHS-funded projects, through its documented Project API v2. No API key, no account, no browser automation. You get one flat JSON record per project with the project and core project numbers, the funding institute or center, the activity code and award type, the award amount and fiscal year, the award-notice, start and end dates, the recipient organisation with its city, state and country, the contact principal investigator and every listed PI, the NIH program officer, the assigned index terms and the project abstract - filtered by fiscal year, award-notice-date window, activity code, NIH institute, organisation name or state, principal-investigator name, keyword and minimum award. On 10 September 2026 the API held 61,703 FY2026 projects and 76,326 FY2025 projects, with 11,583 award notices in the last 30 days.

What you get

Every record contains:

FieldDescription
idNIH application id, e.g. 11443962 - the number that keys the public project page
sourcenih-reporter, constant
urlhttps://reporter.nih.gov/project-details/{id} - the public project page
projectNumberFull NIH project (application) number, e.g. 1R01MD021856-01
coreProjectNumberCore project number shared across a grant's years, e.g. R01MD021856
titleProject title
fiscalYearNIH fiscal year of the award, e.g. 2026
awardAmountTotal funding awarded for the fiscal year, in USD, or null when NIH published none
awardNoticeDateDate the Notice of Award was issued, YYYY-MM-DD
projectStartDate / projectEndDateProject budget-period start and end, YYYY-MM-DD
activityCodeNIH activity code, e.g. R01, R21, U01, K99
awardTypeNIH application type code: 1 new, 2 competing renewal, 3 supplement, 4 extension, 5 non-competing continuation, 7 change of institution, 9 transfer
agencyAdministering NIH institute or center abbreviation, e.g. NCI, NIMHD, NHLBI
contactPiNameThe contact principal investigator's full name
allPiNamesEvery listed principal investigator's full name (array)
programOfficerNameThe NIH program officer named on the award, or null
organizationNameRecipient organisation name, e.g. UNIVERSITY OF HAWAII AT MANOA
orgCity / orgState / orgCountryOrganisation location (state is a US state or foreign province code)
departmentTypeThe organisation's department type, e.g. ANATOMY/CELL BIOLOGY
termsNIH-assigned index terms, first 50, as an array
abstractThe project abstract, whitespace-normalised and trimmed to 2,000 characters
fetchedAtISO timestamp of the run that produced the record

The dataset has three views: Overview (dates, project number, institute, award, organisation, contact PI), Investigators and institutions (all PIs, program officer, full organisation and department) and Funding and terms (activity code, award type, amount, fiscal year, dates, terms).

Input

InputTypeDefaultDescription
fiscalYearsstring[]current FYNIH fiscal years to include (FY starts 1 October, so FY2026 = 1 Oct 2025 - 30 Sep 2026). Empty = all years.
daysBackinteger30Look-back window in days on the award-notice date, ending today. Ignored when dateFrom/dateTo are set.
dateFromstring-Start of the award-notice-date window, YYYY-MM-DD, inclusive. Overrides daysBack.
dateTostringtodayEnd of the award-notice-date window, YYYY-MM-DD, inclusive.
activityCodesstring[]allNIH activity codes such as R01, R21, U01, K99. A project is kept when its code matches any.
agenciesstring[]allAdministering institute/center abbreviations, e.g. NCI, NIAID, NHLBI, NIMHD, NIGMS.
orgStatesstring[]allTwo-letter organisation state or province codes, e.g. CA, NY, MA.
orgNamesstring[]allOrganisation name fragments, matched as a case-insensitive substring, e.g. stanford, johns hopkins.
piNamesstring[]allPrincipal-investigator name fragments, matched by NIH's own any-name search, e.g. smith.
keywordsstring[]noneWords searched across title, index terms and abstract. See keywordsOperator.
keywordsOperatorstringandand = every keyword word must appear; or = any word matches.
minAwardinteger-Keep only projects whose award is at least this many USD. Projects with no published amount are excluded when set.
maxItemsinteger500Stop after this many projects. You are charged per project, so this is also the cost cap. Newest award-notice date first, so a value below the window's volume drops the oldest projects in the window.

Example - the last 90 days of NCI cancer R01 awards to California institutions:

{
"fiscalYears": ["2026"],
"daysBack": 90,
"activityCodes": ["R01"],
"agencies": ["NCI"],
"orgStates": ["CA"],
"keywords": ["cancer"],
"maxItems": 500
}

Example - every award a named investigator or institution received this fiscal year:

{ "fiscalYears": ["2026"], "daysBack": 366, "orgNames": ["stanford"], "piNames": ["smith"], "maxItems": 500 }

Bad input fails fast: an invalid fiscal year, activity code, institute abbreviation, state code or malformed date stops the run with the validation message as its status, before any request is made.

Output example

A real record from a live run on 10 September 2026 ({"activityCodes": ["R01"], "daysBack": 14, "maxItems": 5}), with terms and abstract shortened here for length (the record ships all 50 terms and the full 2,000-character abstract):

{
"id": "11443962",
"source": "nih-reporter",
"url": "https://reporter.nih.gov/project-details/11443962",
"projectNumber": "1R01MD021856-01",
"coreProjectNumber": "R01MD021856",
"title": "Aina-Based Engagement and Social Epigenomic Pathways to Metabolic Health in Native Hawaiian Youth",
"fiscalYear": 2026,
"awardAmount": 712197,
"awardNoticeDate": "2026-09-05",
"projectStartDate": "2026-09-05",
"projectEndDate": "2031-05-31",
"activityCode": "R01",
"awardType": "1",
"agency": "NIMHD",
"contactPiName": "Alika Keolaokalani Maunakea",
"allPiNames": ["Ruben Juarez", "Alika Keolaokalani Maunakea"],
"programOfficerName": "NATHANIEL STINSON",
"organizationName": "UNIVERSITY OF HAWAII AT MANOA",
"orgCity": "HONOLULU",
"orgState": "HI",
"orgCountry": "UNITED STATES",
"departmentType": "ANATOMY/CELL BIOLOGY",
"terms": ["(TNF)-α", "12-20 years old", "16S RNA sequencing", "type 2 diabetes", "Native Hawaiian", "..."],
"abstract": "PROJECT SUMMARY/ABSTRACT Native Hawaiians and other Pacific Islanders (NHPIs) experience among the highest rates of type 2 diabetes mellitus (DM) in the United States, with onset nearly a decade earlier than other groups. …",
"fetchedAt": "2026-09-10T14:07:37.221Z"
}

Every run also writes a SUMMARY record to the key-value store with the resolved award-notice-date window, the filters used, how many pages were read, the reported total, and the two completeness flags limitReached and windowExhausted (see Limits and freshness).

Pricing

Pay per result: US$0.003 per project delivered (US$3 per 1,000 projects). You are charged only for records pushed to the dataset; a run that returns nothing costs nothing. Runs on the Apify free plan are limited by the platform's free-tier usage allowance.

Data source and licence

  • Endpoint: POST https://api.reporter.nih.gov/v2/projects/search. It is public and needs no authentication or account. Documentation: https://api.reporter.nih.gov/ and the Data Elements guide at https://api.reporter.nih.gov/documents/Data%20Elements%20for%20RePORTER%20Project%20API_V2.pdf (both read 10 September 2026).
  • Licence. NIH RePORTER is produced by the National Institutes of Health, a US federal agency, as part of its official duties. Its content is a US Government work, not subject to domestic copyright under 17 U.S.C. § 105, and free to reuse - including commercially. NIH's RePORTER FAQ states the records are in the public domain. Attribute as "Source: NIH RePORTER" and link to the project page; do not imply NIH endorsement, and do not use NIH names or logos to suggest one. Read 10 September 2026.
  • Rate limits and courtesy. The API guide asks users to "post no more than one URL request per second" and to run large jobs off-peak (weekends, or weekday nights 21:00-05:00 US Eastern), and warns that abusive rates may lead to an IP block. This Actor paces its paging to roughly one request a second and retries 429/5xx responses with exponential back-off. Read 10 September 2026.
  • Personal data. contactPiName, allPiNames and programOfficerName are the names of the researchers and NIH staff associated with each award. They are public research records that NIH publishes so the funded work is transparent and accountable; the API returns no email addresses or phone numbers. Use them for legitimate research and business development (competitive intelligence, collaboration mapping, market sizing) - not for spam. Downstream contact, marketing in particular, is the buyer's responsibility under the applicable regime (CAN-SPAM in the US, GDPR/PECR if you are contacting from or into the EU/UK). Investigators' names also appear in abstract.

Limits and freshness

  • Volumes, measured 10 September 2026 by querying the API: FY2026 held 61,703 projects and FY2025 held 76,326. Award notices issued in the last 30 days numbered 11,583 (all activity codes), the last 7 days 1,154, and the last 30 days of R01 awards 3,373. FY2026 NCI held 8,387 projects. So the default run (current fiscal year, all activity codes, 30-day award-notice window) returns about 11,600 projects - well above the default maxItems of 500, which keeps the newest 500. Raise maxItems and narrow the window to pull a full window.
  • Size maxItems to the window, and check windowExhausted. The stream is newest-first on the award-notice date, so a maxItems below the window's volume drops the oldest projects in it - but never silently. The run stops the moment the cap is filled, warns
    maxItems (N) reached before every matching project was returned
    , and the SUMMARY record carries limitReached: true with windowExhausted: false. windowExhausted: true is the guarantee that you hold the complete set: it is set only when the API ran out of matching results with every kept record delivered.
  • The API pages only to its first 15,000 matches. An offset above 14,999 is refused with HTTP 400 ("System doesn't support offset value greater than 14,999", verified 10 September 2026). This Actor never asks for a deeper page: when a filter matches more than 15,000 projects it stops at the ceiling, warns NIH RePORTER stops paging at offset 14999, and reports windowExhausted: false. A whole fiscal year (60,000-76,000 projects) is therefore not reachable in one run - split it by award-notice-date window (each 30-day window is ~12,000, comfortably under the ceiling) or by institute or activity code.
  • Speed, measured 10 September 2026 on this machine: 500 projects in 7.5 s (one page), 1,500 projects in 13.7 s (three pages, including the ~1.1 s pause between pages). Most of a small run is SDK start-up and writing one dataset file per record.
  • Paging. Results come 500 rows per request (the API's maximum), sorted by award-notice date descending; paging stops as soon as the API runs out of results, maxItems is filled, or the offset ceiling is reached - so a capped run never fetches a page it cannot deliver.
  • Filtering is server-side. Fiscal year, award-notice window, activity code, institute, organisation name and state, PI name, keyword and minimum award are all applied by the API, so a filtered run reads only matching rows. The minimum-award filter uses the API's amount range with has_value: true (the API ignores a lone minimum), so it also drops projects that publish no award amount. Keywords are combined with AND by default (every word must appear across the title, index terms and abstract); set keywordsOperator to or to match any word.
  • Freshness. Awards are issued on business days. Measured 10 September 2026, the newest award-notice date in the API was 2026-09-05. RePORTER is updated as awards are processed and a project's record is revised in place across its budget years, so run an overlapping window (daysBack: 3 daily) rather than one that exactly abuts the previous run. Dates are calendar dates as NIH publishes them, with no time component.

Use cases

  • Research-funding intelligence and market sizing: track new awards by institute, activity code, organisation or state - with the award amount, fiscal year and project dates already on the record - to size a therapeutic area, watch a competitor's grant pipeline, or map who funds what.
  • Business development for CROs, vendors and core facilities: find newly funded labs by activity code and institution the week the award notice posts, with the contact PI and their department, to reach principal investigators with fresh budgets.
  • Collaboration and expertise mapping: pull every award to a named investigator or institution, or every project matching a set of scientific keywords, to build co-investigator networks, find reviewers, or assemble a landscape review from the abstracts and index terms.

Support

Open an issue on the Actor's Issues tab on Apify Store. Replies within 14 days. Bug reports that name the run id and the input used are fixed fastest.