# Reactome API
> The Reactome pathway knowledgebase as an API — the open, peer-reviewed database of biological pathways and reactions, powered by the official Reactome ContentService. Search the curated archive of pathways, reactions and molecules; read any entity by its Reactome stable id (a pathway, reaction, complex or protein: name, type, species, compartments, summary and disease flag); list the events (sub-pathways and reactions) contained in a pathway; list the molecules participating in a pathway or reaction with their reference identifiers; get the top-level pathways for any model organism; map a UniProt protein to the pathways it takes part in; and list the supported species. Covers human and 15+ model organisms across metabolism, signal transduction, cell cycle, immune system, disease and more. Ideal for systems-biology and bioinformatics pipelines, pathway-enrichment and drug-target tools, biomedical research apps, teaching resources and life-science chatbots.

## 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/reactome-api/..."
```

## Pricing
- **Free** (Free) — 520 calls/Mo, 2 req/s
- **Starter** ($7/Mo) — 17,500 calls/Mo, 6 req/s
- **Pro** ($21/Mo) — 86,000 calls/Mo, 15 req/s
- **Mega** ($59/Mo) — 330,000 calls/Mo, 40 req/s

## Endpoints

### Pathways

#### `GET /v1/entity` — Any entity by Reactome stable id

**Parameters:**
- `id` (query, required, string) — Stable id, e.g. R-HSA-70171 Example: `R-HSA-70171`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reactome-api/v1/entity?id=R-HSA-70171"
```

**Response:**
```json
{
    "data": {
        "entity": {
            "id": "R-HSA-70171",
            "name": "Glycolysis",
            "type": "Pathway",
            "species": "Homo sapiens",
            "summary": "The reactions of glycolysis (e.g., van Wijk and van Solinge 2005) convert glucose 6-phosphate to pyruvate. The entire process is cytosolic. Glucose 6-phosphate is reversibly isomerized to form fructose 6-phosphate. Phosphofructokinase 1 catalyzes the physiologically irreversible phosphorylation of fructose 6-phosphate to form fructose 1,6-bisphosphate. In six reversible reactions, fructose 1,6-bisphosphate is converted to two molecules of phosphoenolpyruvate and two molecules of NAD+ are reduced to NADH + H+. Each molecule of phosphoenolpyruvate reacts with ADP to form ATP and pyruvate in a physiologically irreversible reaction. Under aerobic conditions the NADH +H+ can be reoxidized to NAD+ via electron transport to yield additional ATP, while under anaerobic conditions or in cells lacking mitochondria NAD+ can be regenerated via the reduction of pyruvate to lactate.",
            "is_disease": false,
            "has_diagram": false,
            "compartments": [
                "cytosol"
            ],
            "literature_count": 1,
            "go_biological_process": "canonical glycolysis"
        }
    },
    "meta": {
        "timestamp": "2026-06-01T08:14:06.810Z",
        "request_id": "df72436d-55aa-48fb-a619-1c69955d5cfa"
    },
    "status": "ok",
    "message": "Ent
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/pathway` — Events contained in a pathway

