Versions Compared

Key

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

...

In July and August 2023, the following APIs were added to this guide.

Purpose of this Guide

The National Biomedical Imaging Archive (NBIA) REST APIs allow you to access the search and download functions used in the TCIA radiology portal

...

{"maxTimepoints":{"DIAGNOSIS":-1},"minTimepoints":{"DIAGNOSIS":-32871}}
Table of Content Zone
maxLevel2
locationtop

Body Part Values and Counts API

The Body Part Values and Counts API returns the modality values and body part count for the modality. It optionally takes the following parameters.

  • Collection
  • Modality

Example Body Part Values and Counts Query

Code Block
titleSample Call
curl -H "Authorization:Bearer c428d42c-9eed-4f5d-8007-416d46be9b52" -k "https://services.cancerimagingarchive.net/nbia-api/services/getBodyPartValuesAndCounts?Modality=PT"

Sample Results

The API returns the body parts and their counts.

Code Block
titleSample Return Value
[
{"criteria":"ABDOMEN","count":"13"},
{"criteria":"CHEST","count":"298"},
{"criteria":"Chest","count":"1"},
{"criteria":"HEADNECK","count":"1"},{
"criteria":"Lung","count":"76"},
{"criteria":"THORAX_1_ROUTINE","count":"1"}
]

Collection Descriptions

This API takes a collection name and returns the collection's description.

The API takes one parameter:

  • collectionName (optional)

Example GetCollectionDescriptions Query

Code Block
titleSample Call
curl -H "Authorization:Bearer ACCESS_TOKEN" -k "https://services.cancerimagingarchive.net/nbia-api/services/getCollectionDescriptions?collectionName=Anti-PD-1_Lung"

If successful, the API returns the collection description.

Code Block
titleSample Return Value
[{"description":"<p>\n\t<span class=\"conf-macro output-inline\" data-hasbody=\"true\" data-macro-name=\"excerpt\">This collection includes 46 lung cases treated with <span style=\"color: rgb(23,43,77);\">anti-PD1 immunotherapy</span> in 2016, each with pre-treatment imaging (CT,PT,SC) and most with 1 imaging follow-up timepoint.</span></p>\n<p>\n\t<span _ngcontent-cmj-c43=\"\" class=\"toolTip step show\" style=\"top: 1196.5px;\"><span _ngcontent-cmj-c43=\"\">Please see the <a href=\"https://doi.org/10.7937/tcia.2019.zjjwb9ip\">Anti-PD-1_Lung</a> wiki page to learn more about the images and to obtain any supporting metadata for this collection.</span></span></p>\n","id":700088325,"collectionDescTimestamp":null,"collectionName":"Anti-PD-1_Lung","userName":null,"licenseId":null,"descriptionURI":null}]

Collection

or Series for DOI

Values and Counts API

The Collection or Series for DOI Values and Counts API returns the collections and the subject count for the collection and/or series with the Digital Object Identifier (DOI). 

Example Collection

or Series for DOI

Values And Counts Query

Code Block
titleSample Call
curl -H "Authorization:Bearer eec67b9c8159f96d-44fcd2fc-4fd84af9-809daa83-dea1b228c8b99a29876ef758" -k "https“https://imaging-qacmservices.ncicancerimagingarchive.nih.govnet/nbia-api/services/getCollectionOrSeriesForDOIgetCollectionValuesAndCounts" -d "DOI=https://doifor-criteriaType0=CollectionCriteria&value0=CBIS-DDSM&CollectionOrSeries=collection"

 The API returns the collections with their counts.

Code Block
titleSample Return ValueResponse
[\
{"collectioncriteria":"CBIS-DDSMIDRI","seriesInstanceUIDcount":null,"thirdPartyAnanlysis":null}]

Collection Site

The API returns all collections/sites in TCIA in JSON format.

The API does not take any parameters.

Example GetCollectionSite Query

Code Block
titleSample Call
curl -H "Authorization:Bearer ACCESS_TOKEN" -k "https://services.cancerimagingarchive.net/nbia-api/services/getCollectionSite"

Collection Values and Counts API

The Collection Values and Counts API returns the collections and the subject count for the collection.

Example Collection Values And Counts
"614"},
{"criteria":"IDRICONDUIT","count":"66"},
{"criteria":"LIDC","count":"397"},
{"criteria":"RIDER Pilot","count":"130"},
{"criteria":"SportInjury","count":"1"}
]

Create Saved Cart API

The Create Saved Cart API allows the creation of a saved cart.

The API takes four arguments:

  • list - A repeatable parameter for each series you wish to have in the saved cart
  • name- Name for the saved cart (note that names of saved carts must be unique)
  • description - Description of the saved cart
  • url - URL of the saved cart

Example Create Saved Cart Query

Code Block
titleSample Call
curl -H "Authorization:Bearer 8159f96d5e3d3b2a-d2fc2533-4af94257-aa83ba76-9a29876ef758aa498ab8d269" -k “https"https://services.cancerimagingarchive.net/nbia-api/services/getCollectionValuesAndCountscreateSharedList" -d "criteriaType0=CollectionCriteria&value0=CBIS-DDSM"

 The API returns the collections with their counts.

list=88.8.133841977708353813381069288155921822331&list=88.8.326983478845196402838719404831299211067&name=scottslist&description=mydescription&url=testurl"

DICOM Metadata by Series UID API 

The DICOM Metadata by Series UID API provides the functionality in the portal where the DICOM data is retrieved from a series.

The API takes one argument:

  • SeriesUID

The SeriesUID is available from the Drill Down API call.

Example Metadata Query 

Code Block
titleSample ResponseCall
C:\curl>curl -H "Authorization:Bearer 25bbea7c-4b8d-4f64-9d95-6ad62313c7d6" -k "https://services.cancerimagingarchive.net/nbia-api/services/getDicomTags?SeriesUID=9999.266036705757333804188405684898037929022

The API sends back triples of all DICOM element, name, data in the file.

