Data/music-api/v1.1/album/tracks

Jump to: navigation, search

Album/Tracks

Returns information about the songs on a popular music album and the performances on a classical music album. Popular music songs are identified by track IDs; classical music performances are identified by performance IDs.

This request may return a large amount of data. To speed data transmission, do the following:

  • Request one page of data at a time, requesting only what you want to immediately display.
  • Request a compressed response by including Accept-Encoding: gzip,deflate in the HTTP header.

Syntax

album/tracks? album=album
albumid=albumid
amgpopid=amgpopid
amgclassicalid=amgclassicalid
&apikey=apikey&sig=sig [&format=format] [&offset=offset] [&count=count] [&country=country] [&language=language]

Request Example 1

Request information about the songs on the album Birth of the Cool.

Request Example 2

Request information about the first two songs on the album Thriller.

Request Example 3

Request information in an XML format about the first two songs on the album Thriller.

Request Parameters

Sort none.gif  Click to re-sort

Parameter Required Description
apikey Yes Access code that authorizes your request for data from Rovi.
sig Yes A calculated, 32-hex-digit authorization code. To perform the calculation, execute the MD5 function on the concatenation of the following three ASCII strings:
  • Your API key.
  • The secret key you received with your API key.
  • The Unix time. Unix time is a timestamp supported in most development environments, and is generally defined as the number of seconds since January 1, 1970 00:00:00 GMT.

Express the alpha hex digits as lower case.

Perform the calculation at the time of each request to be sure it's within a five-minute window of the server time. If you're testing the call in a browser, use our online signature generator to perform the calculation.

album Conditional Keywords from the album title. This searches for the most popular title with that combination of words. Replace spaces with plus (+) or percent20 (%20) symbols.

Condition: The request must contain just one of these parameters:

  • album
  • albumid
  • amgpopid
  • amgclassicalid
albumid Conditional Rovi Music ID for an album, consisting of the prefix MW followed by a ten-digit number. For example: MW0000056882. You can grab album IDs from responses to the following requests:

Condition: The request must contain just one of these parameters:

  • album
  • albumid
  • amgpopid
  • amgclassicalid
amgclassicalid Conditional All Media Guide (AMG) ID for a classical music album, consisting of a ten-character string that starts with W and is followed by nine digits with leading spaces. For example: W   180317. When using an AMG Classical ID in a request, replace any spaces in the ID with plus (+) or percent20 (%20) symbols, like this: W+++180317. AMG is a legacy database of entertainment information.

Condition: The request must contain just one of these parameters:

  • album
  • albumid
  • amgpopid
  • amgclassicalid
amgpopid Conditional All Media Guide (AMG) ID for a popular music album, consisting of a ten-character string that starts with R and is followed by nine digits with leading spaces. For example: R  1805889. When using an AMG Pop ID in a request, replace any spaces in the ID with plus (+) or percent20 (%20) symbols, like this: R++1805889.

Condition: The request must contain just one of these parameters:

  • album
  • albumid
  • amgpopid
  • amgclassicalid
count No Number of items to be returned. The default is zero, which returns all items after the offset.
country No Country the language parameter applies to. The current release of the API supports only US.
format No Format of the returned data: json or xml. The default is JSON.
language No Language of the response data. This request supports only en (English).
offset No Number of items at the start of the available data to skip. The default is zero.

Use count and offset to paginate the data that is available to be returned.

Response

Response Header

ResponseTypeDescription
buildstringThe software release level of the API.
codeintegerHTTP status code. See the status field for the text part of the code.
durationintegerServer processing time in milliseconds. The difference between startTime and endTime.
endTimestringWhen the server sent the response (UTC time).
messagesMessage [ ]Elements of a multiple HTTP response status message.
parametersparametersThe parameters that were included in the request.
parentIdsparentIdsAll of the IDs for the requested object that are recognized by the API.
serverNamestringName of the server that processed the request.
startTimestringWhen the server received the request (UTC time).
statusstringText part of the HTTP status code, which is shown in the code field.
viewviewSummary of items returned in a list of items.

Response for Album/Tracks

ResponseTypeDescription
tracks Track [ ] Information about the tracks on the album specified in the request.

JSON Response Example

