Europe PMC API
Free Europe PMC API with no key: search 40M+ life science publications and abstracts, with full text where open access, citations and preprints. Tested.
Endpoint tested and returned HTTP 200 on 20 Aug 2026
What is the Europe PMC API?
Europe PMC is a free, key-free API for searching more than 40 million life science publications — abstracts, full text where openly licensed, preprints, patents and clinical guidelines — from PubMed, PMC and other sources.
Europe PMC aggregates PubMed alongside preprint servers, patents and clinical guidelines, which makes its coverage broader than PubMed alone. It is run by EMBL-EBI and funded by a consortium of European research funders.
Unlike NCBI's two-step search-then-fetch pattern, Europe PMC returns actual records directly from a single search request, which makes simple integrations considerably less work.
Quick facts
- Base URL
https://www.ebi.ac.uk/europepmc/webservices/rest- Authentication
- No API key required.
- Rate limit
- No published hard limit; the maintainers ask for reasonable use and a contact email in the User-Agent.
- Pricing
- Free. Open access content is reusable under its own licence.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Europe PMC API
Every request below was executed against the live API on 20 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Search life science literature
GET https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json&pageSize=1
curl 'https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json&pageSize=1'const res = await fetch("https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json&pageSize=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json&pageSize=1", timeout=20)
res.raise_for_status()
print(res.json()){
"version": "6.9",
"hitCount": 283884,
"nextCursorMark": "AoIIQG/5dCg1NjExNjU0Mg==",
"nextPageUrl": "https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&cursorMark=AoIIQG/5dCg1NjExNjU0Mg==&resultType=lite&pageSize=1&format=json",
"request": {
"queryString": "malaria",
"resultType": "lite",
"cursorMark": "*",
"pageSize": 1,
"sort": "",
"synonym": false
},
"resultList": {
"result": [
{
"id": "42575118",
"source": "MED",
"pmid": "42575118",
"doi": "10.1016/j.langlo.2026.103984",
"title": "Long-term mortality and risk of chronic kidney disease in children following severe malaria complicated by acute kidney injury: a prospective observational study.",
"authorString": "Mellencamp KA, Namazzi R, Batte A, Kazinga C, Liepmann CD, Goings MJ, Opoka RO, Datta D, Ren J, Kalyesubula R, Bangirana P, Goldstein SL, John CC, Conroy AL.",
"journalTitle": "Lancet Glob Health",
"pubYear": "2027",
"journalIssn": "2214-109x",
"pageInfo": "103984",
"pubType": "journal article",
"isOpenAccess": "N",
"inEPMC": "N",
"inPMC": "N",
"hasPDF": "N",
"hasBook": "N",
"hasSuppl": "N",
"citedByCount": 0,
"hasReferences": "N",
"hasTextMinedTerms": "N",
"hasDbCrossReferences": "N",
"hasLabsLinks": "N",
"hasTMAccessionNumbers": "N",
"firstIndexDate": "2026-08-13",
"firstPublicationDate": "2027-05-19"
}
]
}
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Required | Search query, supporting field syntax. malaria |
format | string | Optional | json, xml or dc. Default is XML. json |
pageSize | integer | Optional | Results per page, max 1000. 25 |
cursorMark | string | Optional | Deep pagination cursor from the previous response. * |
resultType | string | Optional | idlist, lite or core for increasing detail. core |
Response fields
hitCountinteger- Total matching publications.
nextCursorMarkstring- Cursor for the next page — use for deep pagination.
resultList.result[].id / pmid / doistring- Identifiers across systems.
resultList.result[].titlestring- Publication title.
resultList.result[].authorStringstring- Authors as a single string.
resultList.result[].isOpenAccessstring- Y or N — whether full text is freely available.
resultList.result[].citedByCountinteger- Citation count.
What you can build with the Europe PMC API
- Build a biomedical literature search across more than PubMed
- Find open access full text for research papers
- Include preprints in a literature review workflow
- Track citations for a research group
Common errors and how to fix them
XML instead of JSON
XML is the default format.
Fix: Always pass format=json.
Deep paging fails past 1,000
Offset-based paging is capped.
Fix: Use cursorMark=* and follow nextCursorMark for large result sets.
Full text unavailable
Only open access content has retrievable full text.
Fix: Check isOpenAccess before requesting the fullTextXML endpoint.
Europe PMC API — frequently asked questions
Is Europe PMC free?
Yes, completely free with no API key. It is run by EMBL-EBI and funded by European research funders.
How does it differ from PubMed's API?
Coverage is broader — it includes preprints, patents and clinical guidelines alongside PubMed — and it returns records directly from a search rather than requiring NCBI's two-step search-then-fetch pattern.
Can I get full text?
For open access articles, yes, via the fullTextXML endpoint. Check the isOpenAccess field first; subscription content returns metadata only.
How do I page through many results?
Use cursorMark=* and follow nextCursorMark. Offset paging is capped at around 1,000 results.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
XML Formatter
Format and beautify XML online with proper indentation, or minify it to a single line. Parse errors are reported clearly — free, fast and fully private.
Alternatives to Europe PMC API
If Europe PMC does not fit, these science & space apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| NASA APOD | Free NASA Astronomy Picture of the Day API. Daily space images with expert explanations, HD URLs and archive access back to 1995. Tested curl example. | Key | Yes | 19 Aug 2026 |
| Open Notify ISS | Free API returning the International Space Station's live latitude and longitude. No key, updates in real time. Tested curl example and live JSON response. | No key | Yes | 19 Aug 2026 |
| USGS Earthquake | Free USGS earthquake API with no key: live global seismic events as GeoJSON, filterable by magnitude, time and location. Tested curl example and live response. | No key | Yes | 19 Aug 2026 |
| Launch Library 2 | Free rocket launch API with no key: upcoming and past launches from every space agency, with rockets, missions, pads and live stream links. Tested example. | No key | Yes | 19 Aug 2026 |
| GeoNet New Zealand | Free GeoNet API with no key: New Zealand earthquakes with Modified Mercalli intensity, volcanic alert levels, strong-motion data and network station metadata as GeoJSON. | No key | Yes | 21 Aug 2026 |
| gnomAD | Free gnomAD GraphQL API with no key: population allele frequencies, variant constraint and gene data from 800,000+ exomes and genomes. Tested POST example and live response. | No key | Yes | 21 Aug 2026 |
Europe PMC is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 20 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.