canonical: https://jentic.com/apis/opentargets.io/opentargets-main

# Open Targets Platform REST API

The Open Targets Platform REST API provides programmatic access to integrated genetic and clinical evidence linking targets to diseases for drug discovery research. Endpoints fall into public methods (stable, fully supported) for associations, evidence, and search; private methods used by the Open Targets web app for autocomplete, drug, disease, and target detail; and utils for service metrics and version info. Responses are JSON by default with optional xml, csv, and tab formats on some endpoints. The API is openly accessible and is the standard programmatic entry point for the Open Targets Platform's curated bioinformatics data.

## For AI agents

Query Open Targets target-disease associations, supporting evidence, drug records, and search across the integrated bioinformatics platform.

## Scope

Does not handle clinical trial registry data, raw sequence retrieval, or molecular structure files - use for Open Targets curated target-disease associations and evidence only.

## Capabilities

- Search for diseases or targets by free-text query via `/platform/public/search`
- Filter target-disease associations with `/platform/public/association/filter`
- Retrieve evidence supporting a target-disease association with `/platform/public/evidence`
- Fetch detailed information about a target by Ensembl ID via `/platform/private/target/{target}`
- Look up disease information by EFO ID via `/platform/private/disease/{disease}`
- Run target enrichment analysis with POST `/platform/private/enrichment/targets`
- Pull platform version, metrics, and therapeutic area lists from `/platform/public/utils`

## Use cases

### Target-Disease Association Mining

Drug discovery researchers can call `/platform/public/association/filter` to retrieve scored evidence linking a gene target to a disease, optionally filtered by data type (genetic_association, somatic_mutation, known_drug, etc.). Each result includes the overall score and per-data-type scores so downstream pipelines can rank candidate targets. POST is supported for queries with many filters.

Example prompt: POST `/platform/public/association/filter` with body {"target":["ENSG00000157764"],"datatype":["genetic_association"]} and rank the diseases by overall score

### Evidence Lookup for a Specific Pair

When a researcher needs the underlying evidence rows behind an association, `/platform/public/evidence/filter` accepts target and disease IDs and returns individual evidence strings with their source, score, and supporting publications. This is essential for literature review, regulatory submissions, and meta-analyses where the raw evidence is needed rather than the aggregated score.

Example prompt: POST `/platform/public/evidence/filter` with target=ENSG00000157764 and disease=EFO_0000253 and return the top 20 evidence rows

### Target Enrichment for Gene Lists

Bioinformaticians analyzing differentially expressed gene lists can post the gene IDs to `/platform/private/enrichment/targets` and receive disease enrichment results, ranking the diseases most associated with the input set. This is useful for hypothesis generation from RNA-seq, CRISPR screen, or proteomics outputs without writing custom enrichment code.

Example prompt: POST `/platform/private/enrichment/targets` with a list of 50 gene Ensembl IDs and return the top 10 enriched diseases

### AI Agent Drug Discovery Assistant

An AI agent supporting biomedical research can query Open Targets through Jentic to answer 'what diseases is gene X associated with' or 'what evidence connects target Y to disease Z' without the agent author writing the request URLs. Jentic resolves the natural-language intent to the right `/platform/public/search`, `/association/filter`, or `/evidence/filter` call and returns structured JSON.

