Open Targets

App · Research & Academia · 19 actions

Search the evidence linking genes to diseases, from Open Targets: the open drug target discovery platform built by EMBL-EBI, the Wellcome Sanger Institute and a group of pharmaceutical companies. Ask which genes are worth going after for a disease, or what a gene has already been linked to, and get a score from 0 to 1 that pools human genetics, known drugs, animal models, pathways, expression and the literature, with the working shown. Look up targets, diseases, drugs, variants and GWAS studies; read what a drug treats and what side effects it has; see where a gene is expressed and what it interacts with; and find the papers behind any of it. Names work everywhere identifiers do, so 'TP53' and 'asthma' are enough. No account or API key required.

Actions

ActionWhat it does
Check the Platform statusCheck Open Targets is reachable and report which data release it is serving.
Find diseases for a targetThe mirror of finding targets for a disease: everything this gene has been linked to, best evidenced first, each with a score from 0 to 1 and a breakdown by kind of evidence.
Find drugs for a targetList the drugs and clinical candidates aimed at a gene, and how far each one has got.
Find papers about somethingFind the papers that mention a target, disease or drug, newest first, with a link straight to each one on Europe PMC.
Find similar entitiesFind the targets, diseases and drugs that sit closest to one you name.
Find studies for a diseaseList the GWAS and molecular QTL studies that looked at a disease, with how many people took part and whether full summary statistics are available.
Find targets for a diseaseThe question the Platform exists to answer: which genes are worth going after for this disease.
Find what a target interacts withList the proteins a gene's product physically interacts with or shares a pathway with, drawn from IntAct, Reactome, Signor and STRING.
Get a diseaseLook up a disease or phenotype and get its description, the names it goes by, the therapeutic areas it belongs to, and its parents and children in the ontology.
Get a drugLook up a drug or clinical candidate and get what it is, how far it has got, what it is sold as, how it works and what it acts on, plus any black box warnings and withdrawals on record.
Get a drug's reported side effectsList the side effects reported for a drug, from the FDA's adverse event database, most significant first.
Get a studyLook up a GWAS or molecular QTL study: what it measured, how many people took part, how many were cases and controls, and the paper it came from.
Get a targetLook up a gene or protein and get back what it is, where it sits in the genome, which protein it makes, where in the cell it acts, which pathways it belongs to, whether it is essential, what safety concerns are on record, and how druggable it looks to a small molecule or an antibody.
Get a variantLook up a genetic variant and get where it sits, what it changes, how damaging the prediction tools think it is, and how common it is in each population.
Get the evidence for a linkRead the individual findings behind one target and disease link, rather than the score that summarises them.
Get what a drug is used forList everything a drug is approved for or has been trialled against, with how far each one got.
Get where a target is expressedRead how strongly a gene is expressed across human tissues and cell types, from GTEx and single cell atlases.
Map names to identifiersTurn a column of names into the identifiers the Platform uses.
Search Open TargetsSearch the whole Platform at once for a phrase and get back whatever matches: genes, diseases, drugs, variants and studies together, each with the identifier the other actions take.

Check the Platform status

Check Open Targets is reachable and report which data release it is serving. Open Targets publishes a new release every few months and the association scores move between them, so a workflow that records or compares results is worth stamping with the release they came from. Also useful as a health check at the top of a longer run.

Inputs

None.

Outputs

api_versiontext
Version of the API, e.g. '26.6.3'
data_releasetext
Data release being served, e.g. '26.06'
endpointtext
The endpoint that answered
interaction_sourceslist
Interaction databases loaded, and the version of each
nametext
What the API calls itself
reachabletrue/false
True when the Platform answered
Example output
{
  "api_version": "26.6.3",
  "data_release": "26.06",
  "endpoint": "https://api.platform.opentargets.org/api/v4/graphql",
  "interaction_sources": [
    {
      "source": "intact",
      "version": "252"
    },
    {
      "source": "reactome",
      "version": "95"
    }
  ],
  "name": "Open Targets GraphQL & REST API Beta",
  "reachable": true
}

Find diseases for a target

The mirror of finding targets for a disease: everything this gene has been linked to, best evidenced first, each with a score from 0 to 1 and a breakdown by kind of evidence. Use it to see what a gene is already implicated in before committing to it, or to spot where an existing programme might be repositioned.

Inputs

TargettargettextRequired
The gene or protein, as a symbol such as 'TP53' or an Ensembl gene id such as 'ENSG00000141510'. A symbol is looked up for you and the response says which target it resolved to.
Score on these kinds of evidencedatatypestext
Narrow the association score to particular kinds of evidence. Leave blank to use everything, which is how the Open Targets website scores by default. Ticking 'Genetic associations' alone, for example, ranks by human genetics and ignores the rest.One or more of: genetic_association (Genetic associations), somatic_mutation (Somatic mutations), known_drug (Known drugs), affected_pathway (Affected pathways), literature (Literature (text mining)), rna_expression (RNA expression), animal_model (Animal models).
Include indirect associationsinclude_indirecttrue/false
Also count evidence attached to related diseases further down the ontology. Off by default, matching the Open Targets website. Turning it on widens the net a long way: BRCA1 goes from about 1,300 diseases to about 17,000, and diseases with no direct evidence of their own can outrank the ones that have it.Default: false.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