Here's the response to Request Example 2, which asks for information about the first two songs on the album Thriller. The response is formatted with extra spaces and carriage returns to make it easy to read.
Requested with http://api.rovicorp.com/data/v1.1/album/tracks?apikey=apikey&sig=sig&
albumid=MW0000056882&count=2
.
{
  "status":"ok",
  "code":200,
  "messages":null,
  "build":"1.5.1.9",
  "parameters":{
    "apiKey":"apikey",
    "id":"MW0000056882",
    "offset":0,
    "count":2
  },
  "view":{
    "offset":0,
    "count":2,
    "total":9
  },
  "serverName":"tul1cssw4",
  "startTime":"2011-04-27T23:10:15.9839601Z",
  "endTime":"2011-04-27T23:10:15.9995852Z",
  "duration":15,
  "parentIds":{
    "albumId":"MW0000056882",
    "amgPopId":"R   10089"
  },
  "tracks":[
    {
      "ids":{
        "compositionId":null,
        "performanceId":null,
        "trackId":"MT0027178476"
      },
      "title":"Wanna Be Startin' Somethin'",
      "performers":[
        {
          "id":"MN0000467203",
          "name":"Michael Jackson"
        }
      ],
      "composers":[
        {
          "id":"MN0000467203",
          "name":"Michael Jackson"
        }
      ],
      "part":null,
      "duration":363,
      "disc":1,
      "isPick":true,
      "hasReview":true,
      "sample":"http:\/\/actual-url-concealed.mp3",
      "flags":null
    },
    {
      "ids":{
        "compositionId":null,
        "performanceId":null,
        "trackId":"MT0010511680"
      },
      "title":"Baby Be Mine",
      "performers":[
        {
          "id":"MN0000467203",
          "name":"Michael Jackson"
        }
      ],
      "composers":[
        {
          "id":"MN0000293897",
          "name":"Rod Temperton"
        }
      ],
      "part":null,
      "duration":260,
      "disc":1,
      "isPick":false,
      "hasReview":false,
      "sample":"http:\/\/actual-url-concealed.mp3",
      "flags":null
    }
  ]
}

XML Response Example

Here's the response to Request Example 3, which asks for information about the first two songs on the album Thriller in an XML response.
Requested with http://api.rovicorp.com/data/v1.1/album/tracks?apikey=apikey&sig=sig&
albumid=MW0000056882&count=2&format=xml
.
<AlbumTracks xmlns="com.rovicorp.metadataservice" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <status>ok</status>
  <code>200</code>
  <messages i:nil="true"/>
  <build>1.5.1.9</build>
  <parameters>
    <apiKey>apikey</apiKey>
    <id>MW0000056882</id>
    <offset>0</offset>
    <count>2</count>
    <format>xml</format>
  </parameters>
  <view>
    <offset>0</offset>
    <count>2</count>
    <total>9</total>
  </view>
  <serverName>tul1cssw2</serverName>
  <startTime>2011-04-27T23:10:25.6032857Z</startTime>
  <endTime>2011-04-27T23:10:25.6032857Z</endTime>
  <duration>0</duration>
  <parentIds>
    <albumId>MW0000056882</albumId>
    <amgPopId>R 10089</amgPopId>
  </parentIds>
  <tracks>
    <Track>
      <ids>
        <compositionId i:nil="true"/>
        <performanceId i:nil="true"/>
        <trackId>MT0027178476</trackId>
      </ids>
      <title>Wanna Be Startin&apos; Somethin&apos;</title>
      <performers>
        <TrackArtist>
          <id>MN0000467203</id>
          <name>Michael Jackson</name>
        </TrackArtist>
      </performers>
      <composers>
        <TrackArtist>
          <id>MN0000467203</id>
          <name>Michael Jackson</name>
        </TrackArtist>
      </composers>
      <part i:nil="true"/>
      <duration>363</duration>
      <disc>1</disc>
      <isPick>true</isPick>
      <hasReview>true</hasReview>
      <sample>http://actual-url-concealed.mp3</sample>
      <flags xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true"/>
    </Track>
    <Track>
      <ids>
        <compositionId i:nil="true"/>
        <performanceId i:nil="true"/>
        <trackId>MT0010511680</trackId>
      </ids>
      <title>Baby Be Mine</title>
      <performers>
        <TrackArtist>
          <id>MN0000467203</id>
          <name>Michael Jackson</name>
        </TrackArtist>
      </performers>
      <composers>
        <TrackArtist>
          <id>MN0000293897</id>
          <name>Rod Temperton</name>
        </TrackArtist>
      </composers>
      <part i:nil="true"/>
      <duration>260</duration>
      <disc>1</disc>
      <isPick>false</isPick>
      <hasReview>false</hasReview>
      <sample>http://actual-url-concealed.mp3</sample>
      <flags xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true"/>
    </Track>
  </tracks>
</AlbumTracks>


See Also

↑ Top

Personal tools