Open Targets Platform Scraper
Pricing
from $3.00 / 1,000 open targets record returneds
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
20 hours ago
Last modified
Categories
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:
| Field | Meaning |
|---|---|
queryMode, entityType | The requested mode and returned entity category. |
entityId, name, description | Stable identifier and human-readable identity fields. |
score, categories | Search relevance fields; detail modes use null and []. |
query, sourceUrl | Input and traceable Open Targets provenance. |
data | Concise mode-specific annotations, not the unbounded raw GraphQL response. |
scrapedAt, warnings | UTC 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:
| Event | Price |
|---|---|
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 installnpm testnpm 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.