countnumber
How many rows came back
diseaseslist
include_indirecttrue/false
Whether evidence from related diseases was counted
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
targetobject
The target the list is for
totalnumber
How many diseases are associated in total
Example output
{
  "count": 2,
  "diseases": [
    {
      "id": "MONDO_0007254",
      "name": "breast cancer",
      "score": 0.839042,
      "scores_by_datatype": {
        "genetic_association": 0.980212,
        "genetic_literature": 0.607931,
        "literature": 0.998482
      },
      "therapeutic_areas": [
        {
          "id": "OTAR_0000017",
          "name": "reproductive system or breast disease"
        },
        {
          "id": "MONDO_0045024",
          "name": "cancer or benign tumor"
        }
      ]
    },
    {
      "id": "Orphanet_145",
      "name": "Hereditary breast and ovarian cancer syndrome",
      "score": 0.827813,
      "scores_by_datatype": {
        "animal_model": 0.401797,
        "genetic_association": 0.917973,
        "genetic_literature": 0.885582,
        "literature": 0.375326
      },
      "therapeutic_areas": [
        {
          "id": "OTAR_0000018",
          "name": "genetic, familial or congenital disease"
        },
        {
          "id": "OTAR_0000017",
          "name": "reproductive system or breast disease"
        }
      ]
    }
  ],
  "include_indirect": false,
  "resolved": {
    "id": "ENSG00000012048",
    "matched_on": "name",
    "name": "BRCA1",
    "other_matches": [
      {
        "id": "ENSG00000267595",
        "name": "BRCA1P1"
      },
      {
        "id": "ENSG00000136492",
        "name": "BRIP1"
      }
    ]
  },
  "target": {
    "id": "ENSG00000012048",
    "symbol": "BRCA1"
  },
  "total": 1359
}

Find drugs for a target

List the drugs and clinical candidates aimed at a gene, and how far each one has got. Use it to check whether a target is already drugged before starting work on it, to find a tool compound, or to spot a molecule that could be repositioned. Filter to approved drugs alone to see only what is on the market.

Inputs

TargettargettextRequired
The gene or protein, as a symbol such as 'TP53' or an Ensembl gene id such as 'ENSG00000141510'. A symbol is looked up for you and the response says which target it resolved to.
Clinical stagesstagestext
Keep only the rows that reached these stages. Leave blank for all of them. Tick 'Approved' alone to see only what is on the market.One or more of: APPROVAL (Approved), PHASE_4 (Phase 4), PHASE_3 (Phase 3), PHASE_2 (Phase 2), PHASE_1_2 (Phase 1/2), PHASE_1 (Phase 1), EARLY_PHASE_1 (Early phase 1), PRECLINICAL, UNKNOWN.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.

Outputs

countnumber
How many rows came back
drugslist
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
targetobject
The target the list is for
totalnumber
How many candidates exist before filtering
Example output
{
  "count": 2,
  "drugs": [
    {
      "diseases": [
        {
          "id": "MONDO_0018874",
          "name": "acute myeloid leukemia"
        },
        {
          "id": "MONDO_0005070",
          "name": "neoplasm"
        }
      ],
      "drug": {
        "id": "CHEMBL3678958",
        "name": "RUSERONTINIB",
        "type": "Small molecule"
      },
      "max_clinical_stage": "PHASE_3"
    },
    {
      "diseases": [
        {
          "id": "MONDO_0005233",
          "name": "non-small cell lung carcinoma"
        },
        {
          "id": "MONDO_0005233",
          "name": "non-small cell lung carcinoma"
        }
      ],
      "drug": {
        "id": "CHEMBL3544983",
        "name": "TESEVATINIB",
        "type": "Small molecule"
      },
      "max_clinical_stage": "PHASE_3"
    }
  ],
  "resolved": {
    "id": "ENSG00000146648",
    "matched_on": "name",
    "name": "EGFR",
    "other_matches": [
      {
        "id": "ENSG00000224057",
        "name": "EGFR-AS1"
      },
      {
        "id": "ENSG00000151491",
        "name": "EPS8"
      }
    ]
  },
  "target": {
    "id": "ENSG00000146648",
    "symbol": "EGFR"
  },
  "total": 82
}

Find papers about something

Find the papers that mention a target, disease or drug, newest first, with a link straight to each one on Europe PMC. Narrow it to a range of years to catch only what has been published recently, which is what a standing literature alert needs.

Inputs

Target, disease or drugentitytextRequired
The thing to find papers about, as a name or an identifier. Set 'What kind of thing is it' to match.
What kind of thing is itentity_typetext
Which kind of entity the name refers to, so it resolves against the right index. Defaults to a target.One of: target (A target (gene or protein)), disease (A disease or phenotype), drug (A drug or clinical candidate). Default: target.
Published fromstart_yearnumber
Only papers published in this year or later. Leave blank for all.From 1800 to 2100.
Published up toend_yearnumber
Only papers published in this year or earlier. Leave blank for all.From 1800 to 2100.
Next page cursorcursortext
Pass back the 'next_cursor' from a previous run to fetch the following batch. Leave blank to start from the beginning. This list is paged by cursor rather than by page number, and the cursor is absent on the last batch.

Outputs

countnumber
How many rows came back
entity_typetext
What kind of thing the papers are about
matching_filtersnumber
How many fall inside the years asked for
next_cursortext
Pass back as 'cursor' for the next batch; absent on the last one
publicationslist
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
totalnumber
How many papers mention it at all
Example output
{
  "count": 25,
  "entity_type": "target",
  "matching_filters": 40064,
  "next_cursor": "eyJpbmRleCI6MSwic2l6ZSI6MjV9",
  "publications": [
    {
      "published": "2025-07-01",
      "pubmed_id": "40683859",
      "url": "https://europepmc.org/article/MED/40683859"
    },
    {
      "published": "2025-01-01",
      "pubmed_id": "40761246",
      "url": "https://europepmc.org/article/MED/40761246"
    }
  ],
  "resolved": {
    "id": "ENSG00000141510",
    "matched_on": "name",
    "name": "TP53",
    "other_matches": [
      {
        "id": "ENSG00000172315",
        "name": "TP53RK"
      },
      {
        "id": "ENSG00000183632",
        "name": "TP53TG3"
      }
    ]
  },
  "total": 347754
}

Find similar entities

Find the targets, diseases and drugs that sit closest to one you name. Closeness is worked out from how often things are written about together across the literature, so it surfaces neighbours no single database lists as related: genes that keep appearing beside yours, diseases that behave like the one you are working on, drugs that travel in the same company.

Inputs

