# Europe PMC API
> Europe PMC as an API, powered by EMBL-EBI — an open repository of biomedical and life-sciences literature covering 45 million+ abstracts and 9 million+ full-text articles drawn from PubMed, PubMed Central, preprint servers (bioRxiv and medRxiv), patents and Agricola. Search the literature with rich field syntax (by author, title, journal, MeSH term, publication year or open-access status), ordering results by relevance, date or citation count, and optionally restricting to preprints only; read an article's full metadata and abstract — its authors, journal, volume and pages, DOI, PubMed and PMC identifiers, MeSH terms, keywords, funding grants and links to the free full text; and walk the citation network in both directions: the articles that cite a given paper, and the works that paper itself references. Together these let you measure scholarly impact, build citation graphs, track a research topic across preprints and peer-reviewed papers, and feed evidence into bibliometric, systematic-review and research-intelligence tools. Article identifiers are PubMed ids (numeric), PMC ids (PMC…) or preprint ids (PPR…); the source defaults to PubMed (MED). Data from EMBL-EBI Europe PMC.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/europepmc-api/..."
```

## Pricing
- **Free** (Free) — 500 calls/Mo, 2 req/s
- **Starter** ($7/Mo) — 20,000 calls/Mo, 6 req/s
- **Pro** ($22/Mo) — 95,000 calls/Mo, 15 req/s
- **Mega** ($60/Mo) — 400,000 calls/Mo, 40 req/s

## Endpoints

### Search

#### `GET /v1/search` — Search the literature

**Parameters:**
- `query` (query, required, string) — Search text; field syntax allowed, e.g. AUTH:"Doudna" or TITLE:cancer Example: `crispr`
- `source` (query, optional, string) — Restrict to a source, e.g. PPR for preprints
- `sort` (query, optional, string) — relevance | date | cited
- `page` (query, optional, string) — Page (1-based)
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/europepmc-api/v1/search?query=crispr"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "count": 20,
        "query": "crispr",
        "total": 220916,
        "results": [
            {
                "id": "PMC13199036",
                "doi": null,
                "pmid": null,
                "type": "systematic-review; review",
                "year": null,
                "pmcid": "PMC13199036",
                "title": "CRISPR-Cas systems as next-generation antimicrobials: a systemic review of mechanisms, delivery strategies, and translational challenges",
                "source": "PMC",
                "authors": "Wizrah M.",
                "journal": null,
                "cited_by_count": 0,
                "is_open_access": true
            },
            {
                "id": "42215315",
                "doi": "10.1021/acssensors.6c00902",
                "pmid": "42215315",
                "type": "journal article",
                "year": 2026,
                "pmcid": null,
                "title": "Glycine/PVP-Enabled One-Pot CRISPR/Cas13a Detection of Vibrio parahaemolyticus by Tetrahedron-Mediated Electrochemistry.",
                "source": "MED",
                "authors": "Zhang J, Liang S, Sun Y, Zhan C, Xue G, Zhou X.",
                "journal": null,
                "cited_by_count": 0,
                "is_open_access": false
            },
            {
                "id": "42213189",
                "doi": "10.1007/s11033-026-12031-2",
                "pmid": "42213189",
             
…(truncated, see openapi.json for full schema)
```

### Article

#### `GET /v1/article` — Article metadata & abstract

