PubMed Health Scraper
Extract biomedical literature citations, abstracts, author affiliations, and journal metadata from PubMed.
- target
- pubmed.ncbi.nlm.nih.gov
- success rate
- 99.9%
- latency
- ~4ms
/fetch/pubmed.ncbi.nlm.nih.gov/ curl -X POST https://api.spider.cloud/fetch/pubmed.ncbi.nlm.nih.gov/ \ -H "Authorization: Bearer $SPIDER_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'
{
"url": "https://pubmed.ncbi.nlm.nih.gov/",
"status": 200,
"data": {
"article_title": "string",
"authors": "string",
"abstract": "string",
"journal": "string",
"doi": "string",
"pmid": "string",
"publication_date": "string",
"keywords": "string"
}
} # PubMed Health Scraper
**Article title**: string
**Authors**: string
**Abstract**: string
**Journal**: string
**DOI**: string
**PMID**: string
**Publication date**: string
**Keywords**: string Extract data in minutes.
Structured JSON from pubmed.ncbi.nlm.nih.gov with a single POST. Call it with no selectors and the model names the fields, or pass your own CSS to skip the AI.
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://pubmed.ncbi.nlm.nih.gov/?term=diabetes+treatment");
// No selectors, no schema. Spider reads the page and names the fields.
const data = await page.scrape();
console.log(data);
await spider.close(); import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://pubmed.ncbi.nlm.nih.gov/?term=diabetes+treatment");
const data = await page.evaluate(`(() => {
const articles = [];
document.querySelectorAll(".docsum-content").forEach(el => {
const title = el.querySelector(".docsum-title")?.textContent?.trim();
const authors = el.querySelector(".docsum-authors")?.textContent?.trim();
const journal = el.querySelector(".docsum-journal-citation")?.textContent?.trim();
const pmid = el.closest("[data-docid]")?.getAttribute("data-docid");
if (title) articles.push({ title, authors, journal, pmid });
});
return JSON.stringify({ total: articles.length, articles: articles.slice(0, 10) });
})()`);
console.log(JSON.parse(data));
await spider.close(); curl -X POST https://api.spider.cloud/fetch/pubmed.ncbi.nlm.nih.gov/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' import requests
resp = requests.post(
"https://api.spider.cloud/fetch/pubmed.ncbi.nlm.nih.gov/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={},
)
print(resp.json()) const resp = await fetch("https://api.spider.cloud/fetch/pubmed.ncbi.nlm.nih.gov/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
const data = await resp.json();
console.log(data); Fields you can pull.
Medical data extraction
Extract drug info, conditions, and health articles from pubmed.ncbi.nlm.nih.gov.
Structured health data
Clean extraction of dosage, interactions, and clinical information.
Bulk research
Process thousands of medical pages for research and comparison datasets.
More Health scrapers.
WebMD Scraper
Extract drug info, condition descriptions, symptom data, and health articles from WebMD.
Healthline Scraper
Extract health articles, condition guides, nutrition data, and wellness content from Healthline.
GoodRx Scraper
Extract drug pricing, pharmacy comparisons, coupon data, and generic alternatives from GoodRx.
Start scraping pubmed.ncbi.nlm.nih.gov.
Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.