Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • You access a resource by sending an HTTP request to the TCIA API server. The server replies with a response that either contains the data you requested, or a status indicator.
  • You can access the metadata of an API by appending /metadata to the end of the query. See examples. The metadata is in JSON format and conforms to this schema
  • Most APIs can return results as CSV/JSON/XML/HTML. You can specify the return format by including the query parameter format
  • Every request must contain an API-KEY. The key can be included in the url by adding an extra query parameter api_key or it can be included in the HTTP headers.
    You can obtain one API-KEY and use that for your application; you do not need a separate API-KEY for each user of your software..  To obtain an API-Key please send a request to help@cancerimagingarchive.net  or contact TCIA's help desk by phone at: +1 314-747-4254.
  • An API request takes the following structure:
    <BaseURL><Resource><QueryEndpoint>?<QueryParameters><Format> 
    For example, the API shown below is a request to get all studies in the TCGA-GBM collection for patient GBM-0123 as CSV
    https://services.cancerimagingarchive.net/services/v2/TCIA/query/getPatientStudy?Collection=TCGA-GBM&PatientID=GBM-0123&format=csv
    This can be broken down as follows: 

...

API Reference

The full API consists of a base URL followed by the api and the query parameters in that order. 

ResourceQueryEndpoint

Query Parameters

All query parameters are
optional unless stated otherwise
 

Format

Description
/TCIA 

 

  
 /query/getCollectionValuesNoneCSV/HTML/XML/JSONSet of all collection names
 /query/getModalityValuesCollection / BodyPartExaminedCSV/HTML/XML/JSONSet of all modality values (CT, MR, ...) filtered by query keys
 /query/getBodyPartValuesCollection / ModalityCSV/HTML/XML/JSONSet of all body part names filtered by query keys
 /query/getManufacturerValuesCollection / Modality /
BodyPartExamined
CSV/HTML/XML/JSONSet of all manufacturer names filtered by query keys
 /query/getPatientCollectionCSV/HTML/XML/JSONSet of patient objects filtered by query keys
 /query/getPatientStudyCollection / PatientID /
StudyInstanceUID
CSV/HTML/XML/JSONSet of patient/study objects filtered by query keys
 /query/getSeriesCollection / StudyInstanceUID /
PatientID / SeriesInstanceUID 
CSV/HTML/XML/JSONSet of series objects filtered by query keys
 /query/getSeriesSizeSeriesInstanceUID (R)CSV/HTML/XML/JSONSet of total byte size and object count filtered by query key
 /query/getImageSeriesInstanceUID (R)ZIPSet of images in a zip file
/SharedList    
 /query/ContentsByNamename (R)JSONGiven the name of a shared list return its contents.

API Metadata

The API now supports the ability to programmatically access the metadata about your API. This information is provided as a JSON document and includes:

Name of API
Free text description
List of Query Parameters
Supported Return Types
A description of the returned attributes: Name, DICOM Tag and Description

The returned metadata conforms to the following JSON schema

Example:
Let us say we wanted metadata for the getPatientStudy query from our earlier example. The query would look as follows:
https://services.cancerimagingarchive.net/services/v2/TCIA/query/getPatientStudy/metadata 

Or in other words, the query would have the following structure:
<BaseURL><Resource><QueryEndpoint>/metadata

(Warning) Don’t forget to include the api-key in either HTTP headers or the URL of the API.

Return Values

Click here to see more details on the return values.

...