**Parameters:**
- `id` (query, required, string) — Article id (PubMed/PMC/preprint), e.g. 23193287 Example: `23193287`
- `source` (query, optional, string) — MED | PMC | PPR | AGR | PAT Example: `MED`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/europepmc-api/v1/article?id=23193287&source=MED"
```

**Response:**
```json
{
    "data": {
        "article": {
            "id": "23193287",
            "doi": "10.1093/nar/gks1195",
            "pmid": "23193287",
            "type": null,
            "year": 2013,
            "issue": "Database issue",
            "pages": "D36-42",
            "pmcid": "PMC3531190",
            "title": "GenBank.",
            "grants": [
                "Intramural NIH HHS"
            ],
            "source": "MED",
            "volume": "41",
            "authors": "Benson DA, Cavanaugh M, Clark K, Karsch-Mizrachi I, Lipman DJ, Ostell J, Sayers EW.",
            "journal": "Nucleic acids research",
            "abstract": "GenBank® (http://www.ncbi.nlm.nih.gov) is a comprehensive database that contains publicly available nucleotide sequences for almost 260 000 formally described species. These sequences are obtained primarily through submissions from individual laboratories and batch submissions from large-scale sequencing projects, including whole-genome shotgun (WGS) and environmental sampling projects. Most submissions are made using the web-based BankIt or standalone Sequin programs, and GenBank staff assigns accession numbers upon data receipt. Daily data exchange with the European Nucleotide Archive (ENA) and the DNA Data Bank of Japan (DDBJ) ensures worldwide coverage. GenBank is accessible through the NCBI Entrez retrieval system, which integrates data from the major DNA and protein sequence databases along with taxonomy, genome, mapping, protein str
…(truncated, see openapi.json for full schema)
```

### Citations

#### `GET /v1/citations` — Articles that cite this one

**Parameters:**
- `id` (query, required, string) — Article id, e.g. 23193287 Example: `23193287`
- `source` (query, optional, string) — Source database Example: `MED`
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/europepmc-api/v1/citations?id=23193287&source=MED"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "count": 25,
        "total": 1943,
        "source": "MED",
        "article": "23193287",
        "citations": [
            {
                "id": "42142142",
                "doi": null,
                "pmid": null,
                "type": "journal article",
                "year": 2026,
                "pmcid": null,
                "title": "Real-world clinical validation study: individualized warfarin dosing strategy integrating genetic polymorphisms and Bayesian.",
                "source": "MED",
                "authors": "Bai P, Shi C, Xie P, Lu L.",
                "journal": "Naunyn Schmiedebergs Arch Pharmacol",
                "cited_by_count": 0,
                "is_open_access": null
            },
            {
                "id": "42015683",
                "doi": null,
                "pmid": null,
                "type": "journal article",
                "year": 2026,
                "pmcid": null,
                "title": "Identification of Key Residues Governing Branch Activity and Acceptor Substrate Binding in GH13_8 Glycogen Branching Enzymes.",
                "source": "MED",
                "authors": "Yang C, Pijning T, Jurak E.",
                "journal": "J Agric Food Chem",
                "cited_by_count": 0,
                "is_open_access": null
            },
            {
                "id": "42010330",
                "doi": null,
                "pmid": null,
                "type": "res
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/references` — Works this article cites

**Parameters:**
- `id` (query, required, string) — Article id, e.g. 23193287 Example: `23193287`
- `source` (query, optional, string) — Source database Example: `MED`
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/europepmc-api/v1/references?id=23193287&source=MED"
```

**Response:**
```json
{
    "data": {
        "page": 1,
        "count": 12,
        "total": 12,
        "source": "MED",
        "article": "23193287",
        "references": [
            {
                "id": "22009675",
                "doi": null,
                "pmid": null,
                "type": "JOURNAL ARTICLE",
                "year": 2011,
                "pmcid": null,
                "title": "The Sequence Read Archive: explosive growth of sequencing data.",
                "source": "MED",
                "authors": "Kodama Y, Shumway M, Leinonen R; International Nucleotide Sequence Database Collaboration.",
                "journal": "Nucleic Acids Res",
                "cited_by_count": null,
                "is_open_access": null
            },
            {
                "id": "9705509",
                "doi": null,
                "pmid": null,
                "type": "JOURNAL ARTICLE",
                "year": 1998,
                "pmcid": null,
                "title": "Protein sequence similarity searches using patterns as seeds.",
                "source": "MED",
                "authors": "Zhang Z, Schaffer AA, Miller W, Madden TL, Lipman DJ, Koonin EV, Altschul SF.",
                "journal": "Nucleic Acids Res",
                "cited_by_count": null,
                "is_open_access": null
            },
            {
                "id": "22144687",
                "doi": null,
                "pmid": null,
                "type": "JOURNAL ARTICLE",
           
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/europepmc-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Biomedical & life-sciences literature with a citation network. Europe PMC indexes 45M+ abstracts and 9M+ full-text articles from PubMed, PubMed Central, preprint servers (bioRxiv, medRxiv), patents and Agricola. /v1/search?query=crispr = search (field syntax supported, e.g. query=AUTH:\"Doudna\" or TITLE:cancer or OPEN_ACCESS:y; sort=relevance|date|cited; restrict with source=PPR for preprints only) returning title, authors, journal, year, citation count and open-access flag; /v1/article?id=23193287&source=MED = an article's full metadata and abstract (authors, MeSH terms, keywords, grants, DOI/PMID/PMCID, full-text links); /v1/citations?id=23193287&source=MED = the articles that cite it; /v1/references?id=23193287&source=MED = the works it cites — together these walk the citation graph. source defaults to MED (PubMed); ids are PubMed ids (numeric), PMC ids (PMC…) or preprint ids (PPR…). Data from EMBL-EBI Europe PMC. For DOIs see the Crossref API, for preprints by subject the arXiv API, for the scholarly graph OpenAlex.",
        "source": "EMBL-EBI Europe PMC REST API (ebi.ac.uk/europepmc)",
        "endpoints": [
            "/v1/search",
            "/v1/article",
            "/v1/citations",
            "/v1/references",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T08:13:30.571Z",
        "request_id": "1fb292a9-26d8-4604-9abd-9c09827955fe"
    },
    "status": "ok",
    "message": "Meta ret
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/europepmc-api
OpenAPI spec: https://www.oanor.com/api/europepmc-api/openapi.json
