
Pubmed Search
- 17 installs
- 869 repo stars
- Updated June 8, 2026
- beita6969/scienceclaw
pubmed-search is a Claude skill that searches PubMed/MEDLINE biomedical literature via the NCBI E-utilities API using curl and a two-step esearch/efetch pattern.
About
This skill shows an agent how to search PubMed and MEDLINE via the NCBI E-utilities REST API using curl, covering esearch, efetch, and einfo endpoints, query syntax with field tags and MeSH terms, and specialty search patterns. It enforces a zero-hallucination rule requiring every citation to come from a real API response. Developers use it to find clinical studies and retrieve abstracts by PMID.
- Curl-based PubMed/MEDLINE search over NCBI E-utilities (36M+ citations)
- Two-step esearch-then-efetch pattern with MeSH and field-tag syntax
- Zero-hallucination rule: every result must come from a real API response
Pubmed Search by the numbers
- 17 all-time installs (skills.sh)
- Ranked #1,286 of 2,065 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 2, 2026 (Skillselion catalog sync)
pubmed-search capabilities & compatibility
Free; only curl is required, and an NCBI API key is optional.
- Capabilities
- web search · research
- Use cases
- research · web search
- Platforms
- macOS · Linux
- Pricing
- Free
What pubmed-search says it does
Search PubMed/MEDLINE (36M+ citations) via NCBI E-utilities REST API.
NEVER fabricate results from training data.
npx skills add https://github.com/beita6969/scienceclaw --skill pubmed-searchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 17 |
|---|---|
| repo stars | ★ 869 |
| Last updated | June 8, 2026 |
| Repository | beita6969/scienceclaw ↗ |
What it does
Search PubMed/MEDLINE for biomedical papers and retrieve abstracts via curl and E-utilities.
Who is it for?
Searching medical papers, clinical studies, and retrieving abstracts by PMID.
Skip if: Non-biomedical papers (use arxiv-search or semantic-scholar) or full-text access.
When should I use this skill?
Searching biomedical papers, clinical studies, or querying with MeSH terms.
What you get
- PMID lists
- Retrieved abstracts and citations
By the numbers
- 36M+ citations
- 10 requests/sec with API key
Files
PubMed Search
Search PubMed/MEDLINE (36M+ citations) via NCBI E-utilities REST API.
API Endpoints
Base: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/
esearch -- Search and get PMIDs
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=COVID-19+vaccine+efficacy&retmax=10&retmode=json"Parameters: db=pubmed, term= (URL-encoded query), retmax= (default 20, max 10000), retstart= (pagination), retmode=json, sort=relevance|pub_date, mindate=/maxdate= (YYYY/MM/DD), datetype=pdat.
efetch -- Retrieve records by PMID
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=39142890,39088712&retmode=xml&rettype=abstract"einfo -- Database metadata
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi?db=pubmed&retmode=json"Query Syntax
Boolean: AND, OR, NOT, parentheses for grouping.
Field tags: [ti] title, [tiab] title/abstract, [au] author, [mesh] MeSH heading, [majr] MeSH major topic, [pt] publication type, [dp] date, [la] language, [jour] journal.
MeSH terms: Standardized vocabulary with automatic explosion to narrower terms. Use [mesh:noexp] for exact heading only. Qualifiers: /therapy, /diagnosis, /epidemiology, /genetics, /prevention and control.
Example: "Breast Neoplasms"[mesh] AND "Drug Therapy"[mesh]
Rate Limiting
- Without API key: 3 requests/sec
- With
NCBI_API_KEY: 10 requests/sec (append&api_key=${NCBI_API_KEY}) - Register at: https://www.ncbi.nlm.nih.gov/account/settings/
Two-Step Search Pattern
PMIDS=$(curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=QUERY&retmax=5&retmode=json" \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(','.join(d['esearchresult']['idlist']))")
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=${PMIDS}&retmode=xml&rettype=abstract"Specialty Search Patterns
- Oncology:
"Neoplasms"[mesh] AND "immunotherapy"[tiab] AND "Clinical Trial"[pt] - Cardiology:
"Cardiovascular Diseases"[mesh] AND "meta-analysis"[pt] - Neurology:
"Alzheimer Disease"[mesh] AND "biomarkers"[tiab] AND 2020:2024[dp] - Infectious Disease:
"Anti-Bacterial Agents"[mesh] AND "Drug Resistance"[mesh] - Genetics:
"Genome-Wide Association Study"[pt] AND "Diabetes Mellitus, Type 2"[mesh] - Systematic Reviews:
"systematic review"[ti] AND "Randomized Controlled Trial"[pt]
Best Practices
1. Start broad, narrow with MeSH terms and field tags. 2. Use retmax=5 for exploration, increase for comprehensive searches. 3. URL-encode queries (spaces as +, quotes as %22). 4. Check count in esearch results before paginating. 5. Document exact query strings for systematic review reproducibility. 6. For systematic reviews, use "systematic review"[ti] combined with study type filters.
Zero-Hallucination Rule
NEVER fabricate results from training data. Every paper title, author, DOI, PMID, citation count, and metadata detail presented to the user MUST come from an actual API response in this conversation. If the API returns no results or partial data, report exactly what was returned. Do not "fill in" missing details from memory.
Related skills
FAQ
How does the two-step search work?
esearch returns PMIDs for a query, then efetch retrieves the records (abstracts) for those PMIDs; the skill shows a curl+python pipeline.
Does it prevent fabricated citations?
Yes; a zero-hallucination rule requires every title, author, DOI, PMID, and citation detail to come from an actual API response in the conversation.