NCI GDC Cases Scraper avatar

NCI GDC Cases Scraper

Pricing

from $7.50 / 1,000 results

Go to Apify Store
NCI GDC Cases Scraper

NCI GDC Cases Scraper

Collects cancer case records from the NCI Genomic Data Commons API, filtered by project ID or primary site, and returns each case as a flat row with clinical identifiers, demographics, and biospecimen counts.

Pricing

from $7.50 / 1,000 results

Rating

0.0

(0)

Developer

Acquisition Automation Co.

Acquisition Automation Co.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Acquisition Automation Co. Search less. Close more.

๐Ÿงฌ NCI GDC Cases Scraper

Export cancer case records from the National Cancer Institute's Genomic Data Commons as flat rows: case ID, submitter ID, project, primary site, disease type, race, age at diagnosis and how many diagnoses the case carries. No API key, no registration, no login.

The GDC holds the case records behind TCGA, TARGET and the other NCI programs. The portal shows them as a faceted browser and the API answers in nested JSON, so counting cases by project or primary site means either clicking through facets or writing a client. This Actor queries the API, flattens each case to one row, and writes a dataset you can open in a spreadsheet.

Who uses itWhat they use the cases for
๐Ÿ”ฌ Cancer researchersPulling a cohort by project or primary site before requesting the underlying files
๐Ÿงช Bioinformatics teamsBuilding a case index to join against GDC file and mutation data
๐Ÿฅ Clinical trial feasibility analystsCounting how many cases a site or disease type has on record
๐Ÿ’ผ Biotech corporate developmentSizing the public evidence base behind an oncology asset or a target company's indication

๐Ÿ“‹ What it does

๐Ÿ’ก Why it matters: the first question about any cohort is how many cases there are and how they split. That answer is one run here, and a morning of facet clicking in the portal.

  • ๐ŸŽฏ Filter by project. projectId takes a GDC project ID such as TCGA-LUAD.
  • ๐Ÿซ Or by primary site. primarySite takes the site as the GDC writes it, for example Bronchus and lung.
  • ๐Ÿ†” Both identifiers on every row. The GDC case_id UUID and the program's own submitter_id, for example TCGA-44-3918, so rows join to anything else you hold.
  • ๐Ÿ“Š Disease type, race and age at diagnosis as the GDC publishes them, with no recoding.
  • ๐Ÿ”— A direct portal link per case, so any row can be opened and checked.
  • ๐Ÿ’พ Exports to CSV, Excel, JSON or XML, from the run page or the API.

๐Ÿ“Š Output

Every case is one flat row with 12 fields. null means the GDC publishes no value for that case.

FieldTypeDescription
๐Ÿ†” case_idstringGDC case UUID
๐Ÿ”– submitter_idstringThe submitting program's own case identifier, for example TCGA-44-3918
๐Ÿ“ project_idstringGDC project the case belongs to, for example TCGA-LUAD
๐Ÿซ primary_sitestringPrimary site as the GDC writes it, for example Bronchus and lung
๐Ÿงซ disease_typestringDisease type, for example Adenomas and Adenocarcinomas
๐Ÿšป genderstringDemographic gender where the GDC publishes it. null on every row in the runs checked
๐Ÿง‘ racestringRace as recorded, for example white
๐Ÿ“… ageAtDiagnosisintegerAge at diagnosis in days, the GDC's own unit. Divide by 365.25 for years
๐Ÿ”ข diagnosisCountintegerHow many diagnosis records the case carries
๐Ÿ”— urlstringDirect link to the case on the GDC portal
๐Ÿ•’ scrapedAtstringISO timestamp of collection
โš ๏ธ errorstringnull on a normal row

Example rows

{
"case_id": "6e3b6b72-142d-4b8d-a462-28a205796e41",
"submitter_id": "TCGA-44-3918",
"project_id": "TCGA-LUAD",
"primary_site": "Bronchus and lung",
"disease_type": "Adenomas and Adenocarcinomas",
"gender": null,
"race": "white",
"ageAtDiagnosis": 22236,
"diagnosisCount": 3,
"url": "https://portal.gdc.cancer.gov/cases/6e3b6b72-142d-4b8d-a462-28a205796e41",
"scrapedAt": "2026-09-14T17:23:10.118Z",
"error": null
}
{
"case_id": "0c0b610e-fe4c-406d-a5ed-5cc3b11dabf5",
"submitter_id": "TCGA-44-6146",
"project_id": "TCGA-LUAD",
"primary_site": "Bronchus and lung",
"disease_type": "Cystic, Mucinous and Serous Neoplasms",
"gender": null,
"race": "white",
"ageAtDiagnosis": 24009,
"diagnosisCount": 3,
"url": "https://portal.gdc.cancer.gov/cases/0c0b610e-fe4c-406d-a5ed-5cc3b11dabf5",
"scrapedAt": "2026-09-14T17:23:10.210Z",
"error": null
}