Code Block
titleSample Response
[
{"element":"(0002,0001)","name":"File Meta Information Version","data":"00\\01[
{"criteria":"IDRI","count":"614"},
{"criteria":"IDRICONDUIT","count":"66"},
{"criteria":"LIDC","count":"397"},
{"criteriaelement":"RIDER Pilot","count":"130"},
{"criteria":"SportInjury","count":"1"}
]

Create Saved Cart API

The Create Saved Cart API allows the creation of a saved cart.

The API takes four arguments:

  • list - A repeatable parameter for each series you wish to have in the saved cart
  • name- Name for the saved cart (note that names of saved carts must be unique)
  • description - Description of the saved cart
  • url - URL of the saved cart
Example Create Saved Cart
(0002,0002)","name":"Media Storage SOP Class UID","data":"1.2.840.10008.5.1.4.1.1.2"}
...................................

DICOM Tags By Image ID API

The DICOM Tag By Image ID API returns the DICOM tags and values associated with the image.

  • imageID

The values used in this API can be derived by using the results of the imagePkId in the Drill Down to Images API.

Example DICOM Tags By Image ID Query

Code Block
titleSample Call
curlC:\curl>curl -H "Authorization:Bearer 5e3d3b2ad9d01317-253334c3-425740ac-ba7692dc-aa498ab8d2699a1287a159e4" -k "https://services.cancerimagingarchive.net/nbia-api/services/createSharedList" -d "list=88.8.133841977708353813381069288155921822331&list=88.8.326983478845196402838719404831299211067&name=scottslist&description=mydescription&url=testurl"

DICOM Metadata by Series UID API 

The DICOM Metadata by Series UID API provides the functionality in the portal where the DICOM data is retrieved from a series.

The API takes one argument:

  • SeriesUID

The SeriesUID is available from the Drill Down API call.

Example Metadata Query 

Code Block
titleSample Call
C:\curl>curl -H "Authorization:Bearer 25bbea7c-4b8d-4f64-9d95-6ad62313c7d6" -k "https://services.cancerimagingarchive.net/nbia-api/services/getDicomTags?SeriesUID=9999.266036705757333804188405684898037929022

The API sends back triples of all DICOM element, name, data in the file.

getDicomTagsByImageID?imageID=4587520"

The API returns the tags and values.

Code Block
titleSample Response
[
Code Block
titleSample Response
[
{"element":"(0002,0001)","name":"File Meta Information Version","data":"00\\
01"},
{"element":"(0002,0002)","name":"Media Storage SOP Class UID","data":"1.2.840.10008.5.1.4.1.1.2128"}
...................................

DICOM Tags By Image ID API

The DICOM Tag By Image ID API returns the DICOM tags and values associated with the image.

  • imageID

The values used in this API can be derived by using the results of the imagePkId in the Drill Down to Images API.

Example DICOM Tags By Image ID Query
,
{"element":"(0002,0003)","name":"Media Storage SOP Instance UID","data":"88.8.263250895051952442807371950278727814872"},
{"element":"(0002,0010)...

Drill Down API

The Drill Down API provides the functionality in the search client where the user drills down the studies and series associated with a given patient.

The API takes a list of series to query, using the parameter "list," that repeats for each series you want to retrieve. During the workflow these values come from the series identifiers in the Extended Simple Search with Modality and Body Part Paged Query.

Example Drill Down Query 

Code Block
titleSample Call
C:\curl>curlcurl -H "Authorization:Bearer d9d01317946bddb4-34c3d076-40ac4fb1-92dc8dff-9a1287a159e481fb64d6f921" -k "https://services.cancerimagingarchive.net/nbia-api/services/getDicomTagsByImageID?imageID=4587520getStudyDrillDown" -d "list=1376256&list=262144"

The Drill Down API returns the tags and valuesJSON with the information to populate the drill down to study screen. There can be multiple studies.

Code Block
titleSample Response
[ {"elementstudyId" :"(0002,0001)","name":"File Meta Information Version","data":"00
01"},
{"element":"(0002,0002)","name":"Media Storage SOP Class UID","data":"1.2.840.10008.5.1.4.1.1.128"},
{"element":"(0002,0003)","name":"Media Storage SOP Instance UID","data":"88.8.263250895051952442807371950278727814872"},
{"element":"(0002,0010)...

Drill Down API

The Drill Down API provides the functionality in the search client where the user drills down the studies and series associated with a given patient.

The API takes a list of series to query, using the parameter "list," that repeats for each series you want to retrieve. During the workflow these values come from the series identifiers in the Extended Simple Search with Modality and Body Part Paged Query.

Example Drill Down Query 

Code Block
titleSample Call
curl -H "Authorization:Bearer 946bddb4-d076-4fb1-8dff-81fb64d6f921" -k "https://services.cancerimagingarchive.net/nbia-api/services/getStudyDrillDown" -d "list=1376256&list=262144"

The Drill Down API returns JSON with the information to populate the drill down to study screen. There can be multiple studies.

Code Block
titleSample Response
[ {"studyId" : "88.8.40100432719994870453539459050137164864",
  "date" : 671515200000,
  "description" : "CT CHEST W/O CONTRAST",
  "id" : 1310720,
  "seriesList" : [ {
    "seriesNumber" : "3",
    "seriesUID" : "88.8.326983478845196402838719404831299211067",
   "88.8.40100432719994870453539459050137164864",
  "date" : 671515200000,
  "description" : "CT CHEST W/O CONTRAST",
  "id" : 1310720,
  "seriesList" : [ {
    "seriesNumber" : "3",
    "seriesUID" : "88.8.326983478845196402838719404831299211067",
    "numberImages" : 9,
    "modality" : "CT",
    "manufacturer" : null,
    "annotationsFlag" : false,
    "annotationsSize" : 0,
    "patientId" : "Project-3076386612",
    "patientPkId" : "1277952",
    "studyId" : "88.8.40100432719994870453539459050137164864",
    "studyPkId" : 1310720,
    "totalSizeForAllImagesInSeries" : 4739336,
    "project" : "Project",
    "description" : "LUNG",
    "dataProvenanceSiteName" : null,
    "manufacturerModelName" : null,
    "softwareVersion" : null,
    "maxFrameCount" : "0",
    "seriesId" : "88.8.326983478845196402838719404831299211067",
    "seriesPkId" : 1376256,
    "exactSize" : 4739336  } ]} ]

Drill Down Using Series UIDs API

The Drill Down Using Series UIDs API provides the functionality in the portal where the user drills down the studies and series associated with a set of IDs.  In this case, the API takes Series Instance UIDs so the users can access this information outside of the Search Client workflow using any Series Instance UIDs that they are interested in.

The API simply takes a list of Series UIDs to query, using the parameter "list," that repeats for each Series UID you want to retrieve.

Example Drill Down Using Series UIDs Query 

Code Block
titleSample Call
curl -H "Authorization:Bearer 5e3e2193-55dc-43b5-b11a-70fee2ccf50f" -k "https://services.cancerimagingarchive.net/nbia-api/services/getStudyDrillDownWithSeriesIds" -d "list=88.8.327219764444138790630242591550292040652&list=88.8.48940758713094405889891485363115655700"

The Drill Down Using Series UIDs API returns JSON with the information to populate the drill down to study screen. You can retrieve multiple studies.

Code Block
titleSample Response
[ {"studyId" : "88.8.40100432719994870453539459050137164864",
  "date" : 671515200000,
  "description" : "CT CHEST W/O CONTRAST",
  "id" : 1310720,
  "seriesList" : [ {
    "seriesNumber" : "3",
    "seriesUID" : "88.8.326983478845196402838719404831299211067",
    "numberImages" : 9,
    "modality" : "CT",
    "manufacturer" : null,
    "annotationsFlag" : false,
    "annotationsSize" : 0,
    "patientId" : "Project-3076386612",
    "patientPkId" : "1277952",
    "studyId" : "88.8.40100432719994870453539459050137164864",
    "studyPkId" : 1310720,
    "totalSizeForAllImagesInSeries" : 4739336,
    "project" : "Project",
    "description" : "LUNG",
    "dataProvenanceSiteName" : null,
    "manufacturerModelName" : null,
    "softwareVersion" : null,
    "maxFrameCount" : "0",
    "seriesId" : "88.8.326983478845196402838719404831299211067",
    "seriesPkId" : 1376256,
    "exactSize" : 4739336  } ]} ]

Drill Down to Images API

The Drill Down to Images API allows the developer to drill down to the images in a series and have the information available to create a WADO call that can retrieve the images themselves. This API is used to create the Thumbnails screen in the portal.

The API takes a list of series to query, using the parameter "list," that repeats for each series for which you want to retrieve images.

Example Drill Down to Images Query 

Code Block
titleSample Call
curl -H "Authorization:Bearer 946bddb4-d076-4fb1-8dff-81fb64d6f921" -k "https://services.cancerimagingarchive.net/nbia-api/services/getImageDrillDown" -d "list=1376256&list=262144"

 The API returns the information needed to populate the Thumbnails screen.

Code Block
titleSample Response
[ {  "imagePkId" : 1409028,
  "contentDate" : null,
  "contentTime" : null,
  "seriesPkId" : 1376256,
  "instanceNumber" : 73,
  "sopInstanceUid" : "88.8.73811183841243046367164226375699603900",
  "seriesInstanceUid" : "88.8.326983478845196402838719404831299211067",
  "studyInstanceUid" : "88.8.40100432719994870453539459050137164864",
  "size" : 526592,
  "fileURI" : "C:\\projects\\NBIA\\nbia-install_6.3\\CTP-server\\CTP\\storage\\0000000000\\000\\000\\006.dcm",
  "project" : null,
  "siteName" : null,
  "frameNum" : 0
}, {
  "imagePkId" : 1409024,
  "contentDate" : null,
  "contentTime" : null,
  "seriesPkId" : 1376256,
  "instanceNumber" : 85,
8<------------------------------------------------------------------------------->8

The information needed to create a WADO call is the following snippet from this code:

Code Block
titleInformation Needed for a WADO Call
  "sopInstanceUid" : "88.8.73811183841243046367164226375699603900",
  "seriesInstanceUid" : "88.8.326983478845196402838719404831299211067",
  "studyInstanceUid" : "88.8.40100432719994870453539459050137164864",

Extended Simple Search with Modality and Body Part Paged API

The Extended Simple Search with Modality and Body Part Paged API is used to run queries for the Simple Search GUI in the NBIA client. This API uses a variety of criteria as seen in the NBIA client, as well as the pages of data the client requests. The available criteria types and their components follow. Since the simple search can take an unlimited number of criteria each of the criteria items is appended with a number signifying its order in the query, starting with 0.

  • CollectionCriteria
    • value
  • ImageModalityCriteria
    • value
  • AnatomicalSiteCriteria
    • value
  • ManufacturerCriteria
    • value
  • DateRangeCriteria
    • fromDate - Formatted "dd/mm/yyyy"
    • toDate - Formatted "dd/mm/yyyy"
  • PatientCriteria
    • value
  • MinNumberOfStudiesCriteria
    • value
  • SpeciesCriteria
    • The code for the species
  • PhantomCriteria
    • yes for phantoms
  • TimePointCriteria
    • eventType the eventType for the timepoint
    • fromDate - Formatted "dd/mm/yyyy"
    • toDate - Formatted "dd/mm/yyyy"
  • SortField
    • The field to sort on
  • SortDirection
    • ascending or descending
  • Start
    • The page to start on
  • Size 
    • How many items per page

Example Extended Simple Search with Modality and Body Part Paged Query

Code Block
titleSample Call
curl -H "Authorization:Bearer d2310d88-cefe-491f-82a2-df66d6c087c4" -k "https://services.cancerimagingarchive.net/nbia-api/services/getSimpleSearchWithModalityAndBodyPartPaged" -d "criteriaType0=TimePointCriteria&eventType0=DIAGNOSIS&fromDay0=-5&toDay0=10&sortField=subject&sortDirection=descending&start=0&size=9"

The API returns the results of the search.

Code Block
titleSample Response
{
   "resultSet":[
      {
         "subjectId":"Test-5910936489",
         "project":"Test",
         "id":819200,
         "modalities":[
            "CT"
         ],
         "bodyParts":[
            "LUNG"
         ],
         "species":[
            "L-877FC"
         ],
         "timepoints":{
            "DIAGNOSIS":[
               1,
               3
            ]
         },
         "totalNumberOfStudies":28,
         "totalNumberOfSeries":61,
         "studyIdentifiers":[
            {
               "seriesIdentifiers":[
                  917526,
                  917527,
                  917528
               ],
               "seriesAndModality":[
                  
               ],
               "studyIdentifier":851979
            },
            {
               "seriesIdentifiers":[
                  917529,
                  917530
               ],
               "seriesAndModality":[
                  
               ],
               "studyIdentifier":851980
            },
            {
               "seriesIdentifiers":[
                  917531,
                  917532
               ],
               "seriesAndModality":[
                  
               ],
               "studyIdentifier":851981
            }
         ]
      }
   ],
   "totalPatients":1,
   "bodyParts":[
      {
         "value":"LUNG",
         "count":1
      }
   ],
   "modalities":[
      {
         "value":"CT",
         "count":1
      }
   ],
   "collections":[
      {
         "value":"Test",
         "count":1
      }
   ],
   "species":[
      {
         "value":"L-877FC",
         "count":1
      }
   ],
   "maxTimepoints":{
      "DIAGNOSIS":3
   },
   "minTimepoints":{
      "DIAGNOSIS":1
   },
   "sort":"subject-descending"
}


Code Block
titleSample Response

Image with MD5 Hash API

This API takes a series UID and returns a zip file with the images and a CSV file containing the MD5 hashes.

The API takes two arguments:

  • Collection - The collection to update
  • DOI - Digital Object Identifier

Example Image with MD5 Hash Query

Code Block
titleSample Call
curl -H "Authorization:Bearer 72dfaea7-b704-4b31-ad90-02606faa4572" -k "https://services.cancerimagingarchive.net/nbia-api/services/v2/getImageWithMD5Hash?SeriesInstanceUID=1.3.6.1.4.1.14519.5.2.1.6919.4624.313514201353787659031503464798"

The API returns the images and a CSV file in the zip file that records the file name and a hash.

Licenses API

The Licenses API retrieves all available license information.

The API takes no arguments.

Example Licenses Query

Code Block
titleSample Call
curl -H "Authorization:Bearer ff849ffb-7b18-4c7e-83bd-6db2f7dbee9c" -k "https://services.cancerimagingarchive.net/nbia-api/services/getLicenses"

If the API is successful, it returns the license long name, short name, license URL, license text, and commercial use designation., and commercial use designation.

Code Block
titleSample Response
[
{
"
Code Block
titleSample Response
[
{
"longName":"Creative Commons Attribution 3.0 Unported License",
"id":1,
"shortName":"CC BY 3.0",
"licenseURL":"http://creativecommons.org/licenses/by/3.0/",
"licenseText":"https://creativecommons.org/licenses/by/3.0/",
"commercialUse":"YES",
"license":{
"id":1,
"longName":"Creative Commons Attribution 3.0 Unported License",
"id":1,
"shortName":"CC BY 3.0",
"urllicenseURL":"http://creativecommons.org/licenses/by/3.0/",
"commercialUse":"YES",
"licenseText":"https://creativecommons.org/licenses/by/3.0/"
}
},....

Manifest for Simple Search API

The Manifest Text for Simple Search API allows the creation of a manifest file that can be used to execute the NBIA Data Retriever.

The API takes the same arguments as the Simple Search GUI.

Example Manifest for Simple Search Query

Code Block
titleSample Call
curl -H "Authorization:Bearer 73c7f5c1-8d3b-49a6-81fc-fdc40f31da68" -k "https://localhost:8080/nbia-api/services/getManifestForSimpleSearch" -d "criteriaType0=ThirdPartyAnalysis&value0=yes&sortField=subject&sortDirection=descending&start=0&size=1000000"

The API returns text that can be used as a manifest file for the NBIA Data Retriever.

Code Block
titleSample Response
downloadServerUrl=https://imaging-devcm.nci.nih.gov/nbia-download/servlet/DownloadServlet
includeAnnotation=false
noOfrRetry=4
databasketId=manifest-1523866570303.tcia
manifestVersion=3.0
ListOfSeriesToDownload=
1.3.6.1.4.1.9328.50.3.336

Manifest Text API

,
"commercialUse":"YES",
"license":{
"id":1,
"longName":"Creative Commons Attribution 3.0 Unported License",
"shortName":"CC BY 3.0",
"url":"http://creativecommons.org/licenses/by/3.0/",
"commercialUse":"YES",
"licenseText":"https://creativecommons.org/licenses/by/3.0/"
}
},....

Manifest for Simple Search API

The Manifest Text for Simple Search The Manifest Text API allows the creation of a manifest file that can be used to execute the NBIA Data Retriever.

The API takes two arguments:

  • list - A repeatable parameter of series UIDs for each series you want to download
  • includeAnnotation - If "true" is used, the annotations are returned

    the same arguments as the Simple Search GUI.

    Example Manifest

    Query 

    for Simple Search Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer d98c390f73c7f5c1-b53d8d3b-445649a6-beb381fc-110e63663762fdc40f31da68" -k "https://services.cancerimagingarchive.netlocalhost:8080/nbia-api/services/getManifestTextV2getManifestForSimpleSearch" -d "list=1.3.6.1.4.1.9328.50.3.336&includeAnnotation=falsecriteriaType0=ThirdPartyAnalysis&value0=yes&sortField=subject&sortDirection=descending&start=0&size=1000000"

    The API returns text that can be used as a manifest file for the NBIA Data Retriever.

    Code Block
    titleSample Response
    downloadServerUrl=https://imaging-devcm.nci.nih.gov/nbia-download/servlet/DownloadServlet
    includeAnnotation=false
    noOfrRetry=4
    databasketId=manifest-1523866570303.tcia
    manifestVersion=3.0
    ListOfSeriesToDownload=
    1.3.6.1.4.1.9328.50.3.336

    Manifest

    for Collection

    This API takes the collection name and optional parameters and generates a manifest file. The manifest file name includes the collection name and the date and time the file is generated.

    If the visibility status is not given, the manifest will include only visible series of the specified collection.

    Multiple visibility statuses can be given but each visibility status needs to be separated by "," which means all series with visibility in the given parameters

    Text API

    The Manifest Text API allows the creation of a manifest file that can be used to execute the NBIA Data Retriever.

    The API takes

    the following parameters:
    • collectionName (required)
    • Visibility (optional)
    • includeAnnotation (optional)

    Example getManifestforCollection Query

    two arguments:

    • list - A repeatable parameter of series UIDs for each series you want to download
    • includeAnnotation - If "true" is used, the annotations are returned.

    Example Manifest Query 

    Code Block
    titleSample Call
     curl -X POST -d "collection=LIDC-IDRI&visibility=1,2,5" -H "Authorization:Bearer 116f33a0d98c390f-3ec6b53d-45374456-ac4fbeb3-b2a8f804198e110e63663762" -k "https://services.cancerimagingarchive.net/nbia-api/services/getManifestForCollection"getManifestTextV2" -d "list=1.3.6.1.4.1.9328.50.3.336&includeAnnotation=false"

    The API returns text that can be used as a manifest file for the NBIA Data Retriever.

    Code Block
    titleSample Response
    downloadServerUrl=https://services.cancerimagingarchive.netimaging-devcm.nci.nih.gov/nbia-download/servlet/DownloadServlet
    includeAnnotation=truefalse
    noOfrRetry=4
    databasketId=2023-03-29_13-07manifest-1523866570303.tcia
    manifestVersion=3.0
    ListOfSeriesToDownload=
    139.254584023992084271703954671177780104476
    139.284188174537413748743284550513035752067
    139.304805639045342787376284410986944361990
    140.214500419403769671714337260708113154277
    140.238309468517260042204179442848160894322
    140.254584023992084271703954671177780104476
    140.284188174537413748743284550513035752067
    140.304805639045342787376284410986944361990
    141.129839648603007453048077880391250668065
    141.284188174537413748743284550513035752067
    142.175160332554951146990169356698524556465
    142.185789358393722251565123042321429001230
    142.249217400295704932720804776925858673102
    142.266852653429423697948518302395106991468
    142.284188174537413748743284550513035752067
    143.185789358393722251565123042321429001230
    143.284188174537413748743284550513035752067
    143.304805639045342787376284410986944361990
    143.83777781977605049394256836747163797173
    1.3.6.1.4.1.9328.50.3.336

    Manifest for Text Search

    This API takes a text value and generates a manifest file of series. This is an API version of the text search in the NBIA Radiology Portal GUI. See Performing a Text Search for more information.

    This API takes the following parameter:

    • textValue

    Example getManifestForTextSearch Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 41489cab-cd3b-4130-8215-7f4f9a6f12bb" -X POST "https://services.cancerimagingarchive.net/nbia-api/services/getManifestForTextSearch" -d "textValue=CT"


    Code Block
    titleSample Response
    downloadServerUrl=https://services.cancerimagingarchive.net/nbia-download/servlet/DownloadServlet
    includeAnnotation=false
    noOfrRetry=4
    databasketId=manifest-1680987888150.tcia
    manifestVersion=3.0
    ListOfSeriesToDownload=
    1.3.6.1.4.1.9328.50.4.563784
    1.3.6.1.4.1.9328.50.4.568673
    1.3.6.1.4.1.9328.50.4.568676
    1.3.6.1.4.1.9328.50.4.568678
    1.3.6.1.4.1.9328.50.4.569267
    1.3.6.1.4.1.9328.50.4.569270
    1.3.6.1.4.1.9328.50.4.569273
    1.3.6.1.4.1.9328.50.4.569823
    1.3.6.1.4.1.9328.50.4.571319
    1.3.6.1.4.1.9328.50.4.571323
    1.3.6.1.4.1.9328.50.4.571803
    1.3.6.1.4.1.9328.50.4.571808
    1.3.6.1.4.1.9328.50.4.572414
    1.3.6.1.4.1.9328.50.4.572418
    1.3.6.1.4.1.9328.50.4.572422
    1.3.6.1.4.1.9328.50.4.572425
    1.3.6.1.4.1.9328.50.4.572983
    1.3.6.1.4.1.9328.50.4.573038
    1.3.6.1.4.1.9328.50.4.573635
    1.3.6.1.4.1.9328.50.4.573639
    1.3.6.1.4.1.9328.50.4.574149
    1.3.6.1.4.1.9328.50.4.574153
    1.3.6.1.4.1.9328.50.4.578325
    1.3.6.1.4.1.9328.50.4.578328
    1.3.6.1.4.1.9328.50.4.578331
    1.3.6.1.4.1.9328.50.4.578901
    1.3.6.1.4.1.9328.50.4.579479
    1.3.6.1.4.1.9328.50.4.579482
    1.3.6.1.4.1.9328.50.4.579494
    1.3.6.1.4.1.9328.50.4.580056
    1.3.6.1.4.1.9328.50.4.579487
    1.3.6.1.4.1.9328.50.4.579490
    1.3.6.1.4.1.9328.50.4.580594
    1.3.6.1.4.1.9328.50.4.581140
    1.3.6.1.4.1.9328.50.4.590291
    1.3.6.1.4.1.9328.50.4.590294
    1.3.6.1.4.1.9328.50.4.590297
    1.3.6.1.4.1.9328.50.4.590890
    1.3.6.1.4.1.9328.50.4.591508
    1.3.6.1.4.1.9328.50.4.591511
    1.3.6.1.4.1.9328.50.4.591513
    1.3.6.1.4.1.9328.50.4.591516
    1.3.6.1.4.1.9328.50.4.591522
    1.3.6.1.4.1.9328.50.4.591975
    1.3.6.1.4.1.9328.50.4.592513
    1.3.6.1.4.1.9328.50.4.593093
    1.3.6.1.4.1.9328.50.4.593096
    1.3.6.1.4.1.9328.50.4.593099
    1.3.6.1.4.1.9328.50.4.593601
    1.3.6.1.4.1.9328.50.4.594099
    1.3.6.1.4.1.9328.50.4.594613
    1.3.6.1.4.1.9328.50.4.595110
    1.3.6.1.4.1.9328.50.4.595623
    1.3.6.1.4.1.9328.50.4.596197
    1.3.6.1.4.1.9328.50.4.596737
    1.3.6.1.4.1.9328.50.4.600540
    1.3.6.1.4.1.9328.50.4.600543
    1.3.6.1.4.1.9328.50.4.601079
    1.3.6.1.4.1.9328.50.4.601082
    1.3.6.1.4.1.9328.50.4.601085
    1.3.6.1.4.1.9328.50.4.601643
    1.3.6.1.4.1.9328.50.4.604326
    1.3.6.1.4.1.9328.50.4.604330
    1.3.6.1.4.1.9328.50.4.604333
    1.3.6.1.4.1.9328.50.4.604801
    1.3.6.1.4.1.9328.50.4.604806
    1.3.6.1.4.1.9328.50.4.607091
    1.3.6.1.4.1.9328.50.4.607094
    1.3.6.1.4.1.9328.50.4.607097
    1.3.6.1.4.1.9328.50.4.618649
    1.3.6.1.4.1.9328.50.4.610796
    1.3.6.1.4.1.9328.50.4.610799
    1.3.6.1.4.1.9328.50.4.610803
    1.3.6.1.4.1.9328.50.4.611364
    1.3.6.1.4.1.9328.50.4.611919
    1.3.6.1.4.1.9328.50.4.612031
    1.3.6.1.4.1.9328.50.4.612039
    1.3.6.1.4.1.9328.50.4.612593
    1.3.6.1.4.1.9328.50.4.612598
    1.3.6.1.4.1.9328.50.4.613155
    1.3.6.1.4.1.9328.50.4.613159
    1.3.6.1.4.1.9328.50.4.613786
    1.3.6.1.4.1.9328.50.4.613791
    1.3.6.1.4.1.9328.50.4.613794
    1.3.6.1.4.1.9328.50.4.614396
    1.3.6.1.4.1.9328.50.4.614399

    Manifest from Patient Study Series

    This API takes a a parameter and generates a manifest file of patient IDs that match those parameters.

    This API takes the following parameters:

    • patientIDs
    • studyUIDs
    • seriesUIDs
    • anyOrAll
    • includeAnnotation

    Example getManifestFromPatientStudySeries Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 116f33a0-3ec6-4537-ac4f-b2a8f804198e" -k "https://services.cancerimagingarchive.net/nbia-api/services/getManifestFromPatientStudySeries" -d "patientIDs=ISPY1_1001"

    If successful, the API returns the following.

    Code Block
    titleSample Response
    downloadServerUrl=https://services.cancerimagingarchive.net/nbia-download/servlet/DownloadServlet
    includeAnnotation=true
    noOfrRetry=4
    databasketId=manifest-1680111779366.tcia
    manifestVersion=3.0
    ListOfSeriesToDownload=
    1.3.6.1.4.1.14519.5.2.1.7695.1700.250955243295773832626617549482
    1.3.6.1.4.1.14519.5.2.1.7695.1700.360389360742427667526070655843
    1.3.6.1.4.1.14519.5.2.1.7695.1700.334491271566855314830260417024
    1.3.6.1.4.1.14519.5.2.1.7695.1700.658441262671287309457346305705
    1.3.6.1.4.1.14519.5.2.1.7695.1700.131126392922209124942161386151
    1.3.6.1.4.1.14519.5.2.1.7695.1700.933316195746120155903339740103
    1.3.6.1.4.1.14519.5.2.1.7695.1700.274616783627161175251743615553
    1.3.6.1.4.1.14519.5.2.1.7695.1700.733313000644315272006192181431
    1.3.6.1.4.1.14519.5.2.1.7695.1700.220092773361369396087067751186
    1.3.6.1.4.1.14519.5.2.1.7695.1700.245270018412514241929134140425
    1.3.6.1.4.1.14519.5.2.1.7695.1700.229054711046553504545787083659
    1.3.6.1.4.1.14519.5.2.1.7695.1700.179162285704690412763684330250
    1.3.6.1.4.1.14519.5.2.1.7695.1700.234808560418629209017784958053
    1.3.6.1.4.1.14519.5.2.1.7695.1700.154616556555686498817341337478
    1.3.6.1.4.1.14519.5.2.1.7695.1700.177623757250131970264857092191
    1.3.6.1.4.1.14519.5.2.1.7695.1700.154110825244369885171851551255
    1.3.6.1.4.1.14519.5.2.1.7695.1700.284567351304426376226790714264
    1.3.6.1.4.1.14519.5.2.1.7695.1700.324328467511449053797650611970
    1.3.6.1.4.1.14519.5.2.1.7695.1700.741335780571671051586458569948
    1.3.6.1.4.1.14519.5.2.1.7695.1700.335719452327097001305227418372
    1.3.6.1.4.1.14519.5.2.1.7695.1700.210538707954985296677398591978
    1.3.6.1.4.1.14519.5.2.1.7695.1700.195983148423034180376334647727
    1.3.6.1.4.1.14519.5.2.1.7695.1700.244863941836141483641489109194

    MD5 Hierarchy

    This API takes the following parameters:

    • SeriesInstanceUID (optional)
    • StudyInstanceUID (optional)
    • PatientID (optional)
    • Collection (optional)

    Example getMD5Hierarchy Query 

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 6cee6e71-7ade-4351-806d-f43d6301834a" -k "https://services.cancerimagingarchive.net/nbia-api/services/getMD5Hierarchy" -d "Collection=LIDC"


    Code Block
    titleSample Response
    3ef5cbc40b247c4a6f72a4f90f504ad1

    Manufacturer Values and Counts API

    The Manufacturer Values and Counts API returns the modality values plus the manufacturer count for the modality. It optionally takes the following parameters.

    • Collection
    • Modality
    • Body Part Examined

    Example getManufacturerValuesAndCounts Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer c428d42c-9eed-4f5d-8007-416d46be9b52" -k "https://services.cancerimagingarchive.net/nbia-api/services/getManufacturerValuesAndCounts?Modality=PT"

    The API returns the manufacturer and their counts.

    Code Block
    titleSample Response
    [
    {"criteria":"DeJarnette Research Systems","count":"2"},
    {"criteria":"FUJI PHOTO FILM Co., ltd.","count":"4"}
    ]

    Manufacturer Tree API

    The Manufacturer Tree API returns the manufacturer and software in a tree structure.

    Example getManufacturerTree Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer  3ecccd7d-9d72-4424-bd81-757d79cd44aa" -k "https://services.cancerimagingarchive.net/nbia-api/services/getManufacturerTree"

    The API returns the data in a tree structure.

    Code Block
    titleSample Response
    {"data":{"criteria":"root","value":"All Manufactures"},
    "children":[{"data":{"criteria":"Manufacturer","value":"CMS, Inc."},
    "children":[{"data":{"criteria":"Model","value":"XiO"},
    "children":[{"data":{"criteria":"Software Ver.","value":"4.51.00"},
    "children":[]},{"data":{"criteria":"Software Ver.","value":"4.51.02"},"children":[]}]}]},
    {"data":{"criteria":"Manufacturer","value":"CPS"},
    "children":[{"data":{"criteria":"Model","value":"1024"}
    8<------------------------------------------------------------------------------->8

    MD5 Hash for Image API

    This API takes the SOPInstanceIUD and returns an MD5 hash.

    The API takes one argument:

    • sopInstanceUid - UID of the image

    Example MD5 Hash for Image Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 295382ae-e94c-473c-a98e-db10ce6ad774" -k "https://services.cancerimagingarchive.net/nbia-api/services/v2/getM5HashForImage?SOPInstanceUid=1.3.6.1.4.1.14519.5.2.1.6919.4624.302693755253199226108824913410"

    The API returns the MD5 hash.

    Min Max Timepoints

    Example getMinMaxTimepoints Query 

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer ffcf98b9-ab8f-4c3a-92bd-873e3f231de9" -k "https://services.cancerimagingarchive.net/nbia-api/services/getMinMaxTimepoints"
    Code Block
    titleSample Response
    .14519.5.2.1.6919.4624.302693755253199226108824913410"

    The API returns the MD5 hash.

    Modality Values and Counts API

    The Modality Values and Counts API returns the modality values plus the subject count for the modality. It optionally takes the following parameters.

    • Collection
    • BodyPartExamined

    Example Modality Values and Counts Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer c428d42c-9eed-4f5d-8007-416d46be9b52" -k "https://services.cancerimagingarchive.net/nbia-api/services/getModalityValuesAndCounts?Collection=LIDC"

    The API returns the modalities and their counts.

    Code Block
    titleSample Response
    [
    {"criteria":"CT","count":"397"}
    ]

    Restrictions for Simple Search API

    The Restrictions on Simple Search API returns whether any series returned by simple search has commercial restrictions.

    The API takes the same parameters as the Simple Search GUI.

    Example getRestrictionsForSimpleSearch Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 1fb4f3b5-f30e-4ccf-bea9-8b51183a70cd" -k "https://localhost:8080/nbia-api/services/getRestrictionsForSimpleSearch" -d "criteriaType0=ThirdPartyAnalysis&value0=yes&sortField=subject&sortDirection=descending&start=0&size=1000000"

    The API returns "Yes" if there are commercial restrictions and "No" if there are not.

    Restrictions for Text Search

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 083c39d8-1316-4ec6-8bc9-7ae0163e2d0b" -X POST "https://services.cancerimagingarchive.net/nbia-api/services/getRestrictionsForTextSearch" -d "textValue=CT"
    Code Block
    titleSample Response
    yes

    Series Metadata API

    The Series Metadata API allows returns the metadata needed by the client for a set of series as CSV.

    The API takes one argument:

    • list- Comma-separated list of series to return

    Example Series Metadata Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 1be042c4-2506-4ecc-9c5e-9556506896aa" -k "https://services.cancerimagingarchive.net/nbia-api/services/getSeriesMetadata2" -d "list=9999.293545899757968087866143572947417050996,9999.172212451609088872857235914630319746611"

    The API returns ok if successful, and the error if one occurs.

    Code Block
    titleSample Response
    Subject ID,Study UID,Study Description,Study Date,Series ID,Series Description,Number of images,File Size (Bytes),Collection Name,Modality,Manufacturer,3rd Party Analysis,Data Description URI,Series Number,License Name,License URL
    STS_010,1.3.6.1.4.1.14519.5.2.1.5168.1900.154535988064062152660648619556,MRI LT LEG +C,2003-12-12,1.3.6.1.4.1.14519.5.2.1.5168.1900.104193299251798317056218297018,2. AXIAL T1 BOTH LEGS - RESEARCH,48,25273786,Soft-tissue-Sarcoma,MR,GE MEDICAL SYSTEMS,,https://doi.org/10.7937/K9/TCIA.2015.7GO2GSKS,2,Creative Commons Attribution 3.0 Unported License,https://creativecommons.org/licenses/by/3.0/

    Species Tax API

    The Species Tax API returns the species taxonomy and takes no parameters.

    Example Species Tax Query

    Code Block
    titleSample Call
    C:\curl>curl -H "Authorization:Bearer 0a6c0a95-1919-4430-888d-5375fca7566f" -k "https://services.cancerimagingarchive.net/nbia-api/services/getSpeciesTax"

    The API returns the current species taxonomy.

    Code Block
    titleSample Response
    [\{"speciesCode":"L-877FC","speciesDescription":"Rattus norvegicus (common rat)"},\{"speciesCode":"L-85003","speciesDescription":"Human (Homo sapiens)"}]

    Species Values And Counts API

    The Get Species Values And Counts API returns the values and counts for species and takes the same parameters as the Simple Search GUI.

    Example Species Values And Counts Query

    Code Block
    titleSample Call
    C:\curl>curl -H "Authorization:Bearer 9227f2ee-5936-4fe9-8268-131e50833527" -k "https://services.cancerimagingarchive.net/nbia-api/services/getSimpleSearchCriteriaValues" -d "criteriaType0=CollectionCriteria&value0=CBIS-DDSM"

    The API returns the values and counts for species.

    Code Block
    titleSample Response
    [{"criteria":"Collections","values":[
    
    {"criteria":"CBIS-DDSM","count":"80"}
    ]},
    
    {"criteria":"Species","values":[\{"criteria":"Human","count":"80"}
    ]},
    
    {"criteria":"Image Modality","values":[\{"criteria":"MG","count":"80"}
    ]},
    
    {"criteria":"Anatomical Site","values":[\{"criteria":"BREAST","count":"80"}
    ]},
    
    {"criteria":"Manufacturer","values":[\{"criteria":"","count":"80"}
    ]}]

    Study Drill Down API

    The Study Drill Down API provides the functionality in the portal where the user drills down the studies and series associated with a given user.

    The API simply takes a list of series to query, using the parameter "list", that is repeated for each series you want to retrieve.

    Example Study Drill Down Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 946bddb4-d076-4fb1-8dff-81fb64d6f921" -k "https://services.cancerimagingarchive.net/nbia-api/services/getStudyDrillDown" -d "list=1376256&list=262144"

    The Study Drill Down API returns JSON with the information to populate the drill down to study screen. You can retrieve multiple studies.

    Code Block
    titleSample Response
    [ {"studyId" : "88.8.40100432719994870453539459050137164864",
      "date" : 671515200000,
      "description" : "CT CHEST W/O CONTRAST",
      "id" : 1310720,
      "seriesList" : [ {
        "seriesNumber" : "3",
        "seriesUID" : "88.8.326983478845196402838719404831299211067",
        "numberImages" : 9,
        "modality" : "CT",
        "manufacturer" : null,
        "annotationsFlag" : false,
        "annotationsSize" : 0,
        "patientId" : "Project-3076386612",
        "patientPkId" : "1277952",
        "studyId" : "88.8.40100432719994870453539459050137164864",
        "studyPkId" : 1310720,
        "totalSizeForAllImagesInSeries" : 4739336,
        "project" : "Project",
        "description" : "LUNG",
        "dataProvenanceSiteName" : null,
        "manufacturerModelName" : null,
        "softwareVersion" : null,
        "maxFrameCount" : "0",
        "seriesId" : "88.8.326983478845196402838719404831299211067",
        "seriesPkId" : 1376256,
        "exactSize" : 4739336  } ]} ]

    Study Drill Down With Series IDs API

    The Study Drill Down API provides the functionality in the portal where the user drills down to the studies and series associated with a given user.

    The API takes a list of series to query, using the parameter "list," that is repeated for each series instance UIDs you want to retrieve.

    Example Study Drill Down With Series IDs Query 

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 5e3e2193-55dc-43b5-b11a-70fee2ccf50f" -k "https://services.cancerimagingarchive.net/nbia-api/services/getStudyDrillDownWithSeriesIds" -d "list=88.8.327219764444138790630242591550292040652&list=88.8.48940758713094405889891485363115655700"

    The Study Drill Down With Series Ids API returns JSON with the information to populate the drill down to study screen. There can be multiple studies.

    Code Block
    titleSample Response
    [ {"studyId" : "88.8.40100432719994870453539459050137164864",
      "date" : 671515200000,
      "description" : "CT CHEST W/O CONTRAST",
      "id" : 1310720,
      "seriesList" : [ {
        "seriesNumber" : "3",
        "seriesUID" : "88.8.326983478845196402838719404831299211067",
        "numberImages" : 9,
        "modality" : "CT",
        "manufacturer" : null,
        "annotationsFlag" : false,
        "annotationsSize" : 0,
        "patientId" : "Project-3076386612",
        "patientPkId" : "1277952",
        "studyId" : "88.8.40100432719994870453539459050137164864",
        "studyPkId" : 1310720,
        "totalSizeForAllImagesInSeries" : 4739336,
        "project" : "Project",
        "description" : "LUNG",
        "dataProvenanceSiteName" : null,
        "manufacturerModelName" : null,
        "softwareVersion" : null,
        "maxFrameCount" : "0",
        "seriesId" : "88.8.326983478845196402838719404831299211067",
        "seriesPkId" : 1376256,
        "exactSize" : 4739336  } ]} ]

    Thumbnail API  

    The Get Thumbnail API returns the DICOM tags and values associated with the image.

    • seriesUID
    • objectUID

    Example Thumbnail Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer f314f9bb-6752-4c5d-9f56-d2d450b7260c" -k "https://services.cancerimagingarchive.net/nbia-api/services/getThumbnail" -d "seriesUID=1.3.6.1.4.1.14519.5.2.1.3023.4024.536949365601910993926257264114&objectUID=1.3.6.1.4.1.14519.5.2.1.3023.4024.822829852603295162591249163632" --output Thumbnail.jpg

    The API returns a JPG thumbnail.

    Text Search API

    The text search API is used to run queries for Text Search in the portal. The text search takes an argument, textValue.

    Example Text Search Query 

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 946bddb4-d076-4fb1-8dff-81fb64d6f921" -k "https://services.cancerimagingarchive.net/nbia-api/services/getTextSearch" -d "textValue=lung"

     Note that the returned JSON now includes the "hit" that was found by the Solr search engine.

    Code Block
    titleSample Response
    [{
    "subjectId":"Project-3076386612",
     "project":"Project",
     "id":1277952,
     "totalNumberOfStudies":1,
     "totalNumberOfSeries":1,
     "hit":"<em>seriesDesc</em>: <strong>LUNG</strong>",
     "studyIdentifiers":[{
     "seriesIdentifiers":[1376256],
     "studyIdentifier":1310720
     }]
    }]

    Updated Series API

    This API returns the series that have been updated since a given date.

    The API takes one argument:

    • fromDate - the date to get the updates have happened

    Example Get Updated Series Query

    Code Block
    titleSample Call
    curl -H "Authorization:Bearer 86d45ad0-2e48-4f10-bbbe-593d7176fe30" -k "https://services.cancerimagingarchive.net/nbia-api/services/v2/getUpdatedSeries?fromDate=01/01/2020"

    The API returns the updated series.

    Code Block
    titleSample Response
    [
       {
          "SeriesInstanceUID":"1.3.6.1.4.1.5962.1.1.0.0.1560173490.85106.1",
          "StudyInstanceUID":"1.3.6.1.4.1.5962.1.1.0.1560173490.85106.1",
          "Modality":"SR",
          "SeriesDate":"2016-01-06 00:00:00.0",
          "SeriesDescription":"PDM Mouse Overview",
          "SeriesNumber":1,
          "Collection":"Project",
          "PatientID":"128783-104-T_VQ4",
          "Manufacturer":"PixelMed",
          "ManufacturerModelName":"XSLT",
          "SoftwareVersions":"0.1",
          "ImageCount":1
       }


    ...