PubMed Scraper: Articles, Abstracts & Citations
Pricing
from $12.00 / 1,000 article records
PubMed Scraper: Articles, Abstracts & Citations
Scrape PubMed articles by keyword, PubMed syntax or PMID: title, journal, authors, DOI, abstract, MeSH terms and keywords, plus cited-by and related papers as rows. Filter by date, sort by relevance. Export CSV, Excel, JSON or XML. No login or API key needed.
Pricing
from $12.00 / 1,000 article records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Share
๐งซ PubMed Scraper: Articles, Abstracts & Citations
PubMed Scraper exports biomedical articles from PubMed for any search query or list of PMIDs: title, journal, authors, affiliations, grants, DOI, PMCID, full abstract, MeSH terms, a retraction flag, plus cited-by, related and reference-list articles as extra rows. It uses NCBI's official E-utilities, needs no login and no API key, and exports CSV, Excel, JSON or XML. Filter by article type, author, journal or MeSH term, or run in only-new mode. Pay per result, nothing for empty or failed rows.
A PubMed Scraper search for "crispr gene editing" matched 25,537 articles when this page was first written, and a 5-article cloud run with article type Randomized Controlled Trial returned 5 rows, all with affiliations, journal country and abstract, and 3 of 5 with grants.
๐ What does the PubMed Scraper do?
- Search PubMed by keyword with full PubMed syntax (boolean operators, field tags such as
smith j[au],[ti],[mh]), or fetch exact articles by PMID. A run with filters only is also valid. - Filter without writing syntax: article type (55 types), author, journal, MeSH term, human studies, abstract only, free full text only, and date ranges.
- Flag or exclude retractions with
isRetractedandexcludeRetracted, and monitor a topic:onlyNewskips articles an earlier run already delivered, free of charge. - Pull affiliations, grants, abstracts and MeSH terms, plus linked articles (cited-by, related, reference-list) as full rows.
๐ What data can you extract from PubMed?
| Field | Description |
|---|---|
recordType | article, cited-by, related or reference |
pmid, url, doi, pmcid, pmcUrl | IDs and links |
title, journal, journalAbbreviation, issn, eissn, country | Title and journal data |
authors, authorCount, firstAuthor, lastAuthor, authorsDetails | Names and counts; per author ORCID, affiliations, equal-contribution flag |
affiliations, grants | Unique institutions (e-mails removed); grant ID, agency, acronym, country |
pubDate, epubDate, receivedDate, acceptedDate, entrezDate, lastRevisedDate | Dates, when present |
volume, issue, pages, publicationTypes, language, publicationStatus, recordStatus | Citation details, for example Journal Article, Review |
isRetracted, commentsCorrections | Retraction flag; linked errata, notices and comments with PMIDs |
abstract, copyright, meshTerms, majorMeshTerms, keywords, chemicals | Structured abstract, copyright, MeSH headings, major topics, author keywords, substances |
clinicalTrialIds, dataBanks, conflictOfInterest, investigatorCount | NCT numbers, data banks, statement text, group size |
referenceCount, referencePmids, citedByCount | References listed; PMIDs of matched references; total citing articles |
sourcePmid, sourceTitle, searchTerm, scrapedAt | Source article of cited-by, related and reference rows; query; UTC timestamp |
New columns are left out when the record has no value. Older columns keep the placeholder N/A or Not Disclosed when PubMed provides none (for example issue or pmcid).
๐ Sample output of the PubMed Scraper
Real record from an earlier cloud run with the query crispr gene editing (abstract shortened). Newer columns such as grants and isRetracted are not shown.
{"recordType": "article","pmid": "31295471","title": "CRISPR-Cas9 system: A new-fangled dawn in gene editing.","journal": "Life sciences","authors": ["Gupta D", "Bhattacharjee O", "Mandal D"],"pubDate": "2019 Sep 1","issue": "N/A","doi": "10.1016/j.lfs.2019.116636","publicationTypes": ["Journal Article", "Review"],"searchTerm": "crispr gene editing","abstract": "Till date, only three techniques namely Zinc Finger Nuclease (ZFN), Transcription-Activator Like Effector Nucleases (TALEN) and Clustered Regularly...","meshTerms": ["Animals", "CRISPR-Cas Systems", "Gene Editing", "Genome", "Humans", "Plants"],"scrapedAt": "2026-10-04T05:04:00.654Z"}
๐ต How much does it cost to scrape PubMed?
Pay per event, charged only for rows saved with real data. Missing PMIDs, titleless articles, empty searches and rows skipped by only-new mode are never charged.
| Event | What you get | Price (free tier) |
|---|---|---|
| Article record | One article with journal, authors, affiliations, grants, DOI and types | $15.00 per 1,000 |
| Abstract + MeSH | Full abstract, MeSH headings and keywords, only when the article has an abstract | $12.00 per 1,000 |
| Cited-by, related or reference article | One full row each; references only when PubMed identifies them by PMID | $10.00 per 1,000 |
The article record is $12.00 per 1,000 on Gold and higher plans. Worked example: 1,000 articles with abstracts cost 1,000 x $0.015 + 1,000 x $0.012 = $27.00 at the free tier ($24.00 at Gold). Another 1,000 cited-by rows add 1,000 x $0.010 = $10.00, and 1,000 reference rows add $10.00 more. With includeAbstract: false the 1,000 articles cost $15. Free users get a 10-article preview per run.
๐ How to scrape PubMed (3 steps)
- Open the actor and click Try for free.
- Enter search terms or PMIDs, optional filters and modules.
- Click Start, then download CSV, Excel, JSON or XML.
โ๏ธ Input of the PubMed Scraper
| Field | Type | Meaning |
|---|---|---|
searchTerms, pmids | list of text | PubMed queries (one search per term); exact PubMed IDs |
maxItems | number | Max articles (free users: 10) |
sortBy | relevance, pub_date, entry_date | Best match, newest published, newest added |
publishedAfter, publishedBefore | text YYYY/MM/DD | Date range |
dateType | pdat, edat, mdat | Range on publication, added or modified date |
articleType, author, journal, meshTerm | select, text | One of 55 publication types; filters, several values separated by a semicolon |
humanOnly, hasAbstractOnly, freeFullTextOnly, excludeRetracted | boolean | Extra filters |
includeAbstract | boolean (default true) | Abstract, MeSH, keywords |
includeCitedBy, maxCitedByPerArticle | boolean, number | Citing papers per article (default 20) |
includeRelated, maxRelatedPerArticle | boolean, number | Related papers per article (default 10) |
includeReferences, maxReferencesPerArticle | boolean, number | Reference-list papers per article (default 10, max 200), $0.01 per row |
onlyNew, stateKey, resetSeen, ncbiApiKey | boolean, text, boolean, secret | Monitor mode, name, forget seen; optional NCBI key |
Provide at least one search term, PMID or filter; otherwise the run ends with one free error row (errorType invalid-input). Filters apply to every search term and not to PMID lists, except excludeRetracted.
{"searchTerms": ["crispr"],"articleType": "Randomized Controlled Trial","maxItems": 5,"sortBy": "entry_date","includeAbstract": true,"onlyNew": true}
๐ฆ Output of the PubMed Scraper
One row per article, cited-by, related or reference paper, told apart by recordType. The schema has 54 keys; download as JSON, CSV, Excel or XML. A search with no matches ends as succeeded ("no items matched") and charges nothing. If PubMed is unreachable and no article was delivered, the run fails.
With onlyNew on, seen PMIDs are saved in a key-value store called pubmed-articles-seen in your account, one list per search plus filters. Skipped PMIDs are not charged and do not count against maxItems; a repeat of a bounded search returns 0 rows.
๐ PubMed scraper vs alternatives
Store pages read on 2026-10-10 (free tier). "Not stated" means the listing does not show it.
| RecordsData (this actor) | ryanclinton/pubmed-research-search | labrat011/pubmed-scraper | |
|---|---|---|---|
| Price per 1,000 | $15 article + $12 abstract | From $2.00 | From $0.80 |
| Cited-by, related, reference rows | Yes, full rows | Not stated in their listing | Reference count only |
| Affiliations and grants | Yes | Not stated in their listing | Yes |
| Author, journal, type, MeSH filters | Yes | Author, journal, type | Yes |
| Retraction handling | Flag and exclude | Exclude, flagged | Not stated in their listing |
| Only-new monitoring | Yes, unseen not charged | Monitor mode with watchlist | Not stated in their listing |
| Max per run | 9,999 per query | 500 | 10,000 |
We are the only one of these that lists cited-by, related and reference-list articles as full rows, and we return 51 fields against 26 for labrat011. ryanclinton adds evidence scoring and screening fields (62 in all) that we do not have. We cost far more per article than labrat011, themineworks (from $0.60) and s-r ($1.00 per 1,000 starts plus $0.001 per citation). If you need plain bibliographic rows at the lowest price, pick one of them.
๐ผ Use cases
Systematic literature reviews, pharma and competitor monitoring, bibliometrics through cited-by rows, and medical AI or RAG pipelines fed with abstracts and MeSH terms.
๐ Run via API, schedule and integrations
curl -X POST "https://api.apify.com/v2/acts/recordsdata~pubmed-articles-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTerms":["breast cancer AND immunotherapy"],"maxItems":50}'
Use the Apify client for Python or JavaScript, schedules, or connect results to Zapier, Make, n8n, Google Sheets or Slack.
๐ค PubMed Scraper MCP server for AI agents
AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/pubmed-articles-scraper.
Add this to your MCP client configuration (Claude Desktop, Cursor, VS Code or any remote MCP client):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/pubmed-articles-scraper"}}}
Example agent prompt:
Use the PubMed Scraper to find the 20 newest articles for "breast cancer AND immunotherapy" published after 2025/01/01, sorted by date, and summarize each abstract with its MeSH terms and DOI.
Choose this Actor when an agent needs PubMed metadata, abstracts, MeSH headings, affiliations, grants, retraction flags, or cited-by, related and reference papers. It takes the input table fields and returns one row per article.
โ๏ธ Is it legal to scrape PubMed?
The actor reads public bibliographic data through NCBI's official E-utilities, under the keyless limit of 3 requests per second, without logging in. You are responsible for respecting NCBI and publisher terms. Abstracts remain the property of their publishers.
โ Frequently asked questions
How do I export PubMed search results to CSV or Excel?
Enter your PubMed query in the searchTerms input of PubMed Scraper, click Start, then open the Storage tab and download the dataset as CSV, Excel, JSON or XML. Each row is one article, with abstract and MeSH terms when includeAbstract is on.
Does PubMed Scraper include full abstracts?
Yes. With includeAbstract on, which is the default, PubMed Scraper adds the full structured abstract, MeSH headings and author keywords to each article. The $0.012 abstract event is charged only when the article actually has an abstract. Otherwise no abstract charge applies.
Can I use PubMed advanced query syntax in PubMed Scraper?
Yes. PubMed Scraper passes your query to NCBI E-utilities, so boolean operators, phrase quotes and field tags such as [au], [ti] and [mh] work as on pubmed.ncbi.nlm.nih.gov. For example, smith j[au] AND cancer[ti] finds that author's papers with cancer in the title.
How do I get papers that cite a PubMed article?
Turn on includeCitedBy and set maxCitedByPerArticle, which defaults to 20. Each citing paper becomes a full row with recordType cited-by and the sourcePmid of the article it came from. Article rows also get citedByCount. Cited-by rows cost $0.010 each on the free tier, and includeReferences works the same way for the reference list.
Can I fetch specific PubMed articles by PMID?
Yes. Put the PubMed IDs in the pmids input of PubMed Scraper and each one returns one article row. A PMID that does not exist returns a free error row and is never charged, so a list with a few wrong IDs is safe.
Can I filter PubMed Scraper results by publication date?
Yes. Use publishedAfter and publishedBefore in YYYY/MM/DD format, choose sortBy relevance, pub_date or entry_date, and use dateType to compare against publication date, date added to PubMed or last modified date. A date not in that format ends the run with one free error row.
Do I pay for empty or failed rows in PubMed Scraper?
No. PubMed Scraper does not charge for PMIDs that are not found, articles without a title, searches with no results or failed runs. You pay only for rows saved with real data: article records ($0.015), abstracts ($0.012) and cited-by, related and reference rows ($0.01 each) on the free tier. The run stops cleanly at your maximum charge per run.
How many articles can one PubMed Scraper run return?
Up to 1,000,000 articles per run on paid plans, but PubMed itself limits a single query to 9,999 records, so split large topics into several searches or date ranges. Free Apify users get a 10 article preview per PubMed Scraper run.
Does PubMed Scraper need an NCBI API key?
No. PubMed Scraper needs no NCBI API key, account or login. It uses NCBI's official E-utilities under the keyless limit of 3 requests per second. You only need an Apify account to run the actor and download the PubMed data.
Why did my PubMed Scraper run return 0 results?
Your query matched nothing on PubMed, or you left both searchTerms and pmids empty. Try fewer terms, remove the date filter, or drop articleType and humanOnly. An empty search ends as succeeded with the message "no items matched" and charges nothing.
What happens if I send an empty or invalid input to PubMed Scraper?
Input mistakes the form cannot express, such as no search term, no PMID and no filter, or a date not in YYYY/MM/DD, end the PubMed Scraper run as Succeeded with one free error row (errorType invalid-input plus a hint) and nothing charged. The platform rejects wrong types or enum values with a 400 error.
How do I get only new PubMed articles since my last run?
Turn on onlyNew in PubMed Scraper, set sortBy to entry_date and schedule the run. Articles already delivered are skipped and not charged. Use resetSeen to start over, or stateKey to keep two monitors with identical searches apart. The seen list is stored in your own account.
Does PubMed Scraper return affiliations and grants?
Yes. Article rows include affiliations (unique institutions, e-mail addresses removed), authorsDetails with ORCID, country, and grants with ID, agency, acronym and country. A column is left out when the record has no value; in our check 3 of 5 trial records carried grants.
Can PubMed Scraper exclude retracted articles?
Yes. Every article row has an isRetracted boolean, set from the Retracted Publication type. Turn on excludeRetracted to add NOT "Retracted Publication"[pt] to each search and skip retracted PMIDs in a PMID list. With it off, retracted articles come back flagged.
Can I filter PubMed Scraper by article type, author or journal?
Yes. articleType offers 55 PubMed publication types such as Randomized Controlled Trial or Systematic Review. author takes last name plus initials like Doudna JA, journal takes a name, abbreviation or ISSN, and meshTerm a MeSH heading. Several values are separated by a semicolon.
๐ Want more research and health data? Other RecordsData scrapers
๐ Support
Questions? Use the Issues tab or write to contact.punkrecordsdata@gmail.com. Independent tool, not affiliated with NCBI, NLM or NIH. Not medical advice.
Last updated: 2026-10-11