BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json&pageSize=1'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200
{
  "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

ParameterTypeRequiredDescription
querystringRequiredSearch query, supporting field syntax. malaria
formatstringOptionaljson, xml or dc. Default is XML. json
pageSizeintegerOptionalResults per page, max 1000. 25
cursorMarkstringOptionalDeep pagination cursor from the previous response. *
resultTypestringOptionalidlist, 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

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.

APIWhat it doesAuthCORSLast verified
NASA APODFree NASA Astronomy Picture of the Day API. Daily space images with expert explanations, HD URLs and archive access back to 1995. Tested curl example.KeyYes19 Aug 2026
Open Notify ISSFree 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 keyYes19 Aug 2026
USGS EarthquakeFree 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 keyYes19 Aug 2026
Launch Library 2Free 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 keyYes19 Aug 2026
GeoNet New ZealandFree 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 keyYes21 Aug 2026
gnomADFree 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 keyYes21 Aug 2026
All Science & Space APIs

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.