Target, disease or drugentitytextRequired
The thing to find neighbours for, as a name or an identifier. Set 'What kind of thing is it' to match.
What kind of thing is itentity_typetext
Which kind of entity the name refers to, so it resolves against the right index. Defaults to a target.One of: target (A target (gene or protein)), disease (A disease or phenotype), drug (A drug or clinical candidate). Default: target.
Only return these kindsrelated_typestext
Limit the neighbours to particular kinds. Leave blank to get targets, diseases and drugs together.One or more of: target (Targets), disease (Diseases), drug (Drugs).
Minimum closenessminimum_scorenumber
Only return neighbours scoring at least this, from 0 to 1. Leave blank for all of them.From 0 to 1.
How many to returnsizenumber
How many neighbours to return, from 1 to 500. Defaults to 25.From 1 to 500. Default: 25.

Outputs

countnumber
How many neighbours came back
entity_typetext
What kind of thing the neighbours were found for
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
similarlist
Example output
{
  "count": 1,
  "entity_type": "target",
  "resolved": {
    "id": "ENSG00000012048",
    "matched_on": "name",
    "name": "BRCA1",
    "other_matches": [
      {
        "id": "ENSG00000267595",
        "name": "BRCA1P1"
      },
      {
        "id": "ENSG00000136492",
        "name": "BRIP1"
      }
    ]
  },
  "similar": [
    {
      "full_name": "FA complementation group L",
      "id": "ENSG00000115392",
      "name": "FANCL",
      "score": 0.8453822777443951,
      "type": "target"
    }
  ]
}

Find studies for a disease

List the GWAS and molecular QTL studies that looked at a disease, with how many people took part and whether full summary statistics are available. Use it to find the genetics behind an association, or to check how well powered the evidence for a disease actually is before relying on it.

Inputs

DiseasediseasetextRequired
The disease or phenotype, as a name such as 'asthma' or an ontology id such as 'MONDO_0004979'. A name is looked up for you and the response says which disease it resolved to.
Include indirect associationsinclude_indirecttrue/false
Also count evidence attached to related diseases further down the ontology. Off by default, matching the Open Targets website. Turning it on widens the net a long way: BRCA1 goes from about 1,300 diseases to about 17,000, and diseases with no direct evidence of their own can outrank the ones that have it.Default: false.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

countnumber
How many rows came back
include_indirecttrue/false
Whether studies of related diseases were counted
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
studieslist
totalnumber
How many studies exist in total
Example output
{
  "count": 2,
  "include_indirect": false,
  "resolved": {
    "id": "MONDO_0004979",
    "matched_on": "name",
    "name": "asthma",
    "other_matches": [
      {
        "id": "MONDO_0005405",
        "name": "childhood onset asthma"
      },
      {
        "id": "MONDO_0004784",
        "name": "allergic asthma"
      }
    ]
  },
  "studies": [
    {
      "cases": 22761,
      "controls": 441248,
      "date": null,
      "first_author": null,
      "has_summary_statistics": true,
      "id": "FINNGEN_R12_ASTHMA_ACUTE_RESPIRATORY_INFECTIONS",
      "pubmed_id": "36653562",
      "sample_size": 464009,
      "study_type": "gwas",
      "trait": "Asthma-related acute respiratory infections"
    },
    {
      "cases": 3565,
      "controls": 441248,
      "date": null,
      "first_author": null,
      "has_summary_statistics": true,
      "id": "FINNGEN_R12_ASTHMA_EOSINOPHIL_SUGG",
      "pubmed_id": "36653562",
      "sample_size": 444813,
      "study_type": "gwas",
      "trait": "Suggestive for eosinophilic asthma"
    }
  ],
  "total": 279
}

Find targets for a disease

The question the Platform exists to answer: which genes are worth going after for this disease. Every target comes back with a score from 0 to 1 pooling human genetics, known drugs, animal models, pathways, expression and the literature, best first, plus the same score broken down by kind of evidence so you can see what is carrying it. Narrow the scoring to genetics alone to rank by human evidence only.

Inputs

DiseasediseasetextRequired
The disease or phenotype, as a name such as 'asthma' or an ontology id such as 'MONDO_0004979'. A name is looked up for you and the response says which disease it resolved to.
Score on these kinds of evidencedatatypestext
Narrow the association score to particular kinds of evidence. Leave blank to use everything, which is how the Open Targets website scores by default. Ticking 'Genetic associations' alone, for example, ranks by human genetics and ignores the rest.One or more of: genetic_association (Genetic associations), somatic_mutation (Somatic mutations), known_drug (Known drugs), affected_pathway (Affected pathways), literature (Literature (text mining)), rna_expression (RNA expression), animal_model (Animal models).
Include indirect associationsinclude_indirecttrue/false
Also count evidence attached to related diseases further down the ontology. Off by default, matching the Open Targets website. Turning it on widens the net a long way: BRCA1 goes from about 1,300 diseases to about 17,000, and diseases with no direct evidence of their own can outrank the ones that have it.Default: false.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

countnumber
How many rows came back
diseaseobject
The disease the list is for
include_indirecttrue/false
Whether evidence from related diseases was counted
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
targetslist
totalnumber
How many targets are associated in total
Example output
{
  "count": 2,
  "disease": {
    "id": "MONDO_0004979",
    "name": "asthma"
  },
  "include_indirect": false,
  "resolved": {
    "id": "MONDO_0004979",
    "matched_on": "name",
    "name": "asthma",
    "other_matches": [
      {
        "id": "MONDO_0005405",
        "name": "childhood onset asthma"
      },
      {
        "id": "MONDO_0004784",
        "name": "allergic asthma"
      }
    ]
  },
  "targets": [
    {
      "biotype": "protein_coding",
      "id": "ENSG00000077238",
      "name": "interleukin 4 receptor",
      "score": 0.741666,
      "scores_by_datatype": {
        "animal_model": 0.402724,
        "clinical": 0.9691,
        "genetic_association": 0.925066,
        "literature": 0.656219
      },
      "symbol": "IL4R",
      "target_classes": [
        "Secreted protein"
      ]
    },
    {
      "biotype": "protein_coding",
      "id": "ENSG00000143631",
      "name": "filaggrin",
      "score": 0.741328,
      "scores_by_datatype": {
        "genetic_association": 0.969372,
        "literature": 0.347116
      },
      "symbol": "FLG",
      "target_classes": []
    }
  ],
  "total": 7185
}

