Open Targets Platform Scraper avatar

Open Targets Platform Scraper

Pricing

from $3.00 / 1,000 open targets record returneds

Go to Apify Store
Open Targets Platform Scraper

Open Targets Platform Scraper

Search Open Targets for targets, diseases, drugs, variants, studies, credible sets, and API metadata through its public GraphQL API.

Pricing

from $3.00 / 1,000 open targets record returneds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

20 hours ago

Last modified

Share

Search the Open Targets Platform or fetch concise annotations for a single target, disease/phenotype, drug, variant, GWAS study, credible set, or the live API metadata. The actor uses the public Open Targets GraphQL endpoint, so it does not require cookies, an API key, or a browser session.

Deployment status

The Actor is deployed privately on Apify as muhammadafzal/open-targets-platform-scraper (Actor ID nYgkNd8nC6MuGWTZG), with build 1.0.3 tagged latest. It has been cloud-validated across 21 diverse runs and intentionally remains unpublished.

What it returns

Every dataset item has the same outer shape, which makes the actor suitable for pipelines and AI agents:

FieldMeaning
queryMode, entityTypeThe requested mode and returned entity category.
entityId, name, descriptionStable identifier and human-readable identity fields.
score, categoriesSearch relevance fields; detail modes use null and [].
query, sourceUrlInput and traceable Open Targets provenance.
dataConcise mode-specific annotations, not the unbounded raw GraphQL response.
scrapedAt, warningsUTC collection time and record-level diagnostics.

Target records include approved symbol/name, biotype, target classes, tractability, genetic constraint, and genomic coordinates. Disease records include therapeutic-area status, direct location IDs, and ancestors. Drug records include clinical stage, type, trade names, and synonyms. Variant, study, and credible-set modes return stable identifier and annotation fields from their current GraphQL types.

When to use it

Use search to find identifiers from natural-language terms such as cancer, asthma, or BRCA1. Use a detail mode when you already have an identifier and need annotations. Use metadata to record the current API/data release before a reproducible analysis.

This actor is not a bulk data-download replacement. Open Targets recommends data downloads or BigQuery for systematic, multi-million-row analyses; this actor is bounded to 100 search records per run and one detail record per detail request.

Input examples

Search the current entity index:

{
"queryMode": "search",
"query": "cancer",
"entityTypes": ["target", "disease", "drug"],
"pageSize": 25,
"maxResults": 25
}

Fetch a target annotation:

{
"queryMode": "target",
"query": "ENSG00000169083"
}

Fetch a drug annotation:

{
"queryMode": "drug",
"query": "CHEMBL1201580"
}

For disease, pass an Open Targets disease/phenotype identifier such as an EFO or MONDO ID. For variant, pass the identifier accepted by the current Platform API. For study, pass a study ID such as GCST90002359. For credibleSet, pass its studyLocusId. Detail identifiers are not silently searched or converted: an unmatched identifier produces an empty result with a warning.

Example output

{
"queryMode": "search",
"entityType": "disease",
"entityId": "MONDO_0004992",
"name": "cancer",
"description": "A tumor composed of atypical neoplastic cells...",
"score": 5508.947,
"categories": ["cancer or benign tumor"],
"query": "cancer",
"sourceUrl": "https://platform.opentargets.org/search?q=cancer",
"data": {
"entity": "disease",
"highlights": ["<em>cancer</em>"]
},
"scrapedAt": "2026-08-01T00:00:00.000Z",
"warnings": []
}

The named key-value record OUTPUT contains recordsCollected, chargedResults, API request count, search totals, warnings, source URL, and API version when available. Valid empty searches and unmatched detail identifiers finish with a warning rather than fabricated dataset rows. Invalid GraphQL requests or upstream failures are reported as failed runs with an actionable message.

Pricing

The intended pay-per-event configuration is:

EventPrice
apify-actor-start$0.00005 once per run
result-extracted$0.003 per validated dataset record

The actor prints the maximum result-event cost before the request. A run with maxResults: 25 can charge at most $0.075 in result events, plus the one-time start event and normal Apify platform usage. The runtime charges only after a validated record is successfully written. Set ACTOR_CHARGE_RESULTS=false only for local smoke tests; deployed PPE runs should leave charging enabled.

Data access and limitations

The access path is the public GraphQL API at https://api.platform.opentargets.org/api/v4/graphql. The actor retries transient HTTP failures up to two times, bounds the request timeout, and does not use a proxy because the endpoint is a first-party public API. API fields and data releases can change; use metadata mode and preserve OUTPUT.apiVersion for reproducibility.

Open Targets documents the GraphQL API at platform-docs.opentargets.org/data-access/graphql-api, recommends downloads or BigQuery for systematic queries, and marks its data as CC0 in its licence documentation. You remain responsible for validating scientific, clinical, and commercial decisions against the source and applicable policies. This independent actor is not affiliated with or endorsed by Open Targets.

API and MCP use

Run the actor through the standard Apify Actor API and fetch the default dataset. Through Apify MCP, route natural-language entity discovery to queryMode: search, then use a returned entityId with the appropriate detail mode. The tool returns one stable record per entity and exposes the result-event cost in the run summary.

Local development

npm install
npm test
npm run validate:schema

For a local request smoke test without PPE charging, set ACTOR_CHARGE_RESULTS=false and provide an Apify local input using the Apify CLI or runtime. No Open Targets credentials are needed.