Reactome person API

Reactome Data: Person queries

Operations 6

GET /data/people/name/{name} A list of people with first or last name partly matching a given string #
GET /data/people/name/{name}/exact A list of people with first AND last name exactly matching a given string #
GET /data/person/{id} A person by his/her identifier #
GET /data/person/{id}/authoredPathways A list of pathways authored by a given person #
GET /data/person/{id}/publications A list of publications authored by a given person #
GET /data/person/{id}/{attributeName} A person's property by his/her identifier #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reactome-person-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reactome-person-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pathway Analysis Service database Person API
  description: Provides an API for pathway over-representation and expression analysis as well as species comparison tool.
  termsOfService: /license
  contact:
    name: Reactome
    url: https://reactome.org
    email: help@reactome.org
  license:
    name: Creative Commons Attribution 3.0 Unsupported License
    url: https://creativecommons.org/licenses/by/3.0/legalcode
  version: '2.0'
servers:
- url: /AnalysisService
tags:
- name: person
  description: 'Reactome Data: Person queries'
paths:
  /data/people/name/{name}:
    get:
      tags:
      - person
      summary: A list of people with first or last name partly matching a given string
      description: Retrieves a list of people in Reactome with either their first or last name partly matching the given string.
      operationId: queryPersonByName
      parameters:
      - name: name
        in: path
        description: Person's first or last name
        required: true
        schema:
          type: string
        example: Steve Jupe
      - name: view
        in: query
        description: Global parameter - Customise the view to be more concise and/or aggregate relationships
        required: false
        schema:
          type: string
          default: flatten
          enum:
          - flatten
          - nested
          - nested-aggregated
          example: null
      - name: includeRef
        in: query
        description: Global parameter - If true, replace element ref to dbId by standard JSOG object {@ref}
        required: false
        schema:
          type: boolean
          default: false
          example: null
      responses:
        '404':
          description: Given name does not partly match with any in current data
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
  /data/people/name/{name}/exact:
    get:
      tags:
      - person
      summary: A list of people with first AND last name exactly matching a given string
      description: Retrieves a list of people in Reactome with their first AND last name matching exactly the given string.
      operationId: findPersonByName
      parameters:
      - name: name
        in: path
        description: Person's first and last name
        required: true
        schema:
          type: string
        example: Steve Jupe
      - name: view
        in: query
        description: Global parameter - Customise the view to be more concise and/or aggregate relationships
        required: false
        schema:
          type: string
          default: flatten
          enum:
          - flatten
          - nested
          - nested-aggregated
          example: null
      - name: includeRef
        in: query
        description: Global parameter - If true, replace element ref to dbId by standard JSOG object {@ref}
        required: false
        schema:
          type: boolean
          default: false
          example: null
      responses:
        '404':
          description: Given name does not exactly match with any in current data
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
  /data/person/{id}:
    get:
      tags:
      - person
      summary: A person by his/her identifier
      description: Retrieves a person in Reactome by his/her OrcidId or DbId.
      operationId: findPerson
      parameters:
      - name: id
        in: path
        description: 'Person identifier: Can be OrcidId or DbId'
        required: true
        schema:
          type: string
        example: 0000-0001-5807-0069
      - name: view
        in: query
        description: Global parameter - Customise the view to be more concise and/or aggregate relationships
        required: false
        schema:
          type: string
          default: flatten
          enum:
          - flatten
          - nested
          - nested-aggregated
          example: null
      - name: includeRef
        in: query
        description: Global parameter - If true, replace element ref to dbId by standard JSOG object {@ref}
        required: false
        schema:
          type: boolean
          default: false
          example: null
      responses:
        '404':
          description: OrcidId or DbId does not match with any in current data
          content:
            application/json:
              schema:
                type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
  /data/person/{id}/authoredPathways:
    get:
      tags:
      - person
      summary: A list of pathways authored by a given person
      description: Retrieves a list of pathways authored by a given person. OrcidId, DbId or Email can be used to specify the person.
      operationId: getAuthoredPathways
      parameters:
      - name: id
        in: path
        description: 'Person identifier: Can be OrcidId or DbId'
        required: true
        schema:
          type: string
        example: 0000-0001-5807-0069
      - name: view
        in: query
        description: Global parameter - Customise the view to be more concise and/or aggregate relationships
        required: false
        schema:
          type: string
          default: flatten
          enum:
          - flatten
          - nested
          - nested-aggregated
          example: null
      - name: includeRef
        in: query
        description: Global parameter - If true, replace element ref to dbId by standard JSOG object {@ref}
        required: false
        schema:
          type: boolean
          default: false
          example: null
      responses:
        '404':
          description: OrcidId or DbId does not retrieve any pathway
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SimpleEventProjection'
        '406':
          description: Not acceptable according to the accept headers sent in the request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SimpleEventProjection'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SimpleEventProjection'
  /data/person/{id}/publications:
    get:
      tags:
      - person
      summary: A list of publications authored by a given person
      description: Retrieves a list of publications authored by a given person. OrcidId, DbId or Email can be used to specify the person.
      operationId: getPublicationsOfPerson
      parameters:
      - name: id
        in: path
        description: 'Person identifier: Can be OrcidId or DbId'
        required: true
        schema:
          type: string
        example: 0000-0001-5807-0069
      - name: view
        in: query
        description: Global parameter - Customise the view to be more concise and/or aggregate relationships
        required: false
        schema:
          type: string
          default: flatten
          enum:
          - flatten
          - nested
          - nested-aggregated
          example: null
      - name: includeRef
        in: query
        description: Global parameter - If true, replace element ref to dbId by standard JSOG object {@ref}
        required: false
        schema:
          type: boolean
          default: false
          example: null
      responses:
        '404':
          description: OrcidId or DbId does not match with any publication
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
        '406':
          description: Not acceptable according to the accept headers sent in the request
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
  /data/person/{id}/{attributeName}:
    get:
      tags:
      - person
      summary: A person's property by his/her identifier
      description: Retrieves a specific person's property by his/her OrcidId or DbId.
      operationId: findPerson_1
      parameters:
      - name: id
        in: path
        description: 'Person identifier: Can be OrcidId or DbId'
        required: true
        schema:
          type: string
        example: 0000-0001-5807-0069
      - name: attributeName
        in: path
        description: Attribute to be filtered
        required: true
        schema:
          type: string
        example: displayName
      - name: view
        in: query
        description: Global parameter - Customise the view to be more concise and/or aggregate relationships
        required: false
        schema:
          type: string
          default: flatten
          enum:
          - flatten
          - nested
          - nested-aggregated
          example: null
      - name: includeRef
        in: query
        description: Global parameter - If true, replace element ref to dbId by standard JSOG object {@ref}
        required: false
        schema:
          type: boolean
          default: false
          example: null
      responses:
        '404':
          description: OrcidId or DbId does not match with any in current data or invalid attribute name
          content:
            text/plain:
              schema:
                type: string
        '406':
          description: Not acceptable according to the accept headers sent in the request
          content:
            text/plain:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                type: string
components:
  schemas:
    SimpleEventProjection:
      type: object
      properties:
        authorDbId:
          type: integer
          format: int64
        dateTime:
          type: string
        dbId:
          type: integer
          format: int64
        displayName:
          type: string
        doi:
          type: string
        labels:
          type: array
          items:
            type: string
        schemaClass:
          type: string
        speciesName:
          type: string
        stId:
          type: string