Find what a target interacts with

List the proteins a gene's product physically interacts with or shares a pathway with, drawn from IntAct, Reactome, Signor and STRING. Use it to build the neighbourhood around a target, to find a way in when the target itself is undruggable, or to check what else a drug might disturb.

Inputs

TargettargettextRequired
The gene or protein, as a symbol such as 'TP53' or an Ensembl gene id such as 'ENSG00000141510'. A symbol is looked up for you and the response says which target it resolved to.
Source databasesourcetext
Which interaction database to read. Leave blank for all of them. IntAct and Signor are curated from experiments, Reactome from pathways, and STRING mixes evidence including prediction.One of: intact (IntAct (curated experiments)), reactome (Reactome (pathway reactions)), signor (Signor (curated signalling)), string (STRING (mixed, includes predictions)).
Minimum confidenceminimum_scorenumber
Only return interactions scoring at least this, from 0 to 1. Leave blank for all of them. STRING in particular returns a long tail of weak predictions, so 0.7 or higher is a useful floor.From 0 to 1.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

countnumber
How many rows came back
interactionslist
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
targetobject
The target the list is for
totalnumber
How many interactions exist in total
Example output
{
  "count": 2,
  "interactions": [
    {
      "partner": {
        "id": "ENSG00000183765",
        "name": "checkpoint kinase 2",
        "symbol": "CHEK2"
      },
      "partner_role": "unspecified role",
      "role": "unspecified role",
      "score": 0.999,
      "source": "string",
      "supporting_evidence": 4
    },
    {
      "partner": {
        "id": "ENSG00000101773",
        "name": "RB binding protein 8, endonuclease",
        "symbol": "RBBP8"
      },
      "partner_role": "unspecified role",
      "role": "unspecified role",
      "score": 0.999,
      "source": "string",
      "supporting_evidence": 4
    }
  ],
  "resolved": {
    "id": "ENSG00000012048",
    "matched_on": "name",
    "name": "BRCA1",
    "other_matches": [
      {
        "id": "ENSG00000267595",
        "name": "BRCA1P1"
      },
      {
        "id": "ENSG00000136492",
        "name": "BRIP1"
      }
    ]
  },
  "target": {
    "id": "ENSG00000012048",
    "symbol": "BRCA1"
  },
  "total": 3464
}

Get a disease

Look up a disease or phenotype and get its description, the names it goes by, the therapeutic areas it belongs to, and its parents and children in the ontology. The parents and children matter: Open Targets files evidence against whichever term a study used, so walking up or down is often how you find the rest of it.

Inputs

DiseasediseasetextRequired
The disease or phenotype, as a name such as 'asthma' or an ontology id such as 'MONDO_0004979'. A name is looked up for you and the response says which disease it resolved to.

Outputs

childrenlist
Narrower terms directly below it
cross_referenceslist
The same disease in other vocabularies, e.g. ICD10 or MeSH
descriptiontext
What the disease is
idtext
Ontology id, e.g. 'MONDO_0004979'
is_therapeutic_areatrue/false
Whether this term is itself a therapeutic area
nametext
Name of the disease
parentslist
Broader terms directly above it
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
synonymslist
Other names it goes by
therapeutic_areaslist
Broad areas it sits under
Example output
{
  "children": [
    {
      "id": "HP_0012042",
      "name": "Aspirin-induced asthma"
    },
    {
      "id": "MONDO_0004766",
      "name": "status asthmaticus"
    }
  ],
  "cross_references": [
    "DOID:2841",
    "HP:0002099"
  ],
  "description": "A bronchial disease that is characterized by chronic inflammation and narrowing of the airways, which is caused by a combination of environmental and genetic factors resulting in recurring periods of wheezing (a whistling sound while breath...",
  "id": "MONDO_0004979",
  "is_therapeutic_area": false,
  "name": "asthma",
  "parents": [
    {
      "id": "HP_0010978",
      "name": "Abnormality of immune system physiology"
    },
    {
      "id": "MONDO_0001358",
      "name": "bronchial disorder"
    }
  ],
  "resolved": {
    "id": "MONDO_0004979",
    "matched_on": "name",
    "name": "asthma",
    "other_matches": [
      {
        "id": "MONDO_0005405",
        "name": "childhood onset asthma"
      },
      {
        "id": "MONDO_0004784",
        "name": "allergic asthma"
      }
    ]
  },
  "synonyms": [
    "bronchial hyperreactivity",
    "chronic obstructive asthma"
  ],
  "therapeutic_areas": [
    {
      "id": "EFO_0000651",
      "name": "phenotype"
    },
    {
      "id": "OTAR_0000010",
      "name": "respiratory or thoracic disease"
    }
  ]
}

Get a drug

Look up a drug or clinical candidate and get what it is, how far it has got, what it is sold as, how it works and what it acts on, plus any black box warnings and withdrawals on record. Accepts a drug name, so 'adalimumab' works as well as its ChEMBL id.

Inputs

DrugdrugtextRequired
The drug or clinical candidate, as a name such as 'adalimumab' or a ChEMBL id such as 'CHEMBL1201580'. A name is looked up for you and the response says which drug it resolved to.

Outputs

