BYTETOOLS

Reactome ContentService API

Free Reactome ContentService API with no key: query curated biological pathways, reactions, participants and cross-references. CC0 licensed. Tested example and live response included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Reactome ContentService API?

The Reactome ContentService is a free, key-free REST API over the Reactome pathway database. It returns curated pathways and reactions with their participants, compartments, Gene Ontology mappings, literature references and inferred orthologous events across species.

Reactome is a manually curated, peer-reviewed model of human biological pathways, and the ContentService exposes the underlying graph database more or less directly. Every object carries a stable identifier of the form `R-HSA-73817` — the middle segment is the species code — plus a `stIdVersion` that increments whenever curators revise the entry, so you can tell whether a pathway has changed since you last looked at it.

The response shape reflects the graph rather than a flat record: pathways contain events, events reference physical entities, entities sit in compartments, and each nested object arrives with its own `dbId`, `schemaClass` and cross-references to GO or ChEBI. That makes the payloads verbose but self-describing — `schemaClass` tells you what kind of node you are holding without consulting the schema. Reactome also infers pathways into other species from the curated human set, and `isInferred` marks those, which matters because an inferred rat pathway carries much weaker evidence than a curated human one.

Quick facts

Base URL
https://reactome.org/ContentService
Authentication
No API key or account. Reactome releases its content under CC0, so the data may be reused freely including commercially, with citation requested but not required.
Rate limit
No published hard limit. Reactome asks that bulk consumers download the release files or use the analysis service rather than crawling the content endpoints.
Pricing
Free. Reactome content is CC0 1.0 Universal (public domain dedication).
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Reactome ContentService API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch a curated human pathway by its stable identifier

GET https://reactome.org/ContentService/data/query/R-HSA-73817

curl
curl 'https://reactome.org/ContentService/data/query/R-HSA-73817' \
  -H 'Accept: application/json'
JavaScript (fetch)
const res = await fetch("https://reactome.org/ContentService/data/query/R-HSA-73817", {
  headers: {
    "Accept": "application/json",
  },
});
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

headers = {
    "Accept": "application/json",
}

res = requests.get("https://reactome.org/ContentService/data/query/R-HSA-73817", headers=headers, timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "dbId": 73817,
  "displayName": "Purine ribonucleoside monophosphate biosynthesis",
  "stId": "R-HSA-73817",
  "stIdVersion": "R-HSA-73817.8",
  "isInDisease": false,
  "isInferred": false,
  "maxDepth": 2,
  "name": [
    "Purine ribonucleoside monophosphate biosynthesis"
  ],
  "releaseDate": "2004-07-06",
  "speciesName": "Homo sapiens",
  "compartment": [
    {
      "dbId": 70101,
      "displayName": "cytosol",
      "accession": "0005829",
      "databaseName": "GO",
      "definition": "The part of the cytoplasm that does not contain organelles but which does contain other particulate matter, such as protein complexes.",
      "name": "cytosol",
      "url": "https://www.ebi.ac.uk/QuickGO/term/GO:0005829",
      "className": "Compartment",
      "schemaClass": "Compartment"
    }
  ],
  "figure": [
    {
      "dbId": 77395,
      "displayName": "/figures/denovo_IMP_synthesis.jpg",
      "url": "/figures/denovo_IMP_synthesis.jpg",
      "className": "Figure",
      "schemaClass": "Figure"
    }
  ],
  "goBiologicalProcess": {
    "dbId": 15969,
    "displayName": "purine ribonucleoside monophosphate biosynthetic process",
    "accession": "0009168",
    "databaseName": "GO",
    "definition": "The chemical reactions and pathways resulting in the formation of purine ribonucleoside monophosphate, a compound consisting of a purine base linked to a ribose sugar esterified with phosphate on the sugar.",
    "name": "purine ribonucleoside monophosphate biosynthetic process",
    "url": "https://www.ebi.ac.uk/QuickGO/term/GO:0009168",
    "className": "GO_BiologicalPro

Parameters

ParameterTypeRequiredDescription
idpath segmentRequiredA Reactome stable identifier or numeric dbId. Stable ids encode the species — HSA is human, MMU mouse. R-HSA-73817
speciesqueryOptionalOn listing endpoints, restrict results to one species by name or taxon id. Homo sapiens
attributeNamepath segmentOptionalOn `/data/query/{id}/{attributeName}`, return just one attribute of an object instead of the whole thing. displayName
enhancedpath segmentOptionalUse `/data/query/enhanced/{id}` for an expanded view that resolves more nested references in one call. enhanced

Response fields

stId / stIdVersionstring
Stable identifier and its version. The version bumps on every curation change, so compare it to detect updates.
displayNamestring
Human-readable name of the pathway, reaction or entity.
schemaClassstring
The graph node type — `Pathway`, `Reaction`, `Compartment`, `GO_BiologicalProcess` and so on. Read this before assuming a shape.
isInferredboolean
True when the event was computationally projected from curated human biology into another species. Inferred events carry weaker evidence.
isInDiseaseboolean
Marks disease-variant pathways, which are modelled separately from the normal physiology.
compartment[]array
Cellular compartments the event occurs in, each linked to its Gene Ontology term.
goBiologicalProcessobject
The GO biological process this pathway corresponds to, with accession and definition.

What you can build with the Reactome ContentService API

  • Show which pathways a gene or protein participates in
  • Build a pathway browser without shipping the Reactome database
  • Map an experimental hit list onto curated biological processes
  • Cross-reference pathways to Gene Ontology and ChEBI identifiers
  • Detect when a pathway you depend on has been re-curated, via `stIdVersion`

Common errors and how to fix them

404

Unknown stable identifier or dbId.

Fix: Check the species code inside the stable id — `R-HSA-` ids do not resolve under a mouse query, and old ids occasionally retire between releases.

406

The Accept header asked for a format the endpoint cannot produce.

Fix: Send `Accept: application/json`. Some endpoints also offer plain text, but the default negotiation is stricter than most APIs.

Very large response

An enhanced query on a top-level pathway pulls in the whole subtree.

Fix: Use `/data/query/{id}/{attributeName}` to fetch a single attribute, or walk the hierarchy one level at a time.

Reactome ContentService API — frequently asked questions

Is the Reactome API free for commercial use?

Yes. Reactome releases its content under CC0, a public domain dedication, so there are no licensing restrictions on reuse. Citing the Reactome publication is requested as good practice rather than required.

What does the HSA in a Reactome stable id mean?

It is the species code — `R-HSA-` is Homo sapiens, `R-MMU-` mouse, `R-DME-` fruit fly. Non-human events are usually computationally inferred from the curated human pathway, which the `isInferred` flag confirms.

How do I find the pathways containing a particular gene?

Use the mapping endpoints under `/data/mapping/`, which accept a UniProt accession or gene identifier and return the pathways and reactions it participates in. That is far cheaper than fetching pathways and scanning their participants.

What is the difference between the ContentService and the Analysis Service?

ContentService is a read API over the curated knowledge base. The Analysis Service is a separate endpoint that takes a submitted list of identifiers and runs pathway enrichment over it, returning statistics rather than curated records.

Tools that pair with this API

Reactome ContentService is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.