โœจ Why choose this Actor

What you get
The NCI's own recordRows come from the Genomic Data Commons API, not from a secondary database that mirrors it.
Flat instead of nestedThe API returns nested case objects. Here it is one row, 12 columns, ready for a pivot table.
No credentialsOpen GDC case metadata is public. No API key, no account, no data access request.
Both identifier systemsThe GDC UUID and the program submitter ID on the same row, so cohorts join cleanly.
You pay per rowNo subscription. A query that returns nothing costs nothing.

๐Ÿš€ How to use it

  1. Create a free Apify account. New accounts start with $5 of credit.
  2. Open the Actor and select Try for free.
  3. Set projectId, or primarySite, or leave both empty for a general pull.
  4. Set maxItems to cap the run.
  5. Select Start, then export from the Dataset tab as CSV, Excel, JSON or XML.

A first run:

{
"maxItems": 10
}

One project:

{
"projectId": "TCGA-LUAD",
"maxItems": 500
}

One primary site across projects:

{
"primarySite": "Bronchus and lung",
"maxItems": 1000
}

โš™๏ธ Input

FieldRequiredDescription
projectIdNoGDC project ID, for example TCGA-LUAD
primarySiteNoPrimary site as the GDC writes it, for example Bronchus and lung
maxItemsNoHow many cases to collect per run

๐Ÿ’ฐ Pricing

Pay per result. No subscription, and no Apify platform usage on top.

Apify planFreeBronzeSilverGoldPlatinumDiamond
Per case row$0.0085$0.00817$0.00783$0.0075$0.0075$0.0075
Rows collectedCost on the Free plan
100$0.85
1,000$8.50
10,000$85.00

Free plan runs return a preview. Any paid Apify plan lifts the ceiling for a full run.

๐Ÿ”Œ Integrate with any app

The dataset is available through the Apify API as soon as the run finishes. Use run-sync-get-dataset-items for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.

๐Ÿค– Use with an AI agent

Give an agent live access to the case index over the Model Context Protocol:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/nci-gdc-cases-scraper"

Then ask it in plain language how many cases a project holds and have it read the rows back.

โ“ Frequently asked questions

Does this return genomic files, mutations or biospecimen records? No. It returns the case-level record: identifiers, project, primary site, disease type, the demographic fields above, age at diagnosis and a diagnosis count. Files, mutations and sample records are separate GDC endpoints that this Actor does not query.

Why is ageAtDiagnosis a five-digit number? The GDC publishes age at diagnosis in days. 22236 is roughly 60.9 years. Divide by 365.25 after export if you want years.

Why is gender empty? It came back null on every row in the runs checked. The field is present in the row shape, but the demographic block does not always carry it for a case.

Is any of this controlled-access data? No. These are open case metadata records, the same ones the GDC portal shows without a login. Controlled-access genomic files require dbGaP authorisation and are not reachable here.

What project IDs can I use? Any GDC project ID, written the way the portal writes it, for example TCGA-LUAD or TARGET-AML. If a filter returns nothing, check the spelling against the portal.

What can I export? CSV, Excel, JSON and XML from the run page, or JSON straight from the API.

๐Ÿ”— More from Acquisition Automation Co.

About Acquisition Automation Co.

We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.

We add new Actors regularly. If there is a source you need and do not see here, tell us.

๐Ÿ†˜ Support

Open an issue in the Issues tab of this Actor with your run ID, the input you used, and what you expected to get back.

โš ๏ธ Disclaimer

This Actor is independent and is not affiliated with, endorsed by, or sponsored by the National Cancer Institute, the National Institutes of Health or any government agency. It collects only publicly available data. You are responsible for using that data in compliance with the source's terms of service and applicable law. Nothing here is medical advice.