child_moleculeslist
Salts and formulations of this molecule
cross_referenceslist
The same drug in other databases
descriptiontext
One line on what it is and how far it has got
drug_typetext
e.g. 'Small molecule' or 'Antibody'
idtext
ChEMBL id
maximum_clinical_stagetext
Furthest stage reached across all indications
mechanisms_of_actionlist
How it works, and the targets it acts on
nametext
Name of the drug
parent_moleculeobject
The molecule this one is a form of, when it is one
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
synonymslist
Other names it goes by
trade_nameslist
Brands it is sold under
warningslist
Black box warnings and withdrawals
Example output
{
  "child_molecules": [],
  "cross_references": [
    {
      "references": [
        "human/EPAR/amgevita",
        "human/EPAR/amsparity"
      ],
      "source": "EMA"
    },
    {
      "references": [
        "adalimumab"
      ],
      "source": "DailyMed"
    }
  ],
  "description": "Antibody drug with a maximum clinical stage of Approval (across all indications), with 29 approved and 52 investigational indications.",
  "drug_type": "Antibody",
  "id": "CHEMBL1201580",
  "maximum_clinical_stage": "APPROVAL",
  "mechanisms_of_action": [
    {
      "action_type": "INHIBITOR",
      "mechanism": "TNF-alpha inhibitor",
      "target_name": "Tumor necrosis factor",
      "targets": [
        {
          "id": "ENSG00000232810",
          "symbol": "TNF"
        }
      ]
    }
  ],
  "name": "ADALIMUMAB",
  "parent_molecule": null,
  "resolved": {
    "id": "CHEMBL1201580",
    "matched_on": "name",
    "name": "ADALIMUMAB",
    "other_matches": [
      {
        "id": "CHEMBL1201581",
        "name": "INFLIXIMAB"
      },
      {
        "id": "CHEMBL1201572",
        "name": "ETANERCEPT"
      }
    ]
  },
  "synonyms": [
    "AVT-02",
    "Abp-501"
  ],
  "trade_names": [
    "Amgevita",
    "Amsparity"
  ],
  "warnings": [
    {
      "country": "United States",
      "description": null,
      "toxicity_class": "infectious disease",
      "type": "Black Box Warning",
      "year": null
    },
    {
      "country": "United States",
      "description": null,
      "toxicity_class": "carcinogenicity",
      "type": "Black Box Warning",
      "year": null
    }
  ]
}

Get a drug's reported side effects

List the side effects reported for a drug, from the FDA's adverse event database, most significant first. The log likelihood ratio says how much more often an effect is reported for this drug than for drugs in general, and anything above the critical value is the significant tail: each row is flagged so a workflow can act on that without doing the statistics itself.

Inputs

DrugdrugtextRequired
The drug or clinical candidate, as a name such as 'adalimumab' or a ChEMBL id such as 'CHEMBL1201580'. A name is looked up for you and the response says which drug it resolved to.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

adverse_eventslist
countnumber
How many rows came back
critical_valuenumber
The threshold above which an effect counts as significant
drugobject
The drug the list is for
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
totalnumber
How many distinct effects were reported
Example output
{
  "adverse_events": [
    {
      "event": "injection site pain",
      "log_likelihood_ratio": 33558.32542339875,
      "meddra_code": "",
      "reports": 36582,
      "significant": true
    },
    {
      "event": "rheumatoid arthritis",
      "log_likelihood_ratio": 31700.010178783443,
      "meddra_code": "",
      "reports": 26240,
      "significant": true
    }
  ],
  "count": 2,
  "critical_value": 6377.5031374997925,
  "drug": {
    "id": "CHEMBL1201580",
    "name": "ADALIMUMAB"
  },
  "resolved": {
    "id": "CHEMBL1201580",
    "matched_on": "name",
    "name": "ADALIMUMAB",
    "other_matches": [
      {
        "id": "CHEMBL1201581",
        "name": "INFLIXIMAB"
      },
      {
        "id": "CHEMBL1201572",
        "name": "ETANERCEPT"
      }
    ]
  },
  "total": 14
}

Get a study

Look up a GWAS or molecular QTL study: what it measured, how many people took part, how many were cases and controls, and the paper it came from. Study ids come from the search action or from the studies listed for a disease.

Inputs

Study idstudytextRequired
The study identifier, such as 'GCST004131' from the GWAS Catalog or 'FINNGEN_R12_ASTHMA' from FinnGen. Study ids have no single shape, so this one is taken literally rather than looked up: use 'Search Open Targets' narrowed to studies to find one.

Outputs

biosampleobject
For a QTL study, the tissue or cell type
casesnumber
How many had the condition
cohortslist
Cohorts the samples came from
controlsnumber
How many did not
diseaseslist
Diseases the trait was mapped onto
has_summary_statisticstrue/false
Whether full summary statistics are available
idtext
Study identifier
initial_sample_sizetext
The cohort as described by the study
project_idtext
Project the study belongs to
publicationobject
PubMed id, title, first author, date and journal
sample_sizenumber
How many people took part
study_typetext
'gwas', 'eqtl', 'pqtl' and so on
targetobject
For a QTL study, the gene whose expression was measured
traittext
What the study measured, in its own words
Example output
{
  "biosample": null,
  "cases": 25042,
  "cohorts": [],
  "controls": 34915,
  "diseases": [
    {
      "id": "MONDO_0005265",
      "name": "inflammatory bowel disease"
    }
  ],
  "has_summary_statistics": true,
  "id": "GCST004131",
  "initial_sample_size": "25,042 European and unknown ancestry cases, 34,915 European and unknown ancestry controls",
  "project_id": "GCST",
  "publication": {
    "date": "2017-01-09",
    "first_author": "de Lange KM",
    "journal": "Nat Genet",
    "pubmed_id": "28067908",
    "title": "Genome-wide association study implicates immune activation of multiple integrin genes in inflammatory bowel disease."
  },
  "sample_size": 59957,
  "study_type": "gwas",
  "target": null,
  "trait": "Inflammatory bowel disease"
}

Get a target

Look up a gene or protein and get back what it is, where it sits in the genome, which protein it makes, where in the cell it acts, which pathways it belongs to, whether it is essential, what safety concerns are on record, and how druggable it looks to a small molecule or an antibody. Accepts a gene symbol, so 'TP53' works as well as its Ensembl id.

