Open Targets Platform Scraper avatar

Open Targets Platform Scraper

Pricing

from $2.40 / 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 $2.40 / 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

12 days ago

Last modified

Share

Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.

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

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
result-extracted$0.003Open Targets record returned — One chargeable event for each validated Open Targets record written to the dataset.
apify-actor-start$0.00005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.

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.