cBioPortal Cancer Genomics Extractor avatar

cBioPortal Cancer Genomics Extractor

Pricing

from $0.35 / 1,000 genomics records

Go to Apify Store
cBioPortal Cancer Genomics Extractor

cBioPortal Cancer Genomics Extractor

Point at ANY cBioPortal instance (the MSKCC flagship, BCGSC, GENIE, institutional mirrors) and pull cancer-genomics metadata: studies, the OncoTree cancer-type taxonomy, molecular profiles, and genes. One actor, the whole cBioPortal REST API, every row lossless.

Pricing

from $0.35 / 1,000 genomics records

Rating

0.0

(0)

Developer

Datamule

Datamule

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Point at any cBioPortal instance and pull structured cancer-genomics metadata — studies, the OncoTree cancer-type taxonomy, molecular profiles, and genes — as clean, tabular JSON. One actor speaks to every cBioPortal deployment, because they all expose the identical Swagger-generated REST API.

cBioPortal is the open-source standard for exploring multidimensional cancer-genomics data. The public MSKCC flagship (www.cbioportal.org) hosts 500+ published studies; the BC Genome Sciences Centre mirror (cbioportal.bcgsc.ca), GENIE, and dozens of institutional deployments run the same API. This actor turns any of them into a dataset — no per-portal scraper, no HTML parsing, no host guessing.

What you can extract

Pick a mode:

ModeEndpointOne row per…
studies (default)/api/studiescancer study (id, cancer type, sample count, reference genome, PMID, import date)
cancerTypes/api/cancer-typesOncoTree cancer-type node (name, short name, parent, color)
study-detail/api/studies/{id}the full DETAILED record for one study — every per-datatype sample count
molecular-profiles/api/molecular-profilesmolecular profile — portal-wide, or for one study
genes/api/genesgene in the portal's gene table (Entrez ID + HUGO symbol)

Every row carries the mapped, human-friendly fields plus a lossless _raw object with the complete original API record, so nothing is ever dropped.

Example input

{
"servers": ["https://www.cbioportal.org", "https://cbioportal.bcgsc.ca"],
"mode": "studies",
"pageSize": 500,
"maxRecords": 1000
}

Full-study detail for one study:

{
"server": "https://www.cbioportal.org",
"mode": "study-detail",
"studyId": "brca_tcga_pan_can_atlas_2018"
}

Input reference

  • server / servers — one cBioPortal base URL, or a list to query several instances at once. Accepts a bare host, an https:// URL, a proxied path prefix, or a URL ending in /api (all normalised). At least one is required.
  • mode — what to extract (see the table above). Default studies.
  • studyId — required for study-detail; optional filter for molecular-profiles.
  • pageSize — records requested per API page (default 500).
  • maxRecords — global cap on rows emitted across all servers (each row is one billable event). Leave empty to emit everything.
  • userAgent, timeoutSecs, bearer, extraHeaders — optional request tuning and auth for gated deployments.

Behaviour & robustness

  • Instance-agnostic pagination. cBioPortal honours pageSize everywhere but its pageNumber handling varies by endpoint (the studies list ignores it; genes/cancer-types honour it). The actor paginates defensively — de-duplicates by natural key, stops on a short page, and escalates to a single large pull when a server ignores pageNumber — so the whole collection is captured on any instance.
  • Auth-gated instances are skipped, not fatal. GENIE / triage / pediatric deployments return 401/403; those servers are skipped with a warning and the batch continues. If every server is skipped, the run fails fast rather than emitting an empty dataset silently.
  • A reachable server with zero public studies is a real zero — never fabricated data.

Pricing

Pay-per-event: one event per record (row) emitted. Set maxRecords to bound the cost of a run.

Budget control: each row is billed as it is written (US$0.0005 per record on the FREE tier, lower on paid tiers). Set Max total charge on the run to cap spend: the Actor asks cBioPortal only for as many rows as the budget (and maxRecords) pays for, writes exactly those rows, then stops without contacting further servers. If the budget cannot pay for a single row, no request is sent at all. If billing fails, the run stops at once with an error and writes nothing further.

Notes

This actor reads public metadata from cBioPortal's documented REST API. It does not download raw genomic/sample-level patient data. Respect each instance's terms of use.