Inputs

TargettargettextRequired
The gene or protein, as a symbol such as 'TP53' or an Ensembl gene id such as 'ENSG00000141510'. A symbol is looked up for you and the response says which target it resolved to.

Outputs

biotypetext
What kind of gene it is, e.g. 'protein_coding'
cancer_hallmarkslist
Cancer hallmarks it promotes or suppresses
descriptiontext
What the protein does
genetic_constraintlist
How intolerant of mutation the gene is in humans
genomic_locationobject
Chromosome, start, end and strand
idtext
Ensembl gene id
is_essentialtrue/false
Whether knocking it out kills a cell
nametext
Approved full name
pathwayslist
Reactome pathways it takes part in
protein_idslist
UniProt and other protein identifiers
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
safety_liabilitieslist
Known safety concerns on record
subcellular_locationslist
Where in the cell it is found
symboltext
Approved gene symbol, e.g. 'TP53'
synonymslist
Other names it goes by
target_classeslist
Protein family, e.g. 'Transcription factor'
target_enabling_packageobject
Target Enabling Package, when one exists
tractabilitylist
Which druggability buckets it falls into, by modality. Only the ones it meets are listed
Example output
{
  "biotype": "protein_coding",
  "cancer_hallmarks": [
    {
      "description": "induces differentiation of mouse embryonic stem cells by suppressing Nanog expression",
      "hallmark": "cell replicative immortality",
      "impact": "suppresses",
      "pubmed_id": 15619621
    },
    {
      "description": "inhibits angiogenesis through the upregulation of maspin expression",
      "hallmark": "angiogenesis",
      "impact": "suppresses",
      "pubmed_id": 10742136
    }
  ],
  "description": "Multifunctional transcription factor that induces cell cycle arrest, DNA repair or apoptosis upon binding to its target DNA sequence (PubMed:11025664, PubMed:12524540, PubMed:12810724, PubMed:15186775, PubMed:15340061, PubMed:17317671, PubM...",
  "genetic_constraint": [
    {
      "observed_over_expected": 0.8759499788284302,
      "score": 0.9583699703216553,
      "type": "syn"
    },
    {
      "observed_over_expected": 0.8636800050735474,
      "score": 1.1539000272750854,
      "type": "mis"
    }
  ],
  "genomic_location": {
    "chromosome": "17",
    "end": 7687546,
    "start": 7661779,
    "strand": -1
  },
  "id": "ENSG00000141510",
  "is_essential": false,
  "name": "tumor protein p53",
  "pathways": [
    {
      "id": "R-HSA-3232118",
      "name": "SUMOylation of transcription factors"
    },
    {
      "id": "R-HSA-2559586",
      "name": "DNA Damage/Telomere Stress Induced Senescence"
    }
  ],
  "protein_ids": [
    {
      "id": "P04637",
      "source": "uniprot_swissprot"
    },
    {
      "id": "A0A087WT22",
      "source": "uniprot_trembl"
    }
  ],
  "resolved": {
    "id": "ENSG00000141510",
    "matched_on": "name",
    "name": "TP53",
    "other_matches": [
      {
        "id": "ENSG00000172315",
        "name": "TP53RK"
      },
      {
        "id": "ENSG00000183632",
        "name": "TP53TG3"
      }
    ]
  },
  "safety_liabilities": [
    {
      "event": "drug toxicity",
      "event_id": "",
      "source": "ClinPGx"
    },
    {
      "event": "Tumorigenesis, Hepatocellular carcinoma",
      "event_id": "MONDO_0007256",
      "source": "AOP-Wiki"
    }
  ],
  "subcellular_locations": [
    "Cytoplasm",
    "Nucleus"
  ],
  "symbol": "TP53",
  "synonyms": [
    "Cellular tumor antigen p53",
    "TP53"
  ],
  "target_classes": [
    "Transcription factor"
  ],
  "target_enabling_package": null,
  "tractability": [
    {
      "assessment": "Advanced Clinical",
      "modality": "SM"
    },
    {
      "assessment": "Structure with Ligand",
      "modality": "SM"
    }
  ]
}

Get a variant

Look up a genetic variant and get where it sits, what it changes, how damaging the prediction tools think it is, and how common it is in each population. Accepts an rsID such as 'rs7412' as well as the chromosome_position_reference_alternate form the Platform files it under.

Inputs

VariantvarianttextRequired
The variant, either as chromosome_position_reference_alternate such as '19_44908822_C_T', or as an rsID such as 'rs7412', which is looked up for you.

Outputs

allele_frequencieslist
How common it is in each population
alternate_alleletext
The base this variant carries instead
chromosometext
Chromosome it sits on
descriptiontext
What the variant does, where known
hgvs_idtext
HGVS notation for the change
idtext
Variant id as the Platform files it
most_severe_consequenceobject
Worst predicted effect, e.g. 'missense_variant'
positionnumber
Position along the chromosome
predictionslist
What each prediction tool makes of it, e.g. SIFT or AlphaMissense
reference_alleletext
The base normally found there
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
rs_idslist
dbSNP rsIDs for the same variant
Example output
{
  "allele_frequencies": [
    {
      "frequency": 0.04164195744478971,
      "population": "sas_adj"
    },
    {
      "frequency": 0.07050511124473842,
      "population": "remaining_adj"
    }
  ],
  "alternate_allele": "T",
  "chromosome": "19",
  "description": "Missense variant overlapping with APOE, causing amino-acid change: R176C with moderate impact.",
  "hgvs_id": "19:g.44908822C>T",
  "id": "19_44908822_C_T",
  "most_severe_consequence": {
    "id": "SO:0001583",
    "name": "missense_variant"
  },
  "position": 44908822,
  "predictions": [
    {
      "assessment": "missense_variant",
      "flag": null,
      "method": "VEP",
      "normalised_score": 0.6800000071525574,
      "score": 0.6800000071525574
    },
    {
      "assessment": "deleterious",
      "flag": null,
      "method": "SIFT",
      "normalised_score": 1,
      "score": 0
    }
  ],
  "reference_allele": "C",
  "resolved": {
    "id": "19_44908822_C_T",
    "matched_on": "name",
    "name": "19_44908822_C_T",
    "other_matches": [
      {
        "id": "1_161338117_T_C",
        "name": "1_161338117_T_C"
      },
      {
        "id": "10_26984223_A_T",
        "name": "10_26984223_A_T"
      }
    ]
  },
  "rs_ids": [
    "rs7412"
  ]
}

