Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Search biomedical and life sciences literature via Europe PMC
.claude/skills/brycewang-stanford-europe-pmc-api/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 120% | 0% |
| case-21 | ✓→✗ | ▼ Worse | 93% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 124% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 184% | 0% |
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.
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.
GET https://www.ebi.ac.uk/europepmc/webservices/rest/search| 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) |
bash curl "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=CRISPR+AND+cancer&format=json&resultType=core&pageSize=10&sort=CITED+desc"
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.GET https://www.ebi.ac.uk/europepmc/webservices/rest/{source}/{id}/citations| 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) |
bash curl "https://www.ebi.ac.uk/europepmc/webservices/rest/MED/33116299/citations?format=json&pageSize=10"
hitCount and citationList.citation array containing citing publication metadata.GET https://www.ebi.ac.uk/europepmc/webservices/rest/{source}/{id}/references| 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 |
bash curl "https://www.ebi.ac.uk/europepmc/webservices/rest/MED/33116299/references?format=json&pageSize=50"
referenceList.reference array containing reference metadata.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.
Perform a structured biomedical search with MeSH terms and date filters:
bashcurl -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}'
Search specifically in the preprint sources indexed by Europe PMC:
bashcurl -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}'
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'
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 10,109 | 6,922 | -32% | 1 | 1 | 0% | 1,648 | 2,628 | +59% | 0 | 0 | — |
case-02 | pass→pass | 6,331 | 4,802 | -24% | 1 | 1 | 0% | 1,029 | 2,300 | +124% | 0 | 0 | — |
case-03 | pass→pass | 5,446 | 4,526 | -17% | 1 | 1 | 0% | 817 | 2,324 | +184% | 0 | 0 | — |
case-04 | pass→pass | 5,630 | 3,459 | -39% | 1 | 1 | 0% | 965 | 2,175 | +125% | 0 | 0 | — |
case-05 | pass→pass | 9,349 | 7,260 | -22% | 1 | 1 | 0% | 1,621 | 2,973 | +83% | 0 | 0 | — |
case-06 | pass→pass | 8,581 | 5,571 | -35% | 1 | 1 | 0% | 1,422 | 2,469 | +74% | 0 | 0 | — |
case-07 | pass→pass | 11,179 | 6,141 | -45% | 1 | 1 | 0% | 1,744 | 2,910 | +67% | 0 | 0 | — |
case-08 | pass→pass | 4,603 | 2,865 | -38% | 1 | 1 | 0% | 665 | 2,058 | +209% | 0 | 0 | — |
case-18 | pass→pass | 3,894 | 3,683 | -5% | 1 | 1 | 0% | 753 | 2,152 | +186% | 0 | 0 | — |
case-09 | pass→pass | 5,303 | 2,946 | -44% | 1 | 1 | 0% | 849 | 2,004 | +136% | 0 | 0 | — |
case-10 | fail→pass | 5,818 | 1,926 | -67% | 1 | 1 | 0% | 869 | 1,914 | +120% | 0 | 0 | — |
case-11 | fail→fail | 3,566 | 7,862 | +120% | 1 | 1 | 0% | 569 | 2,731 | +380% | 0 | 0 | — |
case-12 | pass→pass | 7,971 | 2,986 | -63% | 1 | 1 | 0% | 1,378 | 2,044 | +48% | 0 | 0 | — |
case-13 | pass→pass | 5,271 | 3,799 | -28% | 1 | 1 | 0% | 872 | 2,255 | +159% | 0 | 0 | — |
case-14 | pass→pass | 17,564 | 7,423 | -58% | 1 | 1 | 0% | 2,684 | 2,780 | +4% | 0 | 0 | — |
case-15 | pass→pass | 6,375 | 2,534 | -60% | 1 | 1 | 0% | 1,213 | 2,063 | +70% | 0 | 0 | — |
case-16 | pass→pass | 3,831 | 2,311 | -40% | 1 | 1 | 0% | 586 | 2,001 | +241% | 0 | 0 | — |
case-17 | pass→pass | 3,848 | 3,304 | -14% | 1 | 1 | 0% | 735 | 2,316 | +215% | 0 | 0 | — |
case-19 | pass→pass | 4,922 | 3,064 | -38% | 1 | 1 | 0% | 883 | 2,093 | +137% | 0 | 0 | — |
case-20 | pass→pass | 3,127 | 3,421 | +9% | 1 | 1 | 0% | 439 | 2,251 | +413% | 0 | 0 | — |
case-21 | pass→fail | 11,500 | 10,611 | -8% | 1 | 1 | 0% | 1,702 | 3,278 | +93% | 0 | 0 | — |
case-22 | pass→pass | 6,197 | 5,131 | -17% | 1 | 1 | 0% | 1,198 | 2,455 | +105% | 0 | 0 | — |
case-23 | pass→pass | 8,118 | 7,159 | -12% | 1 | 1 | 0% | 1,348 | 2,868 | +113% | 0 | 0 | — |
case-24 | pass→pass | 10,887 | 6,371 | -41% | 1 | 1 | 0% | 1,622 | 2,871 | +77% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +4 percentage points is the difference between those two pass rates over the 24 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.