**Parameters:**
- `id` (query, required, string) — Pathway stable id Example: `R-HSA-70171`
- `limit` (query, optional, string) — Max events (1-500)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reactome-api/v1/pathway?id=R-HSA-70171"
```

**Response:**
```json
{
    "data": {
        "count": 25,
        "total": 25,
        "events": [
            {
                "id": "R-HSA-9634600",
                "name": "Regulation of glycolysis by fructose 2,6-bisphosphate metabolism",
                "type": "Pathway",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-163750",
                "name": "PP2A complex dephosphorylates pPFKFB1",
                "type": "Reaction",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-70262",
                "name": "PFKFKB dimer dephosphorylates fructose 2,6-bisphosphate",
                "type": "Reaction",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-71802",
                "name": "PFKFKB dimer phosphorylates Fru(6)P",
                "type": "Reaction",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-163773",
                "name": "PKA tetramer:cAMP phosphorylates PF2K-Pase",
                "type": "Reaction",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "type": null,
                "species": null,
                "is_disease": null
            },
            {

…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search pathways, reactions & molecules

**Parameters:**
- `query` (query, required, string) — Search text, e.g. glycolysis Example: `glycolysis`
- `species` (query, optional, string) — Species filter, e.g. Homo sapiens Example: `Homo sapiens`
- `types` (query, optional, string) — Type filter, e.g. Pathway Example: `Pathway`
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reactome-api/v1/search?query=glycolysis&species=Homo+sapiens&types=Pathway"
```

**Response:**
```json
{
    "data": {
        "count": 25,
        "query": "glycolysis",
        "results": [
            {
                "id": "R-HSA-70171",
                "name": "Glycolysis",
                "type": "Pathway",
                "species": "Homo sapiens",
                "compartments": [
                    "cytosol"
                ],
                "reference_name": null
            },
            {
                "id": "R-HSA-9634600",
                "name": "Regulation of glycolysis by fructose 2,6-bisphosphate metabolism",
                "type": "Pathway",
                "species": "Homo sapiens",
                "compartments": [
                    "cytosol"
                ],
                "reference_name": null
            },
            {
                "id": "R-HSA-70326",
                "name": "Glucose metabolism",
                "type": "Pathway",
                "species": "Homo sapiens",
                "compartments": [],
                "reference_name": null
            },
            {
                "id": "R-HSA-163765",
                "name": "ChREBP activates metabolic gene expression",
                "type": "Pathway",
                "species": "Homo sapiens",
                "compartments": [
                    "nucleoplasm",
                    "cytosol",
                    "endoplasmic reticulum membrane"
                ],
                "reference_name": null
            },
            {
                "id": "R-HSA-6804758",
   
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/toppathways` — Top-level pathways for a species

**Parameters:**
- `species` (query, optional, string) — Taxon id or name (default 9606) Example: `9606`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reactome-api/v1/toppathways?species=9606"
```

**Response:**
```json
{
    "data": {
        "count": 29,
        "species": "9606",
        "pathways": [
            {
                "id": "R-HSA-9612973",
                "name": "Autophagy",
                "species": "Homo sapiens",
                "is_disease": false,
                "has_diagram": true
            },
            {
                "id": "R-HSA-1640170",
                "name": "Cell Cycle",
                "species": "Homo sapiens",
                "is_disease": false,
                "has_diagram": true
            },
            {
                "id": "R-HSA-1500931",
                "name": "Cell-Cell communication",
                "species": "Homo sapiens",
                "is_disease": false,
                "has_diagram": true
            },
            {
                "id": "R-HSA-8953897",
                "name": "Cellular responses to stimuli",
                "species": "Homo sapiens",
                "is_disease": false,
                "has_diagram": true
            },
            {
                "id": "R-HSA-4839726",
                "name": "Chromatin organization",
                "species": "Homo sapiens",
                "is_disease": false,
                "has_diagram": true
            },
            {
                "id": "R-HSA-9909396",
                "name": "Circadian clock",
                "species": "Homo sapiens",
                "is_disease": false,
                "has_diagram": true
            },
            {
                "id"
…(truncated, see openapi.json for full schema)
```

### Molecules

#### `GET /v1/mapping` — Pathways a UniProt protein takes part in

**Parameters:**
- `id` (query, required, string) — UniProt accession, e.g. P04637 Example: `P04637`
- `db` (query, optional, string) — Resource (default UniProt)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reactome-api/v1/mapping?id=P04637"
```

**Response:**
```json
{
    "data": {
        "db": "UniProt",
        "count": 46,
        "total": 46,
        "pathways": [
            {
                "id": "R-HSA-111448",
                "name": "Activation of NOXA and translocation to mitochondria",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-139915",
                "name": "Activation of PUMA and translocation to mitochondria",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-1912408",
                "name": "Pre-NOTCH Transcription and Translation",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-2559580",
                "name": "Oxidative Stress Induced Senescence",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-2559584",
                "name": "Formation of Senescence-Associated Heterochromatin Foci (SAHF)",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-2559585",
                "name": "Oncogene Induced Senescence",
                "species": "Homo sapiens",
                "is_disease": false
            },
            {
                "id": "R-HSA-2559586",
                "name": "DN
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/participants` — Molecules participating in a pathway/reaction

**Parameters:**
- `id` (query, required, string) — Stable id Example: `R-HSA-70171`
- `limit` (query, optional, string) — Max (1-500)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reactome-api/v1/participants?id=R-HSA-70171"
```

**Response:**
```json
{
    "data": {
        "count": 59,
        "total": 59,
        "entity": "R-HSA-70171",
        "participants": [
            {
                "name": "PP2A-ABdeltaC complex [cytosol]",
                "ref_entities": [
                    {
                        "name": "UniProt:P30153 PPP2R1A",
                        "database": null,
                        "identifier": "P30153"
                    },
                    {
                        "name": "UniProt:P30154 PPP2R1B",
                        "database": null,
                        "identifier": "P30154"
                    },
                    {
                        "name": "UniProt:P67775 PPP2CA",
                        "database": null,
                        "identifier": "P67775"
                    },
                    {
                        "name": "UniProt:P62714 PPP2CB",
                        "database": null,
                        "identifier": "P62714"
                    },
                    {
                        "name": "UniProt:Q14738 PPP2R5D",
                        "database": null,
                        "identifier": "Q14738"
                    }
                ]
            },
            {
                "name": "p-PFKFB1 dimer [cytosol]",
                "ref_entities": [
                    {
                        "name": "UniProt:P16118 PFKFB1",
                        "database": null,
                        "identifier": "P16118"
                  
…(truncated, see openapi.json for full schema)
```

### Reference

#### `GET /v1/species` — The model organisms

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

**Response:**
```json
{
    "data": {
        "count": 16,
        "species": [
            {
                "id": null,
                "name": "Homo sapiens",
                "taxon_id": "9606",
                "abbreviation": "HSA"
            },
            {
                "id": null,
                "name": "Bos taurus",
                "taxon_id": "9913",
                "abbreviation": "BTA"
            },
            {
                "id": null,
                "name": "Caenorhabditis elegans",
                "taxon_id": "6239",
                "abbreviation": "CEL"
            },
            {
                "id": null,
                "name": "Canis familiaris",
                "taxon_id": "9615",
                "abbreviation": "CFA"
            },
            {
                "id": null,
                "name": "Danio rerio",
                "taxon_id": "7955",
                "abbreviation": "DRE"
            },
            {
                "id": null,
                "name": "Dictyostelium discoideum",
                "taxon_id": "44689",
                "abbreviation": "DDI"
            },
            {
                "id": null,
                "name": "Drosophila melanogaster",
                "taxon_id": "7227",
                "abbreviation": "DME"
            },
            {
                "id": null,
                "name": "Gallus gallus",
                "taxon_id": "9031",
                "abbreviation": "GGA"
            },
            {
                "id": nu
…(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/reactome-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "The Reactome pathway knowledgebase. /v1/search?query=glycolysis (filter species=Homo sapiens, types=Pathway|Reaction) = search pathways, reactions & molecules; /v1/entity?id=R-HSA-70171 = any entity by Reactome stable id (pathway/reaction/complex/protein: name, type, species, compartments, summary, disease flag); /v1/pathway?id=R-HSA-70171 = the events (sub-pathways & reactions) contained in a pathway; /v1/participants?id=R-HSA-70171 = the molecules participating in a pathway/reaction with their reference identifiers; /v1/toppathways?species=9606 = the top-level pathways for a species (taxon id or name); /v1/mapping?id=P04637 = the pathways a UniProt protein takes part in (cross-links the UniProt API); /v1/species = the model organisms. Stable ids look like R-HSA-70171 (HSA = Homo sapiens). Data courtesy of Reactome.",
        "source": "Reactome ContentService (reactome.org)",
        "endpoints": [
            "/v1/search",
            "/v1/entity",
            "/v1/pathway",
            "/v1/participants",
            "/v1/toppathways",
            "/v1/mapping",
            "/v1/species",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T08:14:08.100Z",
        "request_id": "3f34679f-3613-49eb-9ee9-59a2fe4e8f1a"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


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