Read the individual findings behind one target and disease link, rather than the score that summarises them. Each row names the database it came from, the kind of evidence it is, and the paper behind it where there is one. This is the action for showing your working, or for pulling the citations into a report.

Inputs

DiseasediseasetextRequired
The disease or phenotype, as a name such as 'asthma' or an ontology id such as 'MONDO_0004979'. A name is looked up for you and the response says which disease it resolved to.
TargettargettextRequired
The gene or protein, as a symbol such as 'BRCA1' or an Ensembl gene id. Required: evidence is a statement about a target and a disease together, so both halves are needed.
Only these databasesdatasourcestext
Limit the evidence to particular databases, for example 'europepmc' for text mining or 'eva' for ClinVar. Leave blank for all of them.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Next page cursorcursortext
Pass back the 'next_cursor' from a previous run to fetch the following batch. Leave blank to start from the beginning. This list is paged by cursor rather than by page number, and the cursor is absent on the last batch.

Outputs

countnumber
How many rows came back
diseaseobject
The disease half of the pair
evidencelist
next_cursortext
Pass back as 'cursor' for the next batch; absent on the last one
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
targetobject
The target half of the pair
totalnumber
How many pieces of evidence exist in total
Example output
{
  "count": 2,
  "disease": {
    "id": "MONDO_0007254",
    "name": "breast cancer"
  },
  "evidence": [
    {
      "datasource": "europepmc",
      "datatype": "literature",
      "disease": {
        "id": "MONDO_0007254",
        "name": "breast cancer"
      },
      "disease_from_source": null,
      "id": "00f1509ed2f3c5ee8af182865a380cc3080a26c4",
      "publication_year": 2015,
      "pubmed_ids": [
        "26643130"
      ],
      "score": 1,
      "target": {
        "id": "ENSG00000012048",
        "symbol": "BRCA1"
      }
    },
    {
      "datasource": "uniprot_variants",
      "datatype": "genetic_association",
      "disease": {
        "id": "MONDO_0007254",
        "name": "breast cancer"
      },
      "disease_from_source": "Breast cancer",
      "id": "02bca21bdfbffde85a1de9763c48034b95075187",
      "publication_year": null,
      "pubmed_ids": [
        "17924331",
        "23867111"
      ],
      "score": 1,
      "target": {
        "id": "ENSG00000012048",
        "symbol": "BRCA1"
      }
    }
  ],
  "next_cursor": "eyJpbmRleCI6MSwic2l6ZSI6Mn0=",
  "resolved": {
    "id": "MONDO_0007254",
    "matched_on": "name",
    "name": "breast cancer",
    "other_matches": [
      {
        "id": "MONDO_0004989",
        "name": "breast carcinoma"
      },
      {
        "id": "Orphanet_145",
        "name": "Hereditary breast and ovarian cancer syndrome"
      }
    ]
  },
  "target": {
    "id": "ENSG00000012048",
    "matched_on": "name",
    "name": "BRCA1",
    "other_matches": [
      {
        "id": "ENSG00000267595",
        "name": "BRCA1P1"
      },
      {
        "id": "ENSG00000136492",
        "name": "BRIP1"
      }
    ]
  },
  "total": 41001
}

Get what a drug is used for

List everything a drug is approved for or has been trialled against, with how far each one got. Use it to see the full label beyond the headline indication, to find where a molecule has already failed, or to look for repositioning room. Filter to approved alone for the on-market picture.

Inputs

DrugdrugtextRequired
The drug or clinical candidate, as a name such as 'adalimumab' or a ChEMBL id such as 'CHEMBL1201580'. A name is looked up for you and the response says which drug it resolved to.
Clinical stagesstagestext
Keep only the rows that reached these stages. Leave blank for all of them. Tick 'Approved' alone to see only what is on the market.One or more of: APPROVAL (Approved), PHASE_4 (Phase 4), PHASE_3 (Phase 3), PHASE_2 (Phase 2), PHASE_1_2 (Phase 1/2), PHASE_1 (Phase 1), EARLY_PHASE_1 (Early phase 1), PRECLINICAL, UNKNOWN.
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.

Outputs

countnumber
How many rows came back
drugobject
The drug the list is for
indicationslist
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
totalnumber
How many indications exist before filtering
Example output
{
  "count": 2,
  "drug": {
    "id": "CHEMBL1201580",
    "name": "ADALIMUMAB"
  },
  "indications": [
    {
      "disease": {
        "id": "MONDO_0006651",
        "name": "anterior uveitis"
      },
      "max_clinical_stage": "UNKNOWN",
      "therapeutic_areas": [
        {
          "id": "MONDO_0024458",
          "name": "disorder of visual system"
        },
        {
          "id": "EFO_0000651",
          "name": "phenotype"
        }
      ]
    },
    {
      "disease": {
        "id": "MONDO_0006918",
        "name": "posterior uveitis"
      },
      "max_clinical_stage": "PHASE_3",
      "therapeutic_areas": [
        {
          "id": "MONDO_0024458",
          "name": "disorder of visual system"
        },
        {
          "id": "EFO_0000651",
          "name": "phenotype"
        }
      ]
    }
  ],
  "resolved": {
    "id": "CHEMBL1201580",
    "matched_on": "name",
    "name": "ADALIMUMAB",
    "other_matches": [
      {
        "id": "CHEMBL1201581",
        "name": "INFLIXIMAB"
      },
      {
        "id": "CHEMBL1201572",
        "name": "ETANERCEPT"
      }
    ]
  },
  "total": 68
}

