Best use case
europe-pmc-api is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Search biomedical and life sciences literature via Europe PMC
Teams using europe-pmc-api should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/europe-pmc-api/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How europe-pmc-api Compares
| Feature / Agent | europe-pmc-api | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Search biomedical and life sciences literature via Europe PMC
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Europe PMC API Guide
## Overview
Europe PMC (PubMed Central) is a free, comprehensive biomedical literature database maintained by the European Bioinformatics Institute (EMBL-EBI) as part of a network of 32 European funders. It provides access to over 40 million biomedical and life sciences publications, including abstracts from PubMed/MEDLINE, full-text articles from PubMed Central, patents from the European Patent Office, and preprints from biomedical preprint servers.
Europe PMC extends beyond PubMed by integrating additional European content, preprints, and rich text-mined annotations. It provides links to biological databases (UniProt, Protein Data Bank, etc.), grant information from funders, and citation data. The annotation features include gene/protein mentions, disease names, organism identifiers, and chemical entities extracted via machine learning.
The API is free, requires no authentication, and supports 10 requests per second. It returns JSON or XML and offers advanced query syntax with field-specific searches, boolean operators, and date range filters.
## Authentication
No authentication required. The Europe PMC API is fully open. No API key, registration, or email is needed. The API enforces a rate limit of 10 requests per second per IP address. Including a descriptive User-Agent header is considered good practice.
## Core Endpoints
### Search: Full-Text Literature Search
- **URL**: `GET https://www.ebi.ac.uk/europepmc/webservices/rest/search`
- **Parameters**:
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| query | string | Yes | Search query (supports field codes: TITLE, AUTH, JOURNAL, DOI, etc.) |
| format | string | No | Response format: json (default) or xml |
| resultType | string | No | lite (default) or core (includes full abstract and metadata) |
| pageSize | integer | No | Results per page (default: 25, max: 1000) |
| cursorMark | string | No | Cursor for deep pagination (use nextCursorMark from response) |
| sort | string | No | Sort field: RELEVANCE, CITED, DATE (default: RELEVANCE) |
| synonym | boolean | No | Enable MeSH synonym expansion (default: true) |
- **Example**:
```bash
curl "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=CRISPR+AND+cancer&format=json&resultType=core&pageSize=10&sort=CITED+desc"
```
- **Response**: JSON with `hitCount`, `nextCursorMark`, and `resultList.result` array. Each result contains `id`, `source` (MED, PMC, PPR, PAT), `pmid`, `pmcid`, `doi`, `title`, `authorString`, `journalTitle`, `pubYear`, `abstractText`, `citedByCount`, `isOpenAccess`, and `fullTextUrlList`.
### Citations: Papers Citing a Publication
- **URL**: `GET https://www.ebi.ac.uk/europepmc/webservices/rest/{source}/{id}/citations`
- **Parameters**:
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| source | string | Yes | Source database: MED (PubMed), PMC, PPR (preprint), PAT (patent) |
| id | string | Yes | The publication ID (PMID, PMCID, etc.) |
| format | string | No | json or xml |
| page | integer | No | Page number (default: 1) |
| pageSize | integer | No | Results per page (default: 25) |
- **Example**:
```bash
curl "https://www.ebi.ac.uk/europepmc/webservices/rest/MED/33116299/citations?format=json&pageSize=10"
```
- **Response**: JSON with `hitCount` and `citationList.citation` array containing citing publication metadata.
### References: Papers Cited by a Publication
- **URL**: `GET https://www.ebi.ac.uk/europepmc/webservices/rest/{source}/{id}/references`
- **Parameters**:
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| source | string | Yes | Source database |
| id | string | Yes | The publication ID |
| format | string | No | json or xml |
| page | integer | No | Page number |
| pageSize | integer | No | Results per page |
- **Example**:
```bash
curl "https://www.ebi.ac.uk/europepmc/webservices/rest/MED/33116299/references?format=json&pageSize=50"
```
- **Response**: JSON with `referenceList.reference` array containing reference metadata.
## Rate Limits
The API enforces a rate limit of 10 requests per second per IP address. There is no daily request cap. Exceeding the rate limit returns HTTP 429. For bulk data access, Europe PMC provides OAI-PMH harvesting, FTP bulk downloads, and SPARQL endpoint access. Cursor-based pagination (using `cursorMark`) is required for retrieving beyond the first 10,000 results.
## Common Patterns
### Systematic Review Search
Perform a structured biomedical search with MeSH terms and date filters:
```bash
curl -s "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=(TITLE:immunotherapy+AND+TITLE:melanoma)+AND+(PUB_YEAR:[2022+TO+2026])&format=json&resultType=core&pageSize=25&sort=CITED+desc" | jq '.resultList.result[] | {title: .title, journal: .journalTitle, year: .pubYear, citations: .citedByCount, oa: .isOpenAccess}'
```
### Find Preprints Related to a Topic
Search specifically in the preprint sources indexed by Europe PMC:
```bash
curl -s "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=(SRC:PPR)+AND+large+language+models+AND+biology&format=json&pageSize=10" | jq '.resultList.result[] | {title: .title, source: .source, year: .pubYear, doi: .doi}'
```
### Build a Citation Map for a Key Paper
Retrieve both citations and references to map a paper's scholarly context:
```bash
# Get papers that cite the target
curl -s "https://www.ebi.ac.uk/europepmc/webservices/rest/MED/33116299/citations?format=json&pageSize=50" | jq '.citationList.citation | length'
# Get papers referenced by the target
curl -s "https://www.ebi.ac.uk/europepmc/webservices/rest/MED/33116299/references?format=json&pageSize=100" | jq '.referenceList.reference | length'
```
## References
- Official documentation: https://europepmc.org/RestfulWebService
- Europe PMC search syntax: https://europepmc.org/searchsyntax
- Europe PMC annotations API: https://europepmc.org/AnnotationsApiRelated Skills
thuthesis-guide
Write Tsinghua University theses using the ThuThesis LaTeX template
thesis-writing-guide
Templates, formatting rules, and strategies for thesis and dissertation writing
thesis-template-guide
Set up LaTeX templates for PhD and Master's thesis documents
sjtuthesis-guide
Write SJTU theses using the SJTUThesis LaTeX template with full compliance
scientific-article-pdf
Generate publication-ready scientific article PDFs from templates
novathesis-guide
LaTeX thesis template supporting multiple universities and formats
graphical-abstract-guide
Create SVG graphical abstracts for journal paper submissions
elegant-paper-template
Beautiful LaTeX template for working papers and technical reports
conference-paper-template
Templates and formatting guides for major academic conference submissions
beamer-presentation-guide
Guide to creating academic presentations with LaTeX Beamer
plagiarism-detection-guide
Use plagiarism detection tools and ensure manuscript originality
paper-polish-guide
Review and polish LaTeX research papers for clarity and style