Example prompt: Through Jentic, search 'find diseases associated with a gene', resolve to `/platform/public/association/filter`, and execute with target=ENSG00000157764

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/platform/public/search` | Search for a disease or target by free text |
| GET | `/platform/public/association/filter` | Filter target-disease associations |
| POST | `/platform/public/association/filter` | Batch query associations with a JSON body |
| GET | `/platform/public/evidence/filter` | Filter evidence rows for a target/disease |
| POST | `/platform/private/enrichment/targets` | Run target enrichment analysis |
| GET | `/platform/private/target/{target}` | Get detailed target information |
| GET | `/platform/private/disease/{disease}` | Get detailed disease information |
| GET | `/platform/public/utils/version` | Get the current API version |

## Key resources

- **Search** — Free-text search across diseases and targets.
- **Association** — Retrieve and filter target-disease association scores.
- **Evidence** — Fetch the underlying evidence rows behind an association.
- **Target** — Detailed target metadata and expression data (private endpoints).
- **Disease** — Disease information lookup by EFO ID (private endpoints).
- **Drug** — Drug record lookup by CHEMBL ID.
- **Utils** — Platform version, metrics, ping, and therapeutic-area listing.

## Why Jentic

- **Setup:** Wiring the Open Targets Platform REST API by hand means learning its public versus private endpoint split and threading the right filter parameters into each association or evidence query yourself. Through Jentic you install once, import the Open Targets Platform REST API from the API Directory, and your agent calls it with polite-use defaults already applied.
- **Permission scoping:** Open Targets is read-only research data with no credential, so scoping is by operation: you limit the agent to the operations it needs, such as target-disease association filtering or search, and leave the private enrichment endpoint out unless you want it. Every operation the agent can call is one you chose to allow.
- **Credential handling:** Open Targets needs no credential, so nothing secret is stored for this API. Jentic still routes each call through its audited execution path, and no key ever enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find target disease evidence' or 'search for a disease', and Jentic returns the matching Open Targets operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **EMBL-EBI APIs** — European Bioinformatics Institute APIs covering Ensembl genes, ChEMBL drugs, and other reference data referenced by Open Targets.
- **ClinicalTrials.gov API** — Look up active clinical trials for diseases or compounds surfaced by Open Targets evidence.
- **NCBI Datasets API** — NCBI Datasets exposes overlapping gene and disease metadata with a different scoring model.

## FAQ

### What authentication does the Open Targets Platform REST API use?

The Open Targets Platform REST API is openly accessible and does not require authentication. The spec defines no security schemes. Through Jentic the calls go out unauthenticated, with no key management needed.

### Can I batch query target-disease associations with the Open Targets Platform REST API?

Yes - POST `/platform/public/association/filter` accepts a JSON body with target or disease arrays so you can submit many IDs in one call. The same applies to `/platform/public/evidence/filter.`

### What are the rate limits for the Open Targets Platform REST API?

Open Targets does not document a fixed rate limit, but asks that integrations avoid abusive patterns. Heavy users are encouraged to download the platform data dumps. Status and metrics are available at `/platform/public/utils/metrics` and `/platform/public/utils/ping.`

### How do I look up evidence for a target and disease through Jentic?

Search Jentic for 'find evidence target disease', load the POST `/platform/public/evidence/filter` schema, and execute with the target Ensembl ID and disease EFO ID. Jentic returns the evidence rows directly.

### Are the private endpoints in the Open Targets Platform REST API stable?

Open Targets explicitly marks the `/platform/private`/* methods as web-app-driven and subject to change without notice. Use `/platform/public`/* for production integrations. The `/platform/swagger` endpoint returns the current schema if you need to verify a method's status.

### What ID formats does the Open Targets Platform REST API expect?

Targets use Ensembl gene IDs (ENSG...), diseases use EFO IDs (EFO_...), drugs use CHEMBL IDs (CHEMBL...), and evidence codes use ECO IDs. Free-text queries via `/platform/public/search` resolve names to these canonical IDs.

### Can I limit what my agent is allowed to do with the Open Targets Platform REST API?

Yes. Because you run Jentic One yourself, your own rules decide which Open Targets operations the agent may call, so you can allow only what it needs, such as free-text search and target-disease association filtering, while leaving out the private target enrichment endpoint. Open Targets is read-only research data with no credential, so scoping is purely by operation: every endpoint the agent can reach is one you explicitly permitted. This lets you keep an agent to public association and evidence queries and deny access to the web-app private methods.