Get where a target is expressed

Read how strongly a gene is expressed across human tissues and cell types, from GTEx and single cell atlases. Use it to check a target is actually present where the disease is, and to see where else it is switched on, which is often where the side effects come from. Each row carries the median and the quartiles rather than one number.

Inputs

TargettargettextRequired
The gene or protein, as a symbol such as 'TP53' or an Ensembl gene id such as 'ENSG00000141510'. A symbol is looked up for you and the response says which target it resolved to.
How many to returnsizenumber
How many tissue rows to return, from 1 to 3000. Defaults to 50. A well studied gene has well over a thousand.From 1 to 3000. Default: 50.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

countnumber
How many rows came back
resolvedobject
What the name or id given was taken to mean, so a workflow can check the lookup rather than trusting it
targetobject
The target the list is for
tissueslist
totalnumber
How many tissue measurements exist in total
Example output
{
  "count": 2,
  "resolved": {
    "id": "ENSG00000141510",
    "matched_on": "name",
    "name": "TP53",
    "other_matches": [
      {
        "id": "ENSG00000172315",
        "name": "TP53RK"
      },
      {
        "id": "ENSG00000183632",
        "name": "TP53TG3"
      }
    ]
  },
  "target": {
    "id": "ENSG00000141510",
    "symbol": "TP53"
  },
  "tissues": [
    {
      "assay": "bulk rna-seq",
      "lower_quartile": 6.86882,
      "maximum": 39.3025,
      "median": 8.4579,
      "minimum": 2.25904,
      "source": "gtex",
      "tissue": "Pituitary",
      "tissue_id": "UBERON_0000007",
      "tissue_specificity": 0,
      "unit": "TPM",
      "upper_quartile": 10.5936
    },
    {
      "assay": "scrna-seq",
      "lower_quartile": 42.655113220214844,
      "maximum": 42.655113220214844,
      "median": 42.655113220214844,
      "minimum": 42.655113220214844,
      "source": "tabula_sapiens",
      "tissue": "endocrine pancreas",
      "tissue_id": "UBERON_0000016",
      "tissue_specificity": 0,
      "unit": "CPM(pseudobulk sum[counts])",
      "upper_quartile": 42.655113220214844
    }
  ],
  "total": 1409
}

Map names to identifiers

Turn a column of names into the identifiers the Platform uses. Hand it gene symbols, disease names or drug names out of a spreadsheet and get an id per row, with anything that matched nothing listed separately rather than quietly dropped. Where a name could mean several things the closest match wins and the rest are listed beside it.

Inputs

Names to maptermstextRequired
The names or identifiers to look up, up to 100 at a time. Accepts a list or a comma-separated string.
Only these kindsentity_typestext
Limit what the names are allowed to resolve to. Leave blank to let each name match whatever fits best.One or more of: target (Targets (genes and proteins)), disease (Diseases and phenotypes), drug (Drugs and clinical candidates), variant (Genetic variants), study (GWAS and QTL studies).

Outputs

countnumber
How many names resolved
mappingslist
unmatchedlist
Names that matched nothing at all
Example output
{
  "count": 2,
  "mappings": [
    {
      "id": "ENSG00000012048",
      "name": "BRCA1",
      "other_matches": [],
      "term": "BRCA1",
      "type": "target"
    },
    {
      "id": "CHEMBL1201580",
      "name": "ADALIMUMAB",
      "other_matches": [
        {
          "id": "CHEMBL1201581",
          "name": "INFLIXIMAB",
          "type": "drug"
        },
        {
          "id": "CHEMBL1201833",
          "name": "GOLIMUMAB",
          "type": "drug"
        }
      ],
      "term": "adalimumab",
      "type": "drug"
    }
  ],
  "unmatched": []
}

Search Open Targets

Search the whole Platform at once for a phrase and get back whatever matches: genes, diseases, drugs, variants and studies together, each with the identifier the other actions take. Use it as the first step when you have words rather than identifiers, or narrow it to one kind of thing to build a picker.

Inputs

Search forquerytextRequired
The words to search for. Matches names, symbols, synonyms and descriptions across the whole Platform.
Only these kindsentity_typestext
Limit the search to particular kinds of entity. Leave blank to search everything at once.One or more of: target (Targets (genes and proteins)), disease (Diseases and phenotypes), drug (Drugs and clinical candidates), variant (Genetic variants), study (GWAS and QTL studies).
How many to returnsizenumber
How many rows to return, from 1 to 3000. Defaults to 25.From 1 to 3000. Default: 25.
Pagepagenumber
Which page of results to return, counting from 0. Use it with 'How many to return' to walk through a long list.From 0 to 10000. Default: 0.

Outputs

countnumber
How many rows came back
querytext
What was searched for
resultslist
totalnumber
How many matches exist in total, not just on this page
Example output
{
  "count": 2,
  "query": "cystic fibrosis",
  "results": [
    {
      "categories": [
        "genetic, familial or congenital disease",
        "respiratory or thoracic disease"
      ],
      "description": "Autosomal recessive disorder caused by pathogenic variants in the CFTR gene (cystic fibrosis transmembrane conductance regulator), which encodes a chloride and bicarbonate channel expressed in epithelial cells, and follow the diagnosis crit...",
      "id": "MONDO_0009061",
      "name": "cystic fibrosis",
      "score": 5451.9863,
      "type": "disease"
    },
    {
      "categories": [
        "nutritional or metabolic disease",
        "phenotype"
      ],
      "description": "Cystic fibrosis-related diabetes is a form of diabetes that occurs frequently in individuals with cystic fibrosis. It has some characteristics in common with type 1 diabetes and type 2 diabetes but is distinct from both.",
      "id": "EFO_0801077",
      "name": "cystic fibrosis-related diabetes",
      "score": 942.66364,
      "type": "disease"
    }
  ],
  "total": 1042
}

On this page