TCIA Collections Scraper
parseforge/tcia-collections-scraper
AutomationIntegrationsEducation
Scrapes public cancer imaging collection metadata from The Cancer Imaging Archive. Filters by cancer type and returns each collection's title, description, and archive URL as a flat row.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 85
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
TCIA Collections Scraper
Scrape public cancer imaging collections from The Cancer Imaging Archive. Filter by cancer type and return each collection with its title, description, and direct archive URL.
Medical imaging researchers need structured access to The Cancer Imaging Archive's collection catalog, but manual browsing is slow and the site provides no bulk export. This Actor reads the public TCIA collections listing, filters by cancer type, and returns every matching collection as a flat dataset row. You get a clean table of cancer imaging datasets without writing a single script.
| Who uses it | What they scrape TCIA Collections for |
|---|---|
| Medical imaging researchers | Build a catalog of available cancer imaging datasets for a literature review or meta-analysis |
| AI model developers | List all public lung cancer CT collections to select training data sources |
| Bioinformatics engineers | Automate the ingestion of new TCIA collection metadata into a data lake |
| Clinical data managers | Monitor TCIA for newly published collections in a specific cancer domain |
What it does
This Actor collects TCIA collection metadata by cancer type and returns each collection as a row with its title, description, and archive link.
- ๐ Fixed output record: each row contains the collection title, full description, and a direct URL to its archive page.
- ๐ฏ Cancer type filter: supply a cancer type string to retrieve only relevant collections, leaving empty for all.
- ๐งฎ Row limit control: set maxItems to cap the number of collections fetched per run, up to one million.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with TCIA Collections data
๐ฌ Curate organ-specific imaging datasets.
A medical imaging AI team filters TCIA collections for 'lung' to quickly identify every public non-small cell lung cancer CT dataset available for model training.
๐ Populate a systematic review.
A researcher pulls all TCIA collection descriptions mentioning 'breast' to accelerate a literature survey on public mammography and MRI resources.
๐ Automate collection monitoring.
A bioinformatics pipeline runs this Actor weekly with no cancer type filter, appending new TCIA collections to a catalog that downstream analysis tools consume.
๐ Build a TCIA collection dashboard.
A data manager exports the full collections list to Excel to create a searchable index of available cancer imaging datasets for their institution.
Why choose this scraper
| What you get | |
|---|---|
| No API key or login | Reads the public TCIA collection listing directly, no registration needed |
| Structured output | Flat CSV, JSON, Excel, or XML rows ready for analysis tools |
| Cancer type filter | Retrieve only lung, brain, breast, or other cancer imaging collections |
How it compares
No other Store actor targets TCIA Collections the same way, so the honest comparison is with the alternatives teams actually weigh.
| TCIA Collections Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When TCIA Collections changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with a cancer type filter and a maximum row count, applied as each collection is read so only matching cancer imaging datasets reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the TCIA Collections Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to TCIA Collections through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/tcia-collections-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Your cancerType filter string might not match any collection. Try broadening it (e.g., 'lung' instead of 'lung adenocarcinoma') or leave the filter empty to see all available collections.
The run is taking too long.
Reduce the maxItems value to limit the number of collections fetched. If you need all collections, consider that the current TCIA catalog is relatively small, and long runs may indicate a network issue.
I got an error or a timeout.
The TCIA website may be temporarily slow. Retry the run after a few minutes. If errors persist, check the Apify log for the specific HTTP status code.
The description field is cut off in my export.
Some collection descriptions are very long. Open the dataset in the Apify storage tab to confirm the full text was captured. Your export viewer (e.g., Excel) may truncate long cells.
Can I get more metadata fields?
This Actor returns the core catalog metadata visible on the TCIA listing page: title, description, and URL. Additional per-collection details require a separate page-level scraper.
FAQ
| Question | Answer |
|---|---|
| What data source does this Actor use? | It reads the public collection listing page on The Cancer Imaging Archive (TCIA) website directly. No API key or authentication is required. |
| Can I filter by specific cancer types? | Yes, use the cancerType input to provide a string like 'lung', 'brain', or 'breast'. The Actor returns only collections where that term appears in the title or description. |
| How many collections can I scrape in one run? | You set the limit with the maxItems field. The default is 10 and the maximum is 1,000,000 collections per run. |
| What output formats are supported? | You can export your results to CSV, JSON, Excel, or XML directly from the Apify dataset tab after the run finishes. |
| What fields appear in each output row? | Each row contains the collection title, a detailed text description, and the direct URL to the collection's page on the TCIA website. |
| Is this Actor affiliated with The Cancer Imaging Archive? | No, this is a third-party scraper created by ParseForge. It reads publicly available catalog pages and is not endorsed by TCIA. |
| Can I scrape all TCIA collections without a filter? | Yes, leave the cancerType field empty and set a high maxItems value to retrieve every collection currently listed on TCIA. |
| Does this Actor download the actual medical images? | No, it scrapes only the collection metadata. The actual DICOM images must be downloaded separately from the archive links provided in each row. |
| Why would I use a scraper instead of browsing TCIA manually? | A scraper gives you a structured, machine-readable dataset in seconds. You can filter, sort, and integrate the metadata directly into your research pipeline without copying and pasting. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by The Cancer Imaging Archive. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| cancerType | string | Filter by cancer type. | not set |
| maxItems | integer | Maximum number of collections to collect per run. | 10 |
Pricing
from $7.50 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.0075 to $0.0085 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~tcia-collections-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
