ParseForge Scrapers

NIH RePORTER Publications Scraper

parseforge/nih-reporter-publications-scraper

Developer toolsNews & mediaAutomation

Scrapes publication records from NIH RePORTER by core project number or PMID list. Returns each publication as a flat row with title, authors, journal, year, and linked grant details.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
16
Bookmarked
0
Rating
Not rated yet
Last modified
10 days ago

Overview

ParseForge

NIH RePORTER Publications Scraper

Scrape publication records from NIH RePORTER by core project number or PMID list, up to a million per run. Each record returns the title, authors, journal, publication date, and linked grant details. Export to CSV, JSON, Excel, or XML.

NIH RePORTER holds the official record of publications linked to federally funded grants, but manually pulling them project by project is slow and error-prone. This actor reads the public publication feeds directly, letting you supply a core project number or a list of PMIDs and receive every matching publication in one structured dataset. No API key, no manual browser work, the publication metadata you need for reporting, bibliometrics, or portfolio analysis.

Who uses it What they scrape NIH RePORTER for
Research administrators Generate publication lists for progress reports and grant renewals.
Librarians and bibliometricians Build datasets of NIH-funded research output for impact analysis.
Science policy analysts Track publication volumes and collaboration patterns across NIH institutes.
Principal investigators Audit their own publication record linked to specific NIH awards.

What it does

This Actor collects NIH RePORTER publications by core project number or a list of PMIDs and returns each publication as a flat row with its title, authors, journal, and linked grant information.

  • ๐Ÿ“‹ Core project number input: supply a single NIH core project number and retrieve every publication linked to that grant.
  • ๐Ÿ“„ PMID list input: paste a list of PubMed IDs and get the full RePORTER record for each one, including grant associations.
  • ๐Ÿ”ข Flexible volume control: set a maximum items limit to cap the run, from a 10-item preview up to 1,000,000 records for paid users.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with NIH RePORTER data

๐Ÿ“Š Build a progress report bibliography.

A research administrator enters the core project number for an R01 grant and exports all linked publications to include in the annual progress report.

๐Ÿ” Audit a publication list for grant compliance.

A compliance officer pastes a list of PMIDs from a manuscript and verifies that each one is correctly linked to the NIH award in RePORTER.

๐Ÿ“ˆ Analyze an institute's research output.

A policy analyst runs the actor across multiple core project numbers from one NIH institute and aggregates the publication data to measure output trends.

๐Ÿงน Clean and deduplicate a lab's publication record.

A PI supplies their grant's core project number, downloads the full publication list, and reconciles it against their CV to find missing or misattributed papers.

Why choose this scraper

What you get
Core project number lookup Pull every publication tied to a specific NIH grant in one run.
PMID batch processing Resolve a list of PubMed IDs to their full RePORTER publication records.
Flat, consistent schema Every publication arrives as one row with the same columns, ready for analysis.
No API registration Reads the public RePORTER feeds directly with no OAuth, app setup, or key management.

How it compares

No other Store actor targets NIH RePORTER the same way, so the honest comparison is with the alternatives teams actually weigh.

NIH RePORTER Publications Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When NIH RePORTER changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a core project number or a list of PMIDs, and set a maximum items limit to control how many publication records reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.0018 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.18
1,000 results $1.80
10,000 results $18.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the NIH RePORTER Publications Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to NIH RePORTER through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/nih-reporter-publications-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your core project number is entered correctly, including the full prefix and suffix (e.g., '5R01CA123456-10'). If using a PMID list, verify that each PMID is a valid numeric PubMed ID and that the publications are linked to NIH grants in RePORTER.

The actor returns fewer publications than I expected.

NIH RePORTER only shows publications that have been formally linked to the grant by the PI or institution. Some recent publications may not yet appear. Also check that you have not set a low maxItems value that truncates the results.

I get an error when I paste a long list of PMIDs.

Ensure your PMID list contains one numeric ID per line with no commas, spaces, or blank lines. Very large lists may take longer to process. Try splitting the list into smaller batches if timeouts occur.

The run completes but the dataset is empty.

Confirm that you provided either a core project number or a PMID list. If both fields are left empty, the actor has no input to work with and will produce an empty dataset.

Some publication records are missing author names or abstracts.

NIH RePORTER displays only the metadata that has been submitted by the grantee. If an author list or abstract is missing from the source page, the actor cannot retrieve it. This is a limitation of the underlying data, not the scraper.

FAQ

Question Answer
Do I need an NIH API key to use this actor? No. This actor reads the public NIH RePORTER web feeds directly. You do not need to register an application, obtain an API key, or manage OAuth tokens.
What is a core project number and where do I find it? A core project number is the unique identifier NIH assigns to a grant, such as '5R01CA123456-10'. You can find it on your Notice of Award, in eRA Commons, or by searching for your grant on the NIH RePORTER website.
Can I scrape publications for multiple grants at once? The actor accepts one core project number per run. To process multiple grants, run the actor once per core project number, or supply a list of PMIDs that span multiple grants.
What information does each publication record include? Each record includes the publication title, author list, journal name, publication date, PubMed ID, and the linked NIH grant details such as the core project number and institute.
Is there a limit on how many publications I can scrape? Free users are limited to a 10-item preview. Paid Apify users can set the maximum items limit up to 1,000,000 publications per run.
Can I use a list of PMIDs instead of a core project number? Yes. You can paste a list of PubMed IDs into the PMID List field and the actor will retrieve the full RePORTER record for each one.
What output formats are supported? You can export your dataset to CSV, JSON, Excel, or XML from the Apify platform.
Does this actor get the full text of the publications? No. This actor retrieves the publication metadata as displayed on NIH RePORTER, including the title, authors, journal, and abstract when available. It does not fetch the full-text article.
How often is the NIH RePORTER data updated? The actor reads data live from the NIH RePORTER website each time it runs, so you always get the current publication records as they appear in the public portal.
Can I filter publications by date or journal? The actor retrieves all publications linked to the given core project number or PMID list. To filter by date or journal, apply those filters to the exported dataset in your spreadsheet or analysis tool.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by National Institutes of Health. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
coreProjectNum string NIH core project number. not set
pmidList array List of PMIDs. not set
maxItems integer Free users. Limited to 10 items (preview). Paid users. Optional, max 1,000,000. 10

Pricing

from $1.63 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00163 to $0.0018

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~nih-reporter-publications-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run NIH RePORTER Publications Scraper on Apify All scrapers