The KKBOX English Developer Hub

Welcome to the KKBOX English developer hub. You'll find comprehensive guides and documentation to help you start working with KKBOX English as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    
Suggest Edits

Overview

Overview of different authorization flows

 

KKBOX OAuth 2.0 API use OAuth Standard to verify application.

KKBOX OAuth 2.0 API is to allow KKBOX member to authorize third-party applications. Third-party applications can access personal data on KKBOX such as favorite songs, albums, playlists directly rather than supply username and password to third-party applications.

A comparative table for OAuth Flow as follows :

Flow
User Authorization Required
Access User Resources
Access Token Refresh
Suitable for Use in

Client Credentials Flow

NO

NO

NO

Only need to get KKBOX open data

Authorization Code Flow

YES

YES

YES

Need to get user's personal data such as favorite songs, albums, playlists

Devices Flow

YES

YES

YES

Need to get user's personal data such as favorite songs, albums, playlists. The device is not convenient for user input username and password to log in.

If you use Authorization Code Flow or Devices Flow to get Access Token, you can also do Token Refreshing at the same time. In this way, user can get a new Access Token when the Access token expire instead of authorizing again.

Suggest Edits

Client Credentials Flow

Pass your App ID and App Secret to get access_token.
Create an App => https://developer.kkbox.com/#/app

 
posthttps://account.kkbox.com/oauth2/token
POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com

grant_type=client_credentials&client_id=234560AA085B38C19FB60371C8C6D25E&client_secret=6B7928FDE40394CCC81962D7700C0107
A binary file was returned

You couldn't be authenticated

{
  "access_token": "fCVTwABPlcO6Qxc7Ll23rsdfsf",
  "expires_in": 2592000,
  "token_type": "Bearer"
}
{
  "error":"invalid_request"
}
{
  "error":"invalid_client"
}
{
  "error":"invalid_grant"
}
{
  "error":"invalid_request"
}

Form Data

grant_type
string
required

Please set client_credentials

client_id
string
required

App ID. You also can transfer via HTTP Basic access authentication.

client_secret
string
required

App Secret. You also can transfer via HTTP Basic access authentication.

 
Suggest Edits

Authorization Code Flow

 

OAuth 2.0 for Authorization Code Grant
To help device which have Browser and Cloud Service get Access Token. After KKBOX authenticate the device via Access Token, the device can use KKBOX API service. The way of OAuth 2.0 for Authorization Code Flow integration we recommend is as follows :

Participant Description

  • User People who use the application.
  • User Agent Browser or Web View Component
  • Cloud Service KKBOX OAuth Client Service based on Webserver
  • KKBOX API Service API Service supply by KKBOX

Authorization Code Flow Log-in description

  • If user want to experience KKBOX Service on the application, User Agent will display the interface to ask user for log in KKBOX. If user accept the request, user will authorize Cloud Service to access personal data on KKBOX Service, then request to log in account.

  • Cloud Service call KKBOX OAuth 2.0 Authorize API [3], the parameter have to contain redirect_uri(Should be encoded), this parameter is same as the redirect_uri on the project of Developer Site My App Page. After request, User Agent will redirect to KKBOX log-in page where contain state parameter [3-8].
    We recommend Android use Chrome Custom Tab , and iOS use SFAuthenticationSession to open the website.
    User has to enter KKBOX username and password to authorize, if user does not have an account, user have to register one. After finishing entering username and password, KKBOX API Service will check whether
    redirect_uri is correct. If there is something wrong during the check, it will deny the authorization; on the contrary, it will finish setting for user if the process is correct.

KKBOX OAuth 2.0 Authorize API Request

GET /oauth2/authorize?scope=user_profile user_territory user_account_status&redirect_uri=https%3A%2F%2Flocalhost%2F&client_id={MY_CLIENT_ID}&response_type=code&state={YOUR_STATE_MSG} HTTP/1.1
  Host: account.kkbox.com
Location: /login?url=%2Foauth2%2Fauthorize%3Fscope%3Duser_profile%26redirect_uri%3Dhttps%253A%252F%252Flocalhost%252F%26client_id%3D{MY_CLIENT_ID}%26response_type%3Dcode%26state%3D1234
  • After user authorize, browser will redirect into Cloud Service which is same as the redirect_uri page, it is called Cloud Service because redirect_uri is based on Web Server. [9]
    Take the picture below for example. When browser is redirecting, the url will contain Authorization Code and State. Partner have to extract the Authorization Code in the url. [10-11]

Token API for Authorization Code Flow Request

POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com
  
grant_type=authorization_code&code={authorization_code}&client_id={MY_CLIENT_ID}&client_secret={MY_CLIENT_SECRET}

Token API for Authorization Code Flow Response

{
  "access_token": "{ACCESS_TOKEN}",
  "expires_in": 9223372036854775807,
  "token_type": "Bearer",
  "refresh_token": "{REFRESH_TOKEN}"
}
  • Finally, Cloud Service will notify User log-in successfully, and browser will show the message to let user know time to enjoy KKBOX Service. [14-15]

Access Token Management

  • In this use case, access token should be preserved on Web Server. If you need to transfer access token via internet to allow your device or service to get user's personal data from KKBOX, please use encrypted transport protocol, such as TLS 1.2 or above.
Suggest Edits

Step 1. Authorize

Redirect user to a page where user can authorize your app.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://account.kkbox.com/oauth2/authorize
GET /oauth2/authorize?redirect_uri=https%3A%2F%2Flocalhost%2F&client_id=my_client_id&response_type=code&state=1234 HTTP/1.1
Host: account.kkbox.com
A binary file was returned

You couldn't be authenticated

Location: /login?url=redirect_uri%3Dhttps%253A%252F%252Flocalhost%252F%26client_id%3Dmy_client_id%26response_type%3Dcode%26state%3D1234
{
  "error":"invalid_request"
}
{
  "error":"unauthorized_client"
}
{
  "error":"unsupported_response_type"
}
{
  "error":"access_denied"
}

Query Params

redirect_uri
string
required

The user will redirect to this uri after the user authorize successfully. The uri should be encoded. This parameter must be same as https://developer.kkbox.com/#/app

client_id
string
required

Your App ID

response_type
string
required

Please set to code

state
string
required

Based on the security, if the user redirects successfully, there will be a value that is the same as this state parameter.

 
Suggest Edits

Step 2. Token API for Authorization Code Flow

Use Authorization Code to get access token.

 
posthttps://account.kkbox.com/oauth2/token/
POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com

grant_type=authorization_code&code=eff150349d630c2accd0ab55c5172ba7&client_id=234560AA085B38C19FB60371C8C6D25E&client_secret=6B7928FDE40394CCC81962D7700C0107
A binary file was returned

You couldn't be authenticated

{
  "access_token": "fCVTwABPlcO6Qxc7Ll23rsdfsf",
  "expires_in": 2592000,
  "token_type": "Bearer",
  "refresh_token": "y600sLtGlsR+oU4mhYtOeg=="
}
{
  "error": "invalid_client"
}
{
  "error": "invalid_grant"
}
{
  "error": "invalid_request"
}

Form Data

grant_type
string
required

Please set to authorization_code

code
string
required

Please set the value which is in the url parameter after you redirect from Step 1- Authorize

client_id
string
required

App ID. You also can transfer via HTTP Basic access authentication.

client_secret
string
required

App Secret. You also can transfer via HTTP Basic access authentication.

 
Suggest Edits

Devices Flow

 

OAuth 2.0 Device Flow 標準
If there is no browser, or it is not convenience to get Access Token, device can use OAuth 2.0 Device Flow to solve this problem. It occurs more often on the develop version, Smart TV, Set-top box, Smart Speaker... etc. To let user log in, device can use Device Code, QR Code or other communicated ways to transfer process to Smart Phone or other devices which have abilities to connect to the internet. The way of OAuth 2.0 for Device Flow integration we recommend is as follows:

Participant Description

  • User Person who experience KKBOX Service via IoT device
  • Control App IoT device help user control the app, such as iOS/Android App.
  • IoT Device IoT device Invented by developer
  • KKBOX API Service API Service supply by KKBOX

Device Flow log-in process description

  • As a start, user connects to Wifi and finishes other settings. [1]
  • Control App displays the interface to ask user for accepting KKBOX log in [2]
  • User uses the interface which show on Control App to accept KKBOX log in [3]
  • Control App send KKBOX account log-in request to IoT Device [4]
  • IoT Device call Device Code API to get device_code and verification_qrcode(URL) [5-6]

Device Code API Request

POST /oauth2/device/code HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com
  
client_id={MY_CLIENT_ID}
{
  "device_code": "{DEVICE_CODE}",
  "expires_in": 600,
  "interval": 5,
  "short_verification_url": "https://www.kkbox.com/device",
  "user_code": "{USER_CODE}",
  "verification_qrcode": "https://account.kkbox.com/oauth2/authorize?response_type=device&user_code={USER_CODE}",
  "verification_url": "https://account.kkbox.com/device"
}

We recommand Android use Chrome Custom Tab , and iOS use SFAuthenticationSession to open the verification_qrcode, which IoT Device pass to Control App. User has to enter KKBOX username and password to authorize, if user does not have an account, user have to register one. The format of verification_qrcode URL call is as follows :

GET /oauth2/authorize?response_type=device&user_code={USER_CODE} HTTP/1.1
Host: account.kkbox.com

IoT Device use Polling to call Token API for Devices Flow [7]. If [8-10] have not be finished, it will show the error message authorization_pending until you get a new Access Token [11].
Notice that, {ACCESS_TOKEN} and {REFRESH_TOKEN} are important, they need to be preserved carefully.

Token API for Devices Flow Request

POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com
  
grant_type=http://oauth.net/grant_type/device/1.0&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&code={DEVICE_CODE}
{
  "access_token": "{ACCESS_TOKEN}",
  "expires_in": 9223372036854775807,
  "token_type": "Bearer",
  "refresh_token": "{REFRESH_TOKEN}"
}

After IoT Device get Access Token [11], it will notify Control App user that log in successfully [12]. If Control App want to access KKBOX data, it can pass Access Token to Control App. For example, Control App on some devices can show playlists or covers of albums... etc.

Finally, Control App show the massage that user can start to enjoy KKBOX Service. [13]

Suggest Edits

Step 1. Device Code API

Get device_code and verification_qrcode, then direct user into the url to authorize your app.

 
posthttps://account.kkbox.com/oauth2/device/code
POST /oauth2/device/code HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com

client_id=my_client_id
A binary file was returned

You couldn't be authenticated

{
  "device_code": "3ff6c414af09003d2dsf34dsdfsdf",
  "expires_in": 600,
  "interval": 5,
  "short_verification_url": "https://www.kkbox.com/device",
  "user_code": "135793242432",
  "verification_qrcode": "https://account.kkbox.com/oauth2/authorize?response_type=device&user_code=135793242432",
  "verification_url": "https://account.kkbox.com/device"
}

Form Data

client_id
string
required

Your App ID

 
Suggest Edits

(Optional) Generate QR Code Image

If your device is not convenient for user enter the username and password to authorize, but the device contain a screen, it can show the QR code that is transferred from authorized url to allow user to scan. User can log in on the phone browser and authorize your app via QR code.

 
gethttps://account.kkbox.com/oauth2/generator
GET /generator?content=https%3A%2F%2Fevent.kkbox.com%2Fcontent%2Fplaylist%2FDZni8m29ciOFbRxTJq%3Fdesktop%3Dtrue&image_size=250&logo_size=50&response_type=json HTTP/1.1
Host: qrcode.kkbox.com.tw
A binary file was returned

You couldn't be authenticated

{
  "status":"success",
  "data":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAYAAACI7Fo9AAAgAElEQVR4nOy9ebgdR3E2\/va55+771X61b5ZtWZZsybbMapsYEwgYAiGEkBAS1nyEhMX5+EISfgkJJOwkToAAcQirCbtZAnYwYI....."
}

Query Params

content
string
required

Generate the string of QR Code. Used in Devices Flow, please set the verification_qrcode value got from Step1.

image_size
int32
required

The pixel size of your QR code image.

logo_size
int32
required

A square in pixel size show in the middle of QR code image.

response_type
string
required

Choose the type of response, it can be set to image or json

foreground_color
int32

The color of QR Code based on 16-bit RGB color

background_color
int32

The background color of QR Code based on 16-bit RGB color

 
Suggest Edits

Step 2. Token API for Devices Flow

Use device_code to get access token.

 
gethttps://account.kkbox.com/oauth2/token
POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com

grant_type=http://oauth.net/grant_type/device/1.0&code=2e64328c71f35dc9c55417c8194a46b8&client_id=234560AA085B38C19FB60371C8C6D25E&client_secret=6B7928FDE40394CCC81962D7700C0107
A binary file was returned

You couldn't be authenticated

{
  "access_token": "fCVTwABPlcO6Qxc7Ll23rsdfsf",
  "expires_in": 9223372036854775807,
  "token_type": "Bearer",
  "refresh_token": "UeOKz4pJepEkIaGvlBUm3z=="
}
{
  "error":"authorization_pending"
}
{
  "error":"invalid_request"
}
{
  "error":"invalid_client"
}
{
  "error":"invalid_request"
}

Form Data

grant_type
string
required

Please set to http://oauth.net/grant_type/device/1.0

code
string
required

Please set the device_code got from Step1.

client_id
string
required

App ID. You also can transfer via HTTP Basic access authentication.

client_secret
string
required

App Secret. You also can transfer via HTTP Basic access authentication.

 
Suggest Edits

Token Refreshing

 

Access Token and Refresh Token which are gotten via Token API have validity. Access Token will expired, which time is based on expires_in. The validity of Refresh Token is little longer than Access Token, please refresh these tokens before they expire. It will affect the user experience if the token expire.

  • Token API Response
{
  "access_token": "{ACCESS_TOKEN}",
  "expires_in": 2592000,
  "token_type": "Bearer",
  "refresh_token": "{REFRESH_TOKEN}"
}
  • JSON value description
KEY
VALUE DESCRIPTION

access_token

Access Token is used for subsequent calls. For example, KKBOX API Service.

expires_in

The time period of access token's validity.

token_type

Access token may be used under a particular type. Such as "Bearer".

refresh_token

A token that can be sent to KKBOX Service to replace access code. In this way, user can get a new access token and refresh token.

Check here to know how to refresh the token Token API for Refreshing .
In the valid time period, call Refresh Token ( Token API for Refreshing ) to update Access Token.

Token API for Refreshing Request

POST /oauth2/token HTTP/1.1
Authorization: Basic {BASE64_ENCODE(CLIENT_ID:CLIENT_SECRET)}
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com

grant_type=refresh_token&refresh_token={REFRESH_TOKEN}
{
  "access_token": "{NEW_ACCESS_TOKEN}",
  "expires_in": 9223372036854775807,
  "token_type": "Bearer",
  "scope": "user_account_status user_profile user_territory",
  "refresh_token": "{NEW_REFRESH_TOKEN}"
}
  • Notice that : If the result show error message, please do OAuth authorization again.
Suggest Edits

Token API for Refreshing

Use refresh_token to get a new access_token

 
posthttps://account.kkbox.com/oauth2/token
POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: account.kkbox.com

grant_type=refresh_token&refresh_token=y700ELGGlsR+qU5ohZtOeg==&client_id=234560AA085B38C19FB60371C8C6D25E&client_secret=6B7928FDE40394CCC81962D7700C0107
A binary file was returned

You couldn't be authenticated

{
  "access_token": "fCVTwABPlcO6Qxc7Ll23rsdfsf",
  "expires_in": 9223372036854775807,
  "token_type": "Bearer",
  "refresh_token": "UfKLz4PHepEkIaGvmXUm3z=="
}
{
  "error":"invalid_request"
}
{
  "error":"invalid_client"
}
{
  "error":"invalid_grant"
}
{
  "error":"invalid_request"
}

Form Data

grant_type
string
required

Please set to refresh_token

refresh_token
string
required

Set the refresh token which is gotten through Authorization Code Flow or Devices Flow

client_id
string
required

App ID. You also can transfer via HTTP Basic access authentication.

client_secret
string
required

App Secret. You also can transfer via HTTP Basic access authentication.

 
Suggest Edits

Getting Started

 

After getting Access Token through KKBOX OAuth 2.0 API, we could start to use KKBOX Open API. To get data, you have to add Authorization: Bearer my_access_token in Headers of HTTP Request.
For example, if your Access Token is fCVTwABPlcO6Qxc7Ll23rsdfsf, and you want to get KKBOX Charts, the content of HTTP Request is

GET /v1.1/charts?territory=TW HTTP/1.1
Authorization: Bearer fCVTwABPlcO6Qxc7Ll23rsdfsf
Host: api.kkbox.com

If you want to know further, please check Charts API document

The search API for query KKBOX's music libraries.

Suggest Edits

Charts

Song rankings from the KKBOX's service.

 
Suggest Edits

/charts

List of song rankings.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/charts
GET /v1.1/charts?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/charts?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/charts?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/charts?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/charts?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/charts?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/charts?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "LZPhK2EyYzN15dU-PT",
      "title": "綜合新歌即時榜",
      "description": "綜合新歌即時榜",
      "url": "https://www.kkbox.com/tw/tc/playlist/LZPhK2EyYzN15dU-PT",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/59599602v1259/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/59599602v1259/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/59599602v1259/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-08-02T03:01:58+00:00",
      "owner": {
        "id": "T-YMdq3gnf6AVbuqgt",
        "url": "https://www.kkbox.com/tw/profile/T-YMdq3gnf6AVbuqgt",
        "name": "KKBOX",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "PYQbSKw4piAuZAS8z8",
      "title": "華語單曲日榜",
      "description": "華語單曲日榜",
      "url": "https://www.kkbox.com/tw/tc/playlist/PYQbSKw4piAuZAS8z8",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/65090851v1/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/65090851v1/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/65090851v1/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-08-01T23:20:50+00:00",
      "owner": {
        "id": "T-YMdq3gnf6AVbuqgt",
        "url": "https://www.kkbox.com/tw/profile/T-YMdq3gnf6AVbuqgt",
        "name": "KKBOX",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "1-O_-tQ-1E2cxrYDeH",
      "title": "西洋單曲日榜",
      "description": "西洋單曲日榜",
      "url": "https://www.kkbox.com/tw/tc/playlist/1-O_-tQ-1E2cxrYDeH",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/65090970v1/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/65090970v1/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/65090970v1/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-08-01T23:21:04+00:00",
      "owner": {
        "id": "T-YMdq3gnf6AVbuqgt",
        "url": "https://www.kkbox.com/tw/profile/T-YMdq3gnf6AVbuqgt",
        "name": "KKBOX",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "DXg7Kh_0Hhl4u8NbiB",
      "title": "韓語單曲日榜",
      "description": "韓語單曲日榜",
      "url": "https://www.kkbox.com/tw/tc/playlist/DXg7Kh_0Hhl4u8NbiB",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/65090872v1/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/65090872v1/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/65090872v1/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-08-01T23:20:53+00:00",
      "owner": {
        "id": "T-YMdq3gnf6AVbuqgt",
        "url": "https://www.kkbox.com/tw/profile/T-YMdq3gnf6AVbuqgt",
        "name": "KKBOX",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "5YQgr1nN3dAINAbNFD",
      "title": "日語單曲日榜",
      "description": "日語單曲日榜",
      "url": "https://www.kkbox.com/tw/tc/playlist/5YQgr1nN3dAINAbNFD",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/65090865v1/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/65090865v1/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/65090865v1/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-08-01T23:20:52+00:00",
      "owner": {
        "id": "T-YMdq3gnf6AVbuqgt",
        "url": "https://www.kkbox.com/tw/profile/T-YMdq3gnf6AVbuqgt",
        "name": "KKBOX",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/noimg/cropresize/300x300.jpg"
          }
        ]
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 5,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 29
  }
}

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a song ranking.

 
Suggest Edits

/charts/:chart_id

To retrieve information of the song ranking with chart_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/charts/chart_id
GET /v1.1/charts/X-6lSz-IwzDxkPuDP-?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/charts/4nUZM-TY2aVxZ2xaA-?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/charts/4nUZM-TY2aVxZ2xaA-?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/charts/4nUZM-TY2aVxZ2xaA-?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/charts/4nUZM-TY2aVxZ2xaA-?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/charts/4nUZM-TY2aVxZ2xaA-?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/charts/4nUZM-TY2aVxZ2xaA-?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "tracks": {
    "data": [
      {
        "id": "Cl6IBBqIFKtg2hkWuB",
        "name": "有一種悲傷 (A Kind of Sorrow)",
        "duration": 237008,
        "url": "https://www.kkbox.com/tw/tc/song/EJT009KS-TZFBgeRFBgeR0XL-index.html",
        "track_number": 1,
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "album": {
          "id": "OtS1j6YhEqbM8XuF5D",
          "name": "有一種悲傷 (A Kind of Sorrow)",
          "url": "https://www.kkbox.com/tw/tc/album/aMZ0PysNRqgHN0F2RKf6009H-index.html",
          "explicitness": false,
          "available_territories": [
            "TW",
            "HK",
            "SG",
            "MY",
            "JP"
          ],
          "release_date": "2018-10-12",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/global/40716998,1v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/global/40716998,1v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/global/40716998,1v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "Osbh3TUzyafhBl0WD5",
            "name": "A-Lin",
            "url": "https://www.kkbox.com/tw/tc/artist/RTQrEhYKUkU5NCX0F03LZ08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/13667,0v22/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/13667,0v22/fit/300x300.jpg"
              }
            ]
          }
        }
      }....
    ],
  "updated_at": "2018-12-12T19:38:46+00:00",
  "owner": {
    "id": "T-YMdq3gnf6AVbuqgt",
    "url": "https://www.kkbox.com/tw/profile/T-YMdq3gnf6AVbuqgt",
    "name": "KKBOX",
    "description": "",
    "images": [
      {
        "height": 75,
        "width": 75,
        "url": "https://i.kfs.io/muser/global/noimg/cropresize/75x75.jpg"
      },
      {
        "height": 180,
        "width": 180,
        "url": "https://i.kfs.io/muser/global/noimg/cropresize/180x180.jpg"
      },
      {
        "height": 300,
        "width": 300,
        "url": "https://i.kfs.io/muser/global/noimg/cropresize/300x300.jpg"
      }
    ]
  }
}

Path Params

chart_id
string
required

The identifier of a song raking.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a song ranking.

 
Suggest Edits

/charts/:chart_id/tracks

List tracks of a chart playlist.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/charts/chart_id/tracks
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/charts/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&offset=0&limit=2' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/charts/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&offset=0&limit=2")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/charts/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&offset=0&limit=2",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/charts/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&offset=0&limit=2", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/charts/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&offset=0&limit=2",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/charts/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&offset=0&limit=2"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "Cl6IBBqIFKtg2hkWuB",
      "name": "有一種悲傷 (A Kind of Sorrow)",
      "duration": 237008,
      "url": "https://www.kkbox.com/tw/tc/song/EJT009KS-TZFBgeRFBgeR0XL-index.html",
      "track_number": 1,
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "OtS1j6YhEqbM8XuF5D",
        "name": "有一種悲傷 (A Kind of Sorrow)",
        "url": "https://www.kkbox.com/tw/tc/album/aMZ0PysNRqgHN0F2RKf6009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2018-10-12",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/40716998,1v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/40716998,1v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/40716998,1v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "Osbh3TUzyafhBl0WD5",
          "name": "A-Lin",
          "url": "https://www.kkbox.com/tw/tc/artist/RTQrEhYKUkU5NCX0F03LZ08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/13667,0v22/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/13667,0v22/fit/300x300.jpg"
            }
          ]
        }
      }
    },
    {
      "id": "CrmRXkVxa7_3NcU5lL",
      "name": "備胎 (feat. Eetu Kalavainen)",
      "duration": 272013,
      "url": "https://www.kkbox.com/tw/tc/song/ydR00K7A0TnUF7q5UF7q50XL-index.html",
      "track_number": 1,
      "explicitness": true,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "PX-NUOP3Q7mrw8OHOO",
        "name": "備胎 (feat. Eetu Kalavainen)",
        "url": "https://www.kkbox.com/tw/tc/album/GPk7Uh328ma8L0F2XdRF009H-index.html",
        "explicitness": true,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2018-11-29",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/42374863,1v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/42374863,1v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/42374863,1v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "4nnlQg-K2KLL4Qwdrg",
          "name": "謝和弦 (R-chord)",
          "url": "https://www.kkbox.com/tw/tc/artist/E0hu.wEuV-BsvmQ0F09mG08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/40080,0v12/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/40080,0v12/fit/300x300.jpg"
            }
          ]
        }
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 2,
    "previous": null,
    "next": "https://api.kkbox.com/v1.1/charts/X-6lSz-IwzDxkPuDP-/tracks?limit=2&territory=TW&offset=2"
  },
  "summary": {
    "total": 100
  }
}

Path Params

chart_id
string
required

The identifier of a song ranking.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a song ranking.

limit
int32

The number of items to return per page, not to exceed 500.

offset
int32

The offset index for first element.

 
Suggest Edits

New Hits Playlists

 

The new hits playlists from the KKBOX service.

Suggest Edits

/new-hits-playlists

List of new hits playlists.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/new-hits-playlists
GET /v1.1/new-hits-playlists?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/new-hits-playlists?territory=TW&offset=0&limit=10")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/new-hits-playlists?territory=TW&offset=0&limit=10",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/new-hits-playlists?territory=TW&offset=0&limit=10", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/new-hits-playlists?territory=TW&offset=0&limit=10",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/new-hits-playlists?territory=TW&offset=0&limit=10"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/new-hits-playlists?territory=TW&offset=0&limit=10' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "DZrC8m29ciOFY2JAm3",
      "title": "華語速爆新歌 (每週二五更新)",
      "description": "【封面人物:曾沛慈】\n大受好評華語歌壇重量級速爆歌單,\n收藏一張歌單,流行最強音零時差搶先收聽。",
      "url": "https://www.kkbox.com/tw/tc/playlist/DZrC8m29ciOFY2JAm3",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/26541395v263/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/26541395v263/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/26541395v263/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-07-30T10:13:43+00:00",
      "owner": {
        "id": "Os-z4yYPRlzOAkzZm3",
        "url": "https://www.kkbox.com/tw/profile/Os-z4yYPRlzOAkzZm3",
        "name": "KKBOX 華語小編",
        "description": "這次我要播很多 華語 類別的歌曲,快來跟我一起聽音樂吧!",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/94562966v27/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/94562966v27/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/94562966v27/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "DZni8m29ciOFbRxTJq",
      "title": "西洋速爆新歌  (每週六更新)",
      "description": "最新西洋新歌都在這裡!Cover:Alan Walker",
      "url": "https://www.kkbox.com/tw/tc/playlist/DZni8m29ciOFbRxTJq",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/26541409v142/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/26541409v142/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/26541409v142/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-07-27T03:12:14+00:00",
      "owner": {
        "id": "5XIttVqe0foATcIFMp",
        "url": "https://www.kkbox.com/tw/profile/5XIttVqe0foATcIFMp",
        "name": "KKBOX 西洋小編",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/94563062v1/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/94563062v1/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/94563062v1/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "1_pCwOnj-qZsGU3rTJ",
      "title": "日語速爆新歌(每週日更新)",
      "description": "最新日語新歌都在這裡!\n\nCover Artist:愛繆",
      "url": "https://www.kkbox.com/tw/tc/playlist/1_pCwOnj-qZsGU3rTJ",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/26541410v126/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/26541410v126/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/26541410v126/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-07-26T08:01:46+00:00",
      "owner": {
        "id": "Ooerjv5-p-TJsFGLg5",
        "url": "https://www.kkbox.com/tw/profile/Ooerjv5-p-TJsFGLg5",
        "name": "KKBOX 日語小編",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/94563302v1/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/94563302v1/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/94563302v1/cropresize/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "0kM_Sp_Ezou3BMGK-n",
      "title": "韓語速爆新歌 (每週一更新)",
      "description": "最新韓語新歌都在這裡!\nCover Artist:姜丹尼爾",
      "url": "https://www.kkbox.com/tw/tc/playlist/0kM_Sp_Ezou3BMGK-n",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/26541412v131/cropresize/300x300.jpg"
        },
        {
          "height": 600,
          "width": 600,
          "url": "https://i.kfs.io/playlist/global/26541412v131/cropresize/600x600.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/playlist/global/26541412v131/cropresize/1000x1000.jpg"
        }
      ],
      "updated_at": "2019-08-01T03:39:32+00:00",
      "owner": {
        "id": "D-gh_8TEudW64tRSCs",
        "url": "https://www.kkbox.com/tw/profile/D-gh_8TEudW64tRSCs",
        "name": "KKBOX 韓語小編",
        "description": "",
        "images": [
          {
            "height": 75,
            "width": 75,
            "url": "https://i.kfs.io/muser/global/94563350v1/cropresize/75x75.jpg"
          },
          {
            "height": 180,
            "width": 180,
            "url": "https://i.kfs.io/muser/global/94563350v1/cropresize/180x180.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/muser/global/94563350v1/cropresize/300x300.jpg"
          }
        ]
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 5,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 4
  }
}

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a new hits playlist.

 
Suggest Edits

/new-hits-playlists/:playlist_id

To retrieve information of the new hits playlist with playlist_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/new-hits-playlists/playlist_id
GET /v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "tracks": {
    "data": [
      {
        "id": "WpOR92XbaMOw9-5qhi",
        "name": "謎之音 (Confession)",
        "duration": 265691,
        "url": "https://www.kkbox.com/tw/tc/song/JFs00H.4ZH-RiJY8RiJY80XL-index.html",
        "track_number": 1,
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "album": {
          "id": "Ol6Nm-x5CCud88oW2-",
          "name": "謎之音 (Confession)",
          "url": "https://www.kkbox.com/tw/tc/album/SkqaUAPZS2gFu0F3Tz3N009H-index.html",
          "explicitness": false,
          "available_territories": [
            "TW",
            "HK",
            "SG",
            "MY",
            "JP"
          ],
          "release_date": "2019-07-26",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/global/58192087,1v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/global/58192087,1v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/global/58192087,1v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "0t3qKleq91sO_PChVT",
            "name": "曾沛慈 (Pets Tseng)",
            "url": "https://www.kkbox.com/tw/tc/artist/XPFR3oF3.0Dh890F03rWf08K-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/1013803,0v5/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/1013803,0v5/fit/300x300.jpg"
              }
            ]
          }
        }
      },
      {
        "id": "9-Gl4RJfF6qQ0WU7dr",
        "name": "兩秒終 (2 Seconds)",
        "duration": 220473,
        "url": "https://www.kkbox.com/tw/tc/song/eUb00W15WD-jkBmgjkBmg0XL-index.html",
        "track_number": 3,
        "explicitness": true,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "album": {
          "id": "PavDxuKhDe7LXcxCwo",
          "name": "WHAT A LIFE",
          "url": "https://www.kkbox.com/tw/tc/album/UGQdQ3-uysUVU0F3VCL.009H-index.html",
          "explicitness": true,
          "available_territories": [
            "TW",
            "HK",
            "SG",
            "MY",
            "JP"
          ],
          "release_date": "2019-07-25",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/global/58508645,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/global/58508645,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/global/58508645,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "4pCYG3uv_-WY5d9QYt",
            "name": "周湯豪 (NICKTHEREAL)",
            "url": "https://www.kkbox.com/tw/tc/artist/RMbSPqW5.xeUHFK0F0CqQ08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/52634,0v5/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/52634,0v5/fit/300x300.jpg"
              }
            ]
          }
        }
      },
      {
        "id": "SqrAF0uNV6Obwu2w1w",
        "name": "simple",
        "duration": 169534,
        "url": "https://www.kkbox.com/tw/tc/song/1GX00C3TNH-I6jYOI6jYO0XL-index.html",
        "track_number": 1,
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "album": {
          "id": "8pHFTC4cvmYiMRIm5j",
          "name": "simple",
          "url": "https://www.kkbox.com/tw/tc/album/x86rxvWwRBZLO0F3Wagx009H-index.html",
          "explicitness": false,
          "available_territories": [
            "TW",
            "HK",
            "SG",
            "MY",
            "JP"
          ],
          "release_date": "2019-07-26",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/global/58878781,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/global/58878781,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/global/58878781,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "8sh6QVl8zbMOksEAKR",
            "name": "葛仲珊 (MISS KO)",
            "url": "https://www.kkbox.com/tw/tc/artist/mjv4v-5-0dn.j5g0F0wVp08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/247797,0v5/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/247797,0v5/fit/300x300.jpg"
              }
            ]
          }
        }
      },
    ],
    "paging": {
      "offset": 0,
      "limit": 100,
      "previous": null,
      "next": null
    },
    "summary": {
      "total": 51
    }
  },
  "id": "DZrC8m29ciOFY2JAm3",
  "title": "華語速爆新歌 (每週二五更新)",
  "description": "【封面人物:曾沛慈】\n大受好評華語歌壇重量級速爆歌單,\n收藏一張歌單,流行最強音零時差搶先收聽。",
  "url": "https://www.kkbox.com/tw/tc/playlist/DZrC8m29ciOFY2JAm3",
  "images": [
    {
      "height": 300,
      "width": 300,
      "url": "https://i.kfs.io/playlist/global/26541395v263/cropresize/300x300.jpg"
    },
    {
      "height": 600,
      "width": 600,
      "url": "https://i.kfs.io/playlist/global/26541395v263/cropresize/600x600.jpg"
    },
    {
      "height": 1000,
      "width": 1000,
      "url": "https://i.kfs.io/playlist/global/26541395v263/cropresize/1000x1000.jpg"
    }
  ],
  "updated_at": "2019-07-30T10:13:43+00:00",
  "owner": {
    "id": "Os-z4yYPRlzOAkzZm3",
    "url": "https://www.kkbox.com/tw/profile/Os-z4yYPRlzOAkzZm3",
    "name": "KKBOX 華語小編",
    "description": "這次我要播很多 華語 類別的歌曲,快來跟我一起聽音樂吧!",
    "images": [
      {
        "height": 75,
        "width": 75,
        "url": "https://i.kfs.io/muser/global/94562966v27/cropresize/75x75.jpg"
      },
      {
        "height": 180,
        "width": 180,
        "url": "https://i.kfs.io/muser/global/94562966v27/cropresize/180x180.jpg"
      },
      {
        "height": 300,
        "width": 300,
        "url": "https://i.kfs.io/muser/global/94562966v27/cropresize/300x300.jpg"
      }
    ]
  }
}

Path Params

playlist_id
string
required

The identifier of a new hits playlist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a new hits playlist.

 
Suggest Edits

/new-hits-playlists/:playlist_id/tracks

List of tracks of a new hits playlist.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/new-hits-playlists/playlist_id/tracks
GET /v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&limit=3 HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&offset=42&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&offset=42&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&offset=42&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&offset=42&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&offset=42&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?territory=TW&offset=42&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "WpOR92XbaMOw9-5qhi",
      "name": "謎之音 (Confession)",
      "duration": 265691,
      "url": "https://www.kkbox.com/tw/tc/song/JFs00H.4ZH-RiJY8RiJY80XL-index.html",
      "track_number": 1,
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "Ol6Nm-x5CCud88oW2-",
        "name": "謎之音 (Confession)",
        "url": "https://www.kkbox.com/tw/tc/album/SkqaUAPZS2gFu0F3Tz3N009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-26",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/58192087,1v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/58192087,1v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/58192087,1v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "0t3qKleq91sO_PChVT",
          "name": "曾沛慈 (Pets Tseng)",
          "url": "https://www.kkbox.com/tw/tc/artist/XPFR3oF3.0Dh890F03rWf08K-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/1013803,0v5/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/1013803,0v5/fit/300x300.jpg"
            }
          ]
        }
      }
    },
    {
      "id": "9-Gl4RJfF6qQ0WU7dr",
      "name": "兩秒終 (2 Seconds)",
      "duration": 220473,
      "url": "https://www.kkbox.com/tw/tc/song/eUb00W15WD-jkBmgjkBmg0XL-index.html",
      "track_number": 3,
      "explicitness": true,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "PavDxuKhDe7LXcxCwo",
        "name": "WHAT A LIFE",
        "url": "https://www.kkbox.com/tw/tc/album/UGQdQ3-uysUVU0F3VCL.009H-index.html",
        "explicitness": true,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-25",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/58508645,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/58508645,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/58508645,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "4pCYG3uv_-WY5d9QYt",
          "name": "周湯豪 (NICKTHEREAL)",
          "url": "https://www.kkbox.com/tw/tc/artist/RMbSPqW5.xeUHFK0F0CqQ08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/52634,0v5/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/52634,0v5/fit/300x300.jpg"
            }
          ]
        }
      }
    },
    {
      "id": "SqrAF0uNV6Obwu2w1w",
      "name": "simple",
      "duration": 169534,
      "url": "https://www.kkbox.com/tw/tc/song/1GX00C3TNH-I6jYOI6jYO0XL-index.html",
      "track_number": 1,
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "8pHFTC4cvmYiMRIm5j",
        "name": "simple",
        "url": "https://www.kkbox.com/tw/tc/album/x86rxvWwRBZLO0F3Wagx009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-26",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/58878781,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/58878781,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/58878781,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "8sh6QVl8zbMOksEAKR",
          "name": "葛仲珊 (MISS KO)",
          "url": "https://www.kkbox.com/tw/tc/artist/mjv4v-5-0dn.j5g0F0wVp08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/247797,0v5/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/247797,0v5/fit/300x300.jpg"
            }
          ]
        }
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 3,
    "previous": null,
    "next": "https://api.kkbox.com/v1.1/new-hits-playlists/DZrC8m29ciOFY2JAm3/tracks?limit=3&territory=TW&offset=3"
  },
  "summary": {
    "total": 51
  }
}

Path Params

playlist_id
string
required

The identifier of a new hits playlist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a new hits playlist.

limit
int32

The number of items to return per page, not to exceed 500

offset
int32

The offset index for first element.

 
Suggest Edits

New Release Categories

 

New release categories from the KKBOX service.

Suggest Edits

/new-release-categories

List of new release categories.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/new-release-categories
GET /v1.1/new-release-categories?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/new-release-categories?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/new-release-categories?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/new-release-categories?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/new-release-categories?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/new-release-categories?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/new-release-categories?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "KrdH2LdyUKS8z2aoxX",
      "title": "綜合"
    },
    {
      "id": "Cng5IUIQhxb8w1cbsz",
      "title": "華語"
    },
    {
      "id": "CkgxHJdAgNrEruEDza",
      "title": "西洋"
    },
    {
      "id": "4pVhRTE2XjCwnJfQRn",
      "title": "韓語"
    },
    {
      "id": "-nap5A1iST1A6Ny3ze",
      "title": "日語"
    },
    {
      "id": "1ZQwmFTaLE4p7BG-Ua",
      "title": "台語"
    },
    {
      "id": "GtN6qomUYBvqtWeRP8",
      "title": "粵語"
    },
    {
      "id": "HaGEkt7m7GQpGZOizF",
      "title": "原聲帶"
    },
    {
      "id": "8oroiyJSZINEq8f7Nc",
      "title": "電子"
    },
    {
      "id": "0oiRsbGpPKxymZD1Lg",
      "title": "嘻哈"
    },
    {
      "id": "XZjUObcyRqcInHd62v",
      "title": "R&B"
    },
    {
      "id": "KsOPYl5NAnG7rpnWpe",
      "title": "搖滾"
    },
    {
      "id": "Ksfvcl5NAnG7pjDuca",
      "title": "另類/獨立"
    },
    {
      "id": "Cod1x4lH1l7Y1dhuy4",
      "title": "靈魂樂"
    },
    {
      "id": "LX484KR5HnYUt4luvG",
      "title": "鄉村"
    },
    {
      "id": "0nyjA5B6Bj-8DkdXVI",
      "title": "雷鬼"
    },
    {
      "id": "0pGAIGDf5SqYh_SyHr",
      "title": "藍調歌曲"
    },
    {
      "id": "5YLZUQJX6npjoGcFdr",
      "title": "有聲書/相聲"
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 50,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 18
  }
}

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a new release category.

limit
int32

The number of items to return per page, not to exceed 500.

offset
int32

The offset index for first element.

 
Suggest Edits

/new-release-categories/:category_id

To retrieve information of the new release category with category_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/new-release-categories/category_id
GET /v1.1/new-release-categories/1ZQwmFTaLE4p7BG-Ua?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "1ZQwmFTaLE4p7BG-Ua",
  "title": "台語",
  "albums": {
    "data": [
      {
        "id": "8tH-BDNMZgqWexd-LS",
        "name": "無你惦身邊 (Long Distance Relationship)",
        "url": "https://www.kkbox.com/tw/tc/album/lf-b9ejuhjUI-0F3V.y2009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-08-01",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/58613634,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/58613634,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/58613634,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "Cr1MGNx2Y7UDAI8Cth",
          "name": "魏嘉榆",
          "url": "https://www.kkbox.com/tw/tc/artist/ERROlu4B5PP6.Y0F0Dngd08K-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/3619625,0v1/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/3619625,0v1/fit/300x300.jpg"
            }
          ]
        }
      },
      {
        "id": "WoJGwjRnYBvu8I7Z8n",
        "name": "咱的膨紗衫",
        "url": "https://www.kkbox.com/tw/tc/album/5HD8jxEsxTljC0F3YlV2009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-31",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/59447234,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/59447234,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/59447234,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "__Zt5ICtv1wl2B0drt",
          "name": "王瑞霞",
          "url": "https://www.kkbox.com/tw/tc/artist/3sTqVU9OIzsit1DU0F0Ns08I-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/1528,0v1/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/1528,0v1/fit/300x300.jpg"
            }
          ]
        }
      },
      {
        "id": "-rACvEbp1XBjKwFpGe",
        "name": "愛到底",
        "url": "https://www.kkbox.com/tw/tc/album/02ZzYbMMivLZy0F3XJoE009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-24",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/59063566,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/59063566,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/59063566,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "9ZvjQ3i6Jj_jLQm727",
          "name": "白冰冰",
          "url": "https://www.kkbox.com/tw/tc/artist/03oq-55HsAIhveH0F01Wv08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/6203,0v1/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/6203,0v1/fit/300x300.jpg"
            }
          ]
        }
      },
      {
        "id": "PYBSkUqmqns_RzyIci",
        "name": "爸爸",
        "url": "https://www.kkbox.com/tw/tc/album/CCMkoa9qqfRKt0F3XG0R009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-24",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/59047963,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/59047963,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/59047963,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "-ptBFzWlb8HCQypwkd",
          "name": "顏千翔",
          "url": "https://www.kkbox.com/tw/tc/artist/OqBCtUOPhyING0F011fbV08L-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/tw/noimg/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/tw/noimg/fit/300x300.jpg"
            }
          ]
        }
      },
      {
        "id": "-nlaaCE4NWEdaOICHN",
        "name": "終愛",
        "url": "https://www.kkbox.com/tw/tc/album/vCV8cstfqZ8eT0F3WnHr009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2019-07-23",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/58930295,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/58930295,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/58930295,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "L_hPERzqgunFPnzaIP",
          "name": "陳采捷 (CAI JIE)",
          "url": "https://www.kkbox.com/tw/tc/artist/f4aHazN.JwiwG0F011-qh08L-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/tw/noimg/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/tw/noimg/fit/300x300.jpg"
            }
          ]
        }
      }
    ],
    "paging": {
      "offset": 0,
      "limit": 5,
      "previous": null,
      "next": null
    },
    "summary": {
      "total": 21
    }
  }
}

Path Params

category_id
string
required

The identifier of a new release category.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a new release category.

 
Suggest Edits

/new-release-categories/:category_id/albums

List of albums of a new release category.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/new-release-categories/category_id/albums
GET /v1.1/new-release-categories/1ZQwmFTaLE4p7BG-Ua/albums?territory=TW&limit=5 HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX/albums?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX/albums?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX/albums?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX/albums?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX/albums?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/new-release-categories/KrdH2LdyUKS8z2aoxX/albums?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "8tH-BDNMZgqWexd-LS",
      "name": "無你惦身邊 (Long Distance Relationship)",
      "url": "https://www.kkbox.com/tw/tc/album/lf-b9ejuhjUI-0F3V.y2009H-index.html",
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "release_date": "2019-08-01",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/global/58613634,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/global/58613634,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/global/58613634,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "Cr1MGNx2Y7UDAI8Cth",
        "name": "魏嘉榆",
        "url": "https://www.kkbox.com/tw/tc/artist/ERROlu4B5PP6.Y0F0Dngd08K-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/global/3619625,0v1/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/global/3619625,0v1/fit/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "WoJGwjRnYBvu8I7Z8n",
      "name": "咱的膨紗衫",
      "url": "https://www.kkbox.com/tw/tc/album/5HD8jxEsxTljC0F3YlV2009H-index.html",
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "release_date": "2019-07-31",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/global/59447234,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/global/59447234,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/global/59447234,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "__Zt5ICtv1wl2B0drt",
        "name": "王瑞霞",
        "url": "https://www.kkbox.com/tw/tc/artist/3sTqVU9OIzsit1DU0F0Ns08I-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/global/1528,0v1/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/global/1528,0v1/fit/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "-rACvEbp1XBjKwFpGe",
      "name": "愛到底",
      "url": "https://www.kkbox.com/tw/tc/album/02ZzYbMMivLZy0F3XJoE009H-index.html",
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "release_date": "2019-07-24",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/global/59063566,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/global/59063566,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/global/59063566,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "9ZvjQ3i6Jj_jLQm727",
        "name": "白冰冰",
        "url": "https://www.kkbox.com/tw/tc/artist/03oq-55HsAIhveH0F01Wv08J-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/global/6203,0v1/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/global/6203,0v1/fit/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "PYBSkUqmqns_RzyIci",
      "name": "爸爸",
      "url": "https://www.kkbox.com/tw/tc/album/CCMkoa9qqfRKt0F3XG0R009H-index.html",
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "release_date": "2019-07-24",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/global/59047963,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/global/59047963,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/global/59047963,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "-ptBFzWlb8HCQypwkd",
        "name": "顏千翔",
        "url": "https://www.kkbox.com/tw/tc/artist/OqBCtUOPhyING0F011fbV08L-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/tw/noimg/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/tw/noimg/fit/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "-nlaaCE4NWEdaOICHN",
      "name": "終愛",
      "url": "https://www.kkbox.com/tw/tc/album/vCV8cstfqZ8eT0F3WnHr009H-index.html",
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "release_date": "2019-07-23",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/global/58930295,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/global/58930295,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/global/58930295,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "L_hPERzqgunFPnzaIP",
        "name": "陳采捷 (CAI JIE)",
        "url": "https://www.kkbox.com/tw/tc/artist/f4aHazN.JwiwG0F011-qh08L-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/tw/noimg/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/tw/noimg/fit/300x300.jpg"
          }
        ]
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 5,
    "previous": null,
    "next": "https://api.kkbox.com/v1.1/new-release-categories/1ZQwmFTaLE4p7BG-Ua/albums?limit=5&territory=TW&offset=5"
  },
  "summary": {
    "total": 21
  }
}

Path Params

category_id
string
required

The identifier of a new release category.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a new release category.

limit
int32

The number of items to return per page, not to exceed 500.

offset
int32

The offset index for first element.

 
Suggest Edits

Featured Playlist Categories

 

The featured playlist categories of the KKBOX service.

Suggest Edits

Featured Playlists

 

Hand-picked and arranged by KKBOX curators.

Suggest Edits

Shared Playlists

 

Playlist shared form KKBOX's users.

Suggest Edits

/shared-playlists/:playlist_id

To retrieve information of the shared playlist with playlist_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/shared-playlists/playlist_id
GET /v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "tracks": {
    "data": [
      {
        "id": "SsJItLYfDXYxalPgtU",
        "name": "這個世界",
        "duration": 240195,
        "url": "https://www.kkbox.com/tw/tc/song/NKl00LGCdYHWnLsZWnLsZ0XL-index.html",
        "track_number": 12,
        "explicitness": false,
        "available_territories": [
          "TW"
        ],
        "album": {
          "id": "CnWnDaRF4d6Z3EgCnv",
          "name": "這個世界 (This World)",
          "url": "https://www.kkbox.com/tw/tc/album/EPWsiNVmD5o7V0F193Zv009H-index.html",
          "explicitness": false,
          "available_territories": [
            "TW"
          ],
          "release_date": "2016-10-12",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/global/19151099,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/global/19151099,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/global/19151099,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "-lm_2ldXI0rBCMeriC",
            "name": "蔡藍欽",
            "url": "https://www.kkbox.com/tw/tc/artist/h-lOMWJF9LIrmo80F01Dn08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/4979,0v1/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/4979,0v1/fit/300x300.jpg"
              }
            ]
          }
        }
      },
      {
        "id": "-kQ0G1lzMveSbRJI1h",
        "name": "這個世界",
        "duration": 268956,
        "url": "https://www.kkbox.com/tw/tc/song/LKT-Nvm0x00w7Y91vH1vH0On-index.html",
        "track_number": 25,
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "album": {
          "id": "KqoKCbzKOnJP4qBEAZ",
          "name": "當我們混在一起 2005 演唱會 Live 全記錄",
          "url": "https://www.kkbox.com/tw/tc/album/.3-abKn7x-jiu1a0FDMp008l-index.html",
          "explicitness": false,
          "available_territories": [
            "TW",
            "HK",
            "SG",
            "MY",
            "JP"
          ],
          "release_date": "2005-05-27",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/tw/54709,0v3/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/tw/54709,0v3/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/tw/54709,0v3/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "9XN-7yg5vg3gYnCdsM",
            "name": "五月天 (Mayday)",
            "url": "https://www.kkbox.com/tw/tc/artist/Tqyk2VnYD3.Md.I0F01bv08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/6651,0v9/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/6651,0v9/fit/300x300.jpg"
              }
            ]
          }
        }
      },
    ],
    "paging": {
      "offset": 0,
      "limit": 100,
      "previous": null,
      "next": null
    },
    "summary": {
      "total": 10
    }
  },
  "id": "4nUZM-TY2aVxZ2xaA-",
  "title": "各種版本的「這個世界」",
  "description": "原來曾經有這麼多人重唱過「你的世界」",
  "url": "https://www.kkbox.com/tw/tc/playlist/4nUZM-TY2aVxZ2xaA-",
  "images": [
    {
      "height": 300,
      "width": 300,
      "url": "https://i.kfs.io/playlist/global/39885447v1/cropresize/300x300.jpg"
    },
    {
      "height": 600,
      "width": 600,
      "url": "https://i.kfs.io/playlist/global/39885447v1/cropresize/600x600.jpg"
    },
    {
      "height": 1000,
      "width": 1000,
      "url": "https://i.kfs.io/playlist/global/39885447v1/cropresize/1000x1000.jpg"
    }
  ],
  "updated_at": "2016-10-18T08:15:09+00:00",
  "owner": {
    "id": "CoiM4s7qXvCTQBLstX",
    "url": "https://www.kkbox.com/tw/profile/CoiM4s7qXvCTQBLstX",
    "name": "澳門首家線上__",
    "description": "http://about.me/honglong",
    "images": [
      {
        "height": 75,
        "width": 75,
        "url": "https://i.kfs.io/muser/global/34836681v2/cropresize/75x75.jpg"
      },
      {
        "height": 180,
        "width": 180,
        "url": "https://i.kfs.io/muser/global/34836681v2/cropresize/180x180.jpg"
      },
      {
        "height": 300,
        "width": 300,
        "url": "https://i.kfs.io/muser/global/34836681v2/cropresize/300x300.jpg"
      }
    ]
  }
}

Path Params

playlist_id
string
required

The identifier of a shared playlist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a shared playlist.

 
Suggest Edits

/shared-playlists/:playlist_id/tracks

List of songs of a shared playlist.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/shared-playlists/playlist_id/tracks
GET /v1.1/shared-playlists/-meJqWeQgu9_xxSLSy-/tracks?territory=TW&limit=3 HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "SsJItLYfDXYxalPgtU",
      "name": "這個世界",
      "duration": 240195,
      "url": "https://www.kkbox.com/tw/tc/song/NKl00LGCdYHWnLsZWnLsZ0XL-index.html",
      "track_number": 12,
      "explicitness": false,
      "available_territories": [
        "TW"
      ],
      "album": {
        "id": "CnWnDaRF4d6Z3EgCnv",
        "name": "這個世界 (This World)",
        "url": "https://www.kkbox.com/tw/tc/album/EPWsiNVmD5o7V0F193Zv009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW"
        ],
        "release_date": "2016-10-12",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/19151099,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/19151099,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/19151099,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "-lm_2ldXI0rBCMeriC",
          "name": "蔡藍欽",
          "url": "https://www.kkbox.com/tw/tc/artist/h-lOMWJF9LIrmo80F01Dn08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/4979,0v1/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/4979,0v1/fit/300x300.jpg"
            }
          ]
        }
      }
    },
    {
      "id": "-kQ0G1lzMveSbRJI1h",
      "name": "這個世界",
      "duration": 268956,
      "url": "https://www.kkbox.com/tw/tc/song/LKT-Nvm0x00w7Y91vH1vH0On-index.html",
      "track_number": 25,
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "KqoKCbzKOnJP4qBEAZ",
        "name": "當我們混在一起 2005 演唱會 Live 全記錄",
        "url": "https://www.kkbox.com/tw/tc/album/.3-abKn7x-jiu1a0FDMp008l-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2005-05-27",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/tw/54709,0v3/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/tw/54709,0v3/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/tw/54709,0v3/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "9XN-7yg5vg3gYnCdsM",
          "name": "五月天 (Mayday)",
          "url": "https://www.kkbox.com/tw/tc/artist/Tqyk2VnYD3.Md.I0F01bv08J-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/6651,0v9/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/6651,0v9/fit/300x300.jpg"
            }
          ]
        }
      }
    },
    {
      "id": "0oVpLhDXhv4OSjm_fJ",
      "name": "這個世界",
      "duration": 234370,
      "url": "https://www.kkbox.com/tw/tc/song/erPcI2o01.aG47W547W540P4-index.html",
      "track_number": 6,
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "__v-2rnU8IHVqOOmz9",
        "name": "黃鶯鶯搖籃曲",
        "url": "https://www.kkbox.com/tw/tc/album/LBvK2LMIsY7XwR0F1LyF0091-index.html",
        "explicitness": false,
        "available_territories": [
          "HK",
          "MY",
          "JP",
          "TW",
          "SG"
        ],
        "release_date": "2012-07-02",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/tw/352143,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/tw/352143,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/tw/352143,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "GsuNkAHedyFlIFnpAU",
          "name": "黃鶯鶯 (Tracy Huang)",
          "url": "https://www.kkbox.com/tw/tc/artist/Pu.C.nO1c58lTBej0F05f08I-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/363,0v1/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/363,0v1/fit/300x300.jpg"
            }
          ]
        }
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 3,
    "previous": null,
    "next": "https://api.kkbox.com/v1.1/shared-playlists/4nUZM-TY2aVxZ2xaA-/tracks?limit=3&territory=TW&offset=3"
  },
  "summary": {
    "total": 10
  }
}

Path Params

playlist_id
string
required

The identifier of a shared playlist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a shared playlist.

limit
int32

The number of items to return per page, not to exceed 500.

offset
int32

The offset index for first element.

 
Suggest Edits

Children Categories

Children's playlist categories

 

Playlist shared form KKBOX's users.

Suggest Edits

/children-categories

List of children categories.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/children-categories
GET /v1.1/children-categories?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "0k2KLFAF8gOKQCb-ev",
      "title": "親子音樂",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/parenting_category/global/2391,1v1/original.png"
        }
      ]
    },
    {
      "id": "Ksb_8l5NAnG7pCJEUU",
      "title": "親子故事 ",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/parenting_category/global/2394,1v1/original.png"
        }
      ]
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 20,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 2
  }
}
{
  "error": {
    "message": "Internal Server Error",
    "code": 0
  }
}

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of children categories.

 
Suggest Edits

/children-categories/:category_id

Get a children category.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/children-categories/category_id
GET /v1.1/children-categories/0k2KLFAF8gOKQCb-ev?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "0k2KLFAF8gOKQCb-ev",
  "title": "親子音樂",
  "images": [
    {
      "height": 300,
      "width": 300,
      "url": "https://i.kfs.io/parenting_category/global/2391,1v1/original.png"
    }
  ],
  "subcategories": [
    {
      "id": "Gk9Wa0nf7ghOBXuy0C",
      "title": "給孕媽咪",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2422,1v4/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2422,2v2/original.png"
        }
      ]
    },
    {
      "id": "0k8qLFAF8gOKR-KIdH",
      "title": "孩子別哭",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2429,1v2/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2429,2v2/original.png"
        }
      ]
    },
    {
      "id": "T-lsnAO5O_f16f9Onj",
      "title": "乖乖入睡",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2436,1v2/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2436,2v2/original.png"
        }
      ]
    },
    {
      "id": "5anGq7rkyS0whHkUIm",
      "title": "寶寶ABC",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2443,1v3/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2443,2v2/original.png"
        }
      ]
    },
    {
      "id": "HYRsP-R5lyXaOg_bBl",
      "title": "唱唱跳跳",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2450,1v2/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2450,2v2/original.png"
        }
      ]
    },
    {
      "id": "_Yx9Zf2IQWB1rLHG8W",
      "title": "經典兒歌",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2457,1v2/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2457,2v2/original.png"
        }
      ]
    },
    {
      "id": "SsylJ3v16xZPE-nP41",
      "title": "生活學習",
      "images": [
        {
          "height": 300,
          "width": 468,
          "url": "https://i.kfs.io/parenting_category/global/2462,1v1/original.png"
        },
        {
          "height": 300,
          "width": 711,
          "url": "https://i.kfs.io/parenting_category/global/2462,2v1/original.png"
        }
      ]
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 20,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 7
  }
}
{
  "error": {
    "message": "Internal Server Error",
    "code": 0
  }
}

Path Params

category_id
string
required

The identifier of a children category.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a children category.

 
Suggest Edits

/children-categories/:category_id/playlists

List of playlists of a children category.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/children-categories/category_id/playlists
GET /v1.1/children-categories/0k8qLFAF8gOKR-KIdH/playlists?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "4oVeGX4BBrbXysYZnx",
      "title": "ASMR 親子療育鋼琴",
      "description": "還在煩惱小孩開學無法收心嗎?ASMR是一種藉由聽覺等感知,對大腦刺激後產生愉悅感,導致頭皮、頸背產生酥癢、起雞皮疙瘩的反應。\r\r藉由鋼琴彈奏混和風聲、雨聲等自然音樂來達到放鬆,讓敏感或易失控的小朋友都能乖乖地聽媽媽的話吧!",
      "url": "https://www.kkbox.com/tw/tc/playlist/4oVeGX4BBrbXysYZnx",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/65241439v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1567995711,
      "owner": {
        "id": "8nUGVEWn8PadTWbu7A",
        "name": "許惠鈞:療癒鋼琴家"
      }
    },
    {
      "id": "8p8t_f3v9A9k9U6h5L",
      "title": "【寶寶必聽】止哭神曲,20首暖心哄小孩音樂",
      "description": "你家小孩哭不停?快放神曲讓他瞬間安靜。20首爵士、搖籃、鋼琴等風格的暖心童趣歌曲,陪你度過難關。",
      "url": "https://www.kkbox.com/tw/tc/playlist/8p8t_f3v9A9k9U6h5L",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/64476923v3/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1567565983,
      "owner": {
        "id": "5-0rkVNyTkJjX3k0Iq",
        "name": "貴族唱片"
      }
    },
    {
      "id": "OsyvSSHew-NvIKb3o3",
      "title": "用快樂陪伴孩子成長(9/4更新)",
      "description": "○音樂教育專家──李明蒨老師真摯推薦○\r\n透過音樂讓孩子更專注,\r\n刺激腦部、發揮潛在能力,\r\n陪伴孩子快樂成長。",
      "url": "https://www.kkbox.com/tw/tc/playlist/OsyvSSHew-NvIKb3o3",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60019783v3/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1567560338,
      "owner": {
        "id": "0kss6fdlKdsEiYkXPV",
        "name": "金革親子樂園"
      }
    },
    {
      "id": "Gk6iWljy1bzp0r97qv",
      "title": "兒童❤️輕鋼琴BGM",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/Gk6iWljy1bzp0r97qv",
      "images": [
        {
          "height": 300,
          "width": 357,
          "url": "https://i.kfs.io/playlist/global/65094858v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1565688679,
      "owner": {
        "id": "1YYWDsmPnvrYPo9Kzo",
        "name": "ABC線上幼兒園"
      }
    },
    {
      "id": "SoFUEqLgEcJDf2fFtl",
      "title": "奶瓶之間   -嬰兒寶寶育兒-",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/SoFUEqLgEcJDf2fFtl",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60890992v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1565682431,
      "owner": {
        "id": "Kmr1lzFdYXOrnwTv08",
        "name": "親子風潮"
      }
    },
    {
      "id": "1aqEfpK321QAc7Lok3",
      "title": "就是想和我的小寶貝在一起",
      "description": "最愛你的小寶貝,和他一起聽這些歌,讓他感受到把拔馬麻的愛吧!",
      "url": "https://www.kkbox.com/tw/tc/playlist/1aqEfpK321QAc7Lok3",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/59725064v2/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1561088621,
      "owner": {
        "id": "Os-z4yYPRlzOAkzZm3",
        "name": "KKBOX 華語小編"
      }
    },
    {
      "id": "KqsJ0ytpFVZGCQX2gW",
      "title": "乖乖不哭,爸爸媽媽抱抱惜惜",
      "description": "嗚嗚嗚 ~ 哇哇哇 ~ 來來來 抱一個親一個痛痛全都不見了",
      "url": "https://www.kkbox.com/tw/tc/playlist/KqsJ0ytpFVZGCQX2gW",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/64682136v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1560235009,
      "owner": {
        "id": "4kJcOI_lyuCwFp2qpU",
        "name": "麥克風樹"
      }
    },
    {
      "id": "GposH_46F7KFkQ0sYu",
      "title": "寶貝不怕,爸爸媽媽抱抱。",
      "description": "農曆7月,有些敏感體質的小孩,是不是半夜就會突然哭哭,民間傳說是說床母在幫忙教小孩,所以七夕的時候,要在小孩的床頭拜拜,請床母保佑小寶貝好吃好睡。但由於又剛開學,小孩面對新環境,難免會有分離焦慮,總是會哭鬧不休,這份歌單可以安撫寶貝們的情緒,讓他好吃好睡,不要哭哭喔!",
      "url": "https://www.kkbox.com/tw/tc/playlist/GposH_46F7KFkQ0sYu",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60020048v2/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1557471488,
      "owner": {
        "id": "4q9cRyYR5Kdk7K5GOV",
        "name": "凱莉媽的音樂廚房"
      }
    },
    {
      "id": "KmYZ5Nizu5MxH75QDp",
      "title": "下雨天不能遛小孩全職媽媽的厭世歌單",
      "description": "「媽媽,我想要出去玩」,「不行,現在下雨了」當這樣的對話,重複了三次以上,我想所有的媽媽都厭世了吧!",
      "url": "https://www.kkbox.com/tw/tc/playlist/KmYZ5Nizu5MxH75QDp",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60213276v2/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1557471420,
      "owner": {
        "id": "4q9cRyYR5Kdk7K5GOV",
        "name": "凱莉媽的音樂廚房"
      }
    },
    {
      "id": "_akVP6ewhzgngrItl5",
      "title": "親親寶貝,愛上古典樂",
      "description": "專門為學齡前小朋友、同時也是獻給爸爸媽媽與孩子創造共同聆聽時光的古典音樂選集。",
      "url": "https://www.kkbox.com/tw/tc/playlist/_akVP6ewhzgngrItl5",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/52040085v3/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1556871594,
      "owner": {
        "id": "D_YoomYcGauVGLHfua",
        "name": "K歌懶人包"
      }
    },
    {
      "id": "Woy1tE7ZlXeRBE1KG_",
      "title": "宅爸宅媽的育兒之歌",
      "description": "Super Mario, Final Fantasy, 瑪利歐賽車, 魂斗羅, 音速小子......已成為爸媽的你,是否還懷念著過去那些廢寢忘食、欲罷不能的美好回憶?讓寶貝們聽聽重新編曲的遊戲配樂,感受爸爸媽媽的那些年,彼此分享自己的快樂時光!",
      "url": "https://www.kkbox.com/tw/tc/playlist/Woy1tE7ZlXeRBE1KG_",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/64296184v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1556183597,
      "owner": {
        "id": "_Zf4gcOuRZN00hxdjv",
        "name": "KKBOX 編輯室"
      }
    },
    {
      "id": "4lc95W5chw1HuHZNMs",
      "title": "搖滾爸媽的育兒之歌",
      "description": "曾經跟隨過Queen, Coldplay, U2, Guns N Roses等搖滾天團吶喊的你,也可以跟寶貝分享你的最愛囉!重新編曲的天團經典,讓寶貝也能輕鬆入耳,感受你的所愛!",
      "url": "https://www.kkbox.com/tw/tc/playlist/4lc95W5chw1HuHZNMs",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/64296160v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1556175493,
      "owner": {
        "id": "Gs7pvciNmYVyOQm9QX",
        "name": "編輯室-Mandy"
      }
    },
    {
      "id": "8nvMKvmrFBkckCAFjb",
      "title": "路遙孩子不哭不哭 乘車寶寶乖",
      "description": "周末,連假 難得日子\r\n帶著寶貝出門對許多爸媽來說 宛如上戰場\r\n\r\n讓音樂撫慰寶寶無論是不安 抑或亢奮的路途心情 陪伴寶寶玩樂~\r\n音樂好聽 爸媽放心  快樂放假去\r\n萌寶貝愛音樂",
      "url": "https://www.kkbox.com/tw/tc/playlist/8nvMKvmrFBkckCAFjb",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60090837v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1553773206,
      "owner": {
        "id": "Kmr1lzFdYXOrnwTv08",
        "name": "親子風潮"
      }
    },
    {
      "id": "4lGZ8H5Mhw1HshJgWz",
      "title": "科學認證 十首史上最減壓的歌",
      "description": "引用英國的神經科學家路易士-霍奇遜博士(David Lewis-Hodgson)在「國際思維研究室」(Mindlab International)的最新研究報導。",
      "url": "https://www.kkbox.com/tw/tc/playlist/4lGZ8H5Mhw1HshJgWz",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/42227082v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1544911641,
      "owner": {
        "id": "4nZOCDKORLgbsSWpDb",
        "name": "祖崇"
      }
    },
    {
      "id": "PagHwgwpVCjblNBdq5",
      "title": "親子兒童  孩子伴日成長",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/PagHwgwpVCjblNBdq5",
      "images": [
        {
          "height": 300,
          "width": 312,
          "url": "https://i.kfs.io/playlist/global/61652029v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1525918308,
      "owner": {
        "id": "Kmr1lzFdYXOrnwTv08",
        "name": "親子風潮"
      }
    },
    {
      "id": "0rTjfCiyzZ7WEsW_jj",
      "title": "療癒人心的馬林巴木琴",
      "description": "馬林巴木琴(Marimba)它的前身是高音木琴(Xylophone),木琴在非洲大陸已有高度的發展,直到十八世紀,木琴隨著黑人傳入了拉丁美洲,才逐漸形成現在的樣子。在偶然的選擇下,因為當時盛產一種特有的玫瑰木,被用來製作木琴的琴鍵,卻意外地發現這種木材所發出的聲音,竟是如此地柔美、溫暖、厚實與飽滿。十分悅耳及療鬱。在交響樂團裡,雖然沒有像定音鼓那般吃重的角色,但在綜合打擊樂,馬林巴常常扮演著弦律主軸的角色。iphone的早期手機鈴聲都是預設為Marimba(馬林巴)歌單有收錄。",
      "url": "https://www.kkbox.com/tw/tc/playlist/0rTjfCiyzZ7WEsW_jj",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60398468v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1511427809,
      "owner": {
        "id": "4nZOCDKORLgbsSWpDb",
        "name": "祖崇"
      }
    },
    {
      "id": "WnlDuMLZBhWIvQcit-",
      "title": "親子樂 情緒感受與表達",
      "description": "親子樂 系列 (定期更新)\r\n\r\n音樂是 開啟孩子學習的絕佳媒介\r\n在尚未學習&初學語言的階段\r\n讓孩子接觸音樂 感受其中高興 快樂 興奮 難過等多樣的感知\r\n學習情緒表達 & 自我探索 \r\n\r\n",
      "url": "https://www.kkbox.com/tw/tc/playlist/WnlDuMLZBhWIvQcit-",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60352235v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1509692120,
      "owner": {
        "id": "Kmr1lzFdYXOrnwTv08",
        "name": "親子風潮"
      }
    },
    {
      "id": "LYXveHu4UkVZwjJP79",
      "title": "精靈變魔法 寶寶剪頭髮",
      "description": "許多小寶貝剪頭髮 多半爸媽最頭疼時刻\r\n\r\n固定位置 +剪刀遊走\r\n是造成孩子不安or感到無聊 而哭鬧的原因\r\n\r\n可愛音樂陪伴寶寶\r\n安撫寶寶剪毛時刻 不哭不無聊\r\n\r\n剪完頭髮絕對又更可愛了~~\r\n\r\n\r\n",
      "url": "https://www.kkbox.com/tw/tc/playlist/LYXveHu4UkVZwjJP79",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60187401v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1507861349,
      "owner": {
        "id": "Kmr1lzFdYXOrnwTv08",
        "name": "親子風潮"
      }
    },
    {
      "id": "5ZeQhjQkMpn-w_r5xJ",
      "title": "屁屁粉拍拍 換尿布乖乖",
      "description": "萌寶貝愛音樂-\r\n屁屁粉拍拍 換尿布乖乖\r\n\r\n盥洗完,嗯嗯如廁完\r\n擦擦又拍拍  萌萌寶寶香\r\n\r\n讓美好音樂陪伴寶寶全身放輕鬆 \r\n舒舒服服地換尿布\r\n\r\n(連尿布也放輕鬆了~)",
      "url": "https://www.kkbox.com/tw/tc/playlist/5ZeQhjQkMpn-w_r5xJ",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/60081811v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1506309525,
      "owner": {
        "id": "Kmr1lzFdYXOrnwTv08",
        "name": "親子風潮"
      }
    },
    {
      "id": "KnwWavlyEedzEu45c6",
      "title": "IZ 夏威夷傳奇療癒系歌王",
      "description": "IZ-伊瑟瑞·卡瑪卡威烏歐爾 (英語:Israel Kamakawiwoʻole,1959年5月20日-1997年6月26日),夏威夷音樂家。他成名於專輯「面向未來」(Facing Future),1993年發行於夏威夷。他演唱版本的 \"Over the Rainbow\" 和\"What a Wonderful World\" 被用於許多電影、電視節目、影集和廣告的配樂。他的烏克麗麗和其他類型音樂的結合(如爵士,雷鬼),已逝二十年的伊瑟瑞對夏威夷音樂深深的影響至今。",
      "url": "https://www.kkbox.com/tw/tc/playlist/KnwWavlyEedzEu45c6",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/59572168v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1498735925,
      "owner": {
        "id": "4nZOCDKORLgbsSWpDb",
        "name": "祖崇"
      }
    },
    {
      "id": "SmIw0rD6Ng04WSueeL",
      "title": "給👱🏼👩🏼看牙聽的🎵",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/SmIw0rD6Ng04WSueeL",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/39939424v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1478052023,
      "owner": {
        "id": "PXQ7SCEnicyOV6Wvk2",
        "name": "禾馨 張育綺 醫師"
      }
    },
    {
      "id": "HZN1gjjjzAH64cGEI1",
      "title": "阿包醫生陪你養寶包",
      "description": "由小兒科阿包醫生和中廣DJ琦琦精選各式歌曲,無論親子遊戲、共讀或安撫哄睡,皆能陪伴在媽咪及寶包身邊,藉由溫馨、療癒的音樂讓寶包保持好情緒,媽媽擁有好心情。",
      "url": "https://www.kkbox.com/tw/tc/playlist/HZN1gjjjzAH64cGEI1",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/30987823v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477634498,
      "owner": {
        "id": "HYiB_HSoxKo9xMJsDa",
        "name": "禾馨  巫漢盟 醫師"
      }
    },
    {
      "id": "StSbFzoXjmVlCF3qTK",
      "title": "媽媽哺乳好心情,寶寶快樂長大",
      "description": "羅醫師分享自己在哺乳時最喜歡聽的歌曲,讓哺乳媽咪能夠放鬆心情。",
      "url": "https://www.kkbox.com/tw/tc/playlist/StSbFzoXjmVlCF3qTK",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/35344978v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477626243,
      "owner": {
        "id": "WrGGsWQkBbifYQHTx9",
        "name": "禾馨 羅珮琳 中醫師"
      }
    },
    {
      "id": "4ppB1VRoFJSOPxCUi3",
      "title": "寳寳媽媽舒心古典樂",
      "description": "One good thing about music, when it hits you feel no pain - Bob Marley\r\n音樂的一個優點是當節奏開始你則感覺不到痛苦。\r\n\r\n圖片出處:www.publicdomainpictures.net",
      "url": "https://www.kkbox.com/tw/tc/playlist/4ppB1VRoFJSOPxCUi3",
      "images": [
        {
          "height": 300,
          "width": 450,
          "url": "https://i.kfs.io/playlist/global/35344987v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477626216,
      "owner": {
        "id": "CkLL2DX1OFvBHq1BPs",
        "name": "禾馨 張建玫 醫師"
      }
    },
    {
      "id": "D-vHT8QFi1AmuF6pL6",
      "title": "跟寶寶一起聽莫札特",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/D-vHT8QFi1AmuF6pL6",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/37507212v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477626151,
      "owner": {
        "id": "OqVICm-z7l2Qs7kzGJ",
        "name": "禾馨 詹弘毅 醫師"
      }
    },
    {
      "id": "DY7WyVplw4Kz5qUvOz",
      "title": "有α波的宮崎駿動畫名曲",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/DY7WyVplw4Kz5qUvOz",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/37518814v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477626091,
      "owner": {
        "id": "8qACrx8lckdzGLZkbG",
        "name": "禾馨 葉勝雄 醫師"
      }
    },
    {
      "id": "LXDbZFXmqyA6TjNTbS",
      "title": "有α波的迪士尼動畫名曲2",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/LXDbZFXmqyA6TjNTbS",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/37518795v2/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477626004,
      "owner": {
        "id": "8qACrx8lckdzGLZkbG",
        "name": "禾馨 葉勝雄 醫師"
      }
    },
    {
      "id": "9aCkRBXMIfG-IrW96d",
      "title": "有α波的迪士尼動畫名曲",
      "description": "",
      "url": "https://www.kkbox.com/tw/tc/playlist/9aCkRBXMIfG-IrW96d",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://i.kfs.io/playlist/global/37518816v1/cropresize/300x300.jpg"
        }
      ],
      "updated_at": 1477625990,
      "owner": {
        "id": "8qACrx8lckdzGLZkbG",
        "name": "禾馨 葉勝雄 醫師"
      }
    }
  ],
  "summary": {
    "total": 28
  },
  "paging": {
    "offset": 0,
    "limit": 50,
    "previous": null,
    "next": null
  }
}
{
  "error": {
    "message": "Internal Server Error",
    "code": 0
  }
}

Path Params

category_id
string
required

The identifier of a children category.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a children category.

limit
int32

The number of items to return per page, not to exceed 100.

offset
int32

The offset index for first element.

 
Suggest Edits

Genre Stations

 

The genre stations of the KKBOX service.

Suggest Edits

/genre-stations

List of genre stations.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/genre-stations
GET /v1.1/genre-stations?territory=TW&limit=10 HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/genre-stations?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/genre-stations?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/genre-stations?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/genre-stations?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/genre-stations?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/genre-stations?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "TYq3EHFTl-1EOvJM5Y",
      "category": "Mandarin",
      "name": "Mandarin New Release"
    },
    {
      "id": "SrGnPsRNdLGo2-QD4_",
      "category": "Mandarin",
      "name": "Mandopop Male"
    },
    {
      "id": "KmH_kXscZ40s9YgvHo",
      "category": "Mandarin",
      "name": "Mandopop Female"
    },
    {
      "id": "WoqzVWL-LKrtawiYGT",
      "category": "Mandarin",
      "name": "Mandopop Group"
    },
    {
      "id": "DZFgBL_02ygfJq12I0",
      "category": "Mandarin",
      "name": "Mandopop Duet"
    },
    {
      "id": "Wmm-aBHQWjQ0swnWFc",
      "category": "Mandarin",
      "name": "Mandopop Idol"
    },
    {
      "id": "CrUb2t-gr2k6sxUxH5",
      "category": "Mandarin",
      "name": "Love Song"
    },
    {
      "id": "OlKxmKz5tfab39jlx_",
      "category": "Mandarin",
      "name": "Karaoke Hits"
    },
    {
      "id": "LaN6zM2q9ZeLxC790i",
      "category": "Mandarin",
      "name": "Golden Melody Award Winner"
    },
    {
      "id": "Wmn-aBHQWjQ0vtJ5mX",
      "category": "Mandarin",
      "name": "Mandarin Film & TV Songs"
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 10,
    "previous": null,
    "next": "https://api.kkbox.com/v1.1/genre-stations?limit=10&territory=TW&offset=10"
  },
  "summary": {
    "total": 188
  }
}

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a genre station.

 
Suggest Edits

/genre-stations/:station_id

To retrieve information of the genre station with station_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/genre-stations/station_id
GET /v1.1/genre-stations/9ax4APKMtg7NqOqhNp?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/genre-stations/TYq3EHFTl-1EOvJM5Y?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "9ax4APKMtg7NqOqhNp",
  "category": "Hokkien",
  "name": "Classic Hokkien Duet",
  "tracks": {
    "data": [
      {
        "id": "Hatg1yFFE8K3YEuzH4",
        "name": "無人來作伴",
        "duration": 236773,
        "url": "https://www.kkbox.com/tw/tc/song/Lwqxf1pKO424W52M4W52M0PL-index.html",
        "track_number": 9,
        "explicitness": false,
        "available_territories": [
          "TW"
        ],
        "album": {
          "id": "9Z8fmhgn_BzuOzEEta",
          "name": "男性的堅持-精選集",
          "url": "https://www.kkbox.com/tw/tc/album/RJYE1yzo3dF2Dh0F7M9q0091-index.html",
          "explicitness": false,
          "available_territories": [
            "TW"
          ],
          "release_date": "2010-04-26",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/tw/1925750,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/tw/1925750,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/tw/1925750,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "5X4ebVHk-xgqdNMH5b",
            "name": "翁立友",
            "url": "https://www.kkbox.com/tw/tc/artist/vVCqxCo08XWxw9w0F09hP08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/39769,0v1/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/39769,0v1/fit/300x300.jpg"
              }
            ]
          }
        }
      },
      {
        "id": "Kq2tpviB3UapG1sNLm",
        "name": "心愛請保重",
        "duration": 334576,
        "url": "https://www.kkbox.com/tw/tc/song/S25EH7L06YK9nQJB1QJB10P4-index.html",
        "track_number": 1,
        "explicitness": false,
        "available_territories": [
          "TW"
        ],
        "album": {
          "id": "8pBN1E4svmYiPQ12SJ",
          "name": "心愛請保重",
          "url": "https://www.kkbox.com/tw/tc/album/UnjfyLMk8HwPn40F1E8.0091-index.html",
          "explicitness": false,
          "available_territories": [
            "TW"
          ],
          "release_date": "1999-08-04",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/tw/320037,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/tw/320037,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/tw/320037,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "GqW_sKigyaDAkjTMdC",
            "name": "林良歡+許志豪",
            "url": "https://www.kkbox.com/tw/tc/artist/RhHCf7Xb5hNFlBG0F0lEG08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/201616,0v2/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/201616,0v2/fit/300x300.jpg"
              }
            ]
          }
        }
      }
    ],
    "paging": {
      "offset": 0,
      "limit": 100,
      "previous": null,
      "next": null
    },
    "summary": {
      "total": 100
    }
  }
}

Path Params

station_id
string
required

The identifier of a genre station.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a genre station.

 
Suggest Edits

Mood Stations

 

The mood stations of the KKBOX service.

Suggest Edits

/mood-stations

List of mood stations.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/mood-stations
GET /v1.1/mood-stations?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/mood-stations?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/mood-stations?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/mood-stations?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/mood-stations?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/mood-stations?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/mood-stations?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "StGZp2ToWq92diPHS7",
      "name": "Work Out",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_616.png"
        }
      ]
    },
    {
      "id": "CqKi7kny7nlTW42w5M",
      "name": "Party Animal",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_617.png"
        }
      ]
    },
    {
      "id": "CmJ_Y5mRTWygkTXsYl",
      "name": "Relaxing",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_618.png"
        }
      ]
    },
    {
      "id": "TZZ4fMCHdJNYqHEf-p",
      "name": "Working Time",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_619.png"
        }
      ]
    },
    {
      "id": "4tmrBI125HMtMlO9OF",
      "name": "Romantic",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_620.png"
        }
      ]
    },
    {
      "id": "8oxjHzAAeM8PU8KCw5",
      "name": "Vacation",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_621.png"
        }
      ]
    },
    {
      "id": "HXvnvb5yEReQJAiNMB",
      "name": "Chill Out",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_622.png"
        }
      ]
    },
    {
      "id": "9anYIPKMtg7NqGbiy4",
      "name": "Tipsy Night",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_623.png"
        }
      ]
    },
    {
      "id": "-msVbZnpWLE4CpWBJo",
      "name": "Acoustic Pop",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_624.png"
        }
      ]
    },
    {
      "id": "OkN0EhmweNQdIEGkor",
      "name": "Hardcore",
      "images": [
        {
          "height": 300,
          "width": 300,
          "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_625.png"
        }
      ]
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 50,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 10
  }
}

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a mood station.

 
Suggest Edits

/mood-stations/:station_id

To retrieve information of the mood station with station_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/mood-stations/station_id
GET /v1.1/mood-stations/-msVbZnpWLE4CpWBJo?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/mood-stations/StGZp2ToWq92diPHS7?territory=TW")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/mood-stations/StGZp2ToWq92diPHS7?territory=TW",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/mood-stations/StGZp2ToWq92diPHS7?territory=TW", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/mood-stations/StGZp2ToWq92diPHS7?territory=TW",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/mood-stations/StGZp2ToWq92diPHS7?territory=TW"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/mood-stations/StGZp2ToWq92diPHS7?territory=TW' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "-msVbZnpWLE4CpWBJo",
  "name": "Acoustic Pop",
  "images": [
    {
      "height": 300,
      "width": 300,
      "url": "https://a.kfs.io/banner/theme-channel/grey_center/channel_624.png"
    }
  ],
  "tracks": {
    "data": [
      {
        "id": "X_vP1g2OxGbE4W_ZX_",
        "name": "My Old Man",
        "duration": 227239,
        "url": "https://www.kkbox.com/tw/tc/song/utF008r8GXIE8sn-E8sn-0XL-index.html",
        "track_number": 6,
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "album": {
          "id": "-oz-uw1c2jy1yqD_W-",
          "name": "Welcome Home",
          "url": "https://www.kkbox.com/tw/tc/album/-LhtthFQXO6cB0F1X6D1009H-index.html",
          "explicitness": false,
          "available_territories": [
            "TW",
            "HK",
            "SG",
            "MY",
            "JP"
          ],
          "release_date": "2017-05-12",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/global/25453377,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/global/25453377,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/global/25453377,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "WtnyvdUWvn57W7ybDj",
            "name": "Zac Brown Band",
            "url": "https://www.kkbox.com/tw/tc/artist/jgq675QS4wfTv6C0F096008J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/37248,0v21/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/37248,0v21/fit/300x300.jpg"
              }
            ]
          }
        }
      },
      {
        "id": "OkiEzeWHwySdIfx6Cn",
        "name": "繼續",
        "duration": 236982,
        "url": "https://www.kkbox.com/tw/tc/song/FlwuVj504O6D2H-a6H-a60P4-index.html",
        "track_number": 6,
        "explicitness": false,
        "available_territories": [
          "TW"
        ],
        "album": {
          "id": "WnZObdD3UikGiIHCzY",
          "name": "從這裡到那裡",
          "url": "https://www.kkbox.com/tw/tc/album/Ozptj15BvzZmpM30Fh9F008l-index.html",
          "explicitness": false,
          "available_territories": [
            "TW"
          ],
          "release_date": "2011-03-31",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/album/tw/184911,0v1/fit/160x160.jpg"
            },
            {
              "height": 500,
              "width": 500,
              "url": "https://i.kfs.io/album/tw/184911,0v1/fit/500x500.jpg"
            },
            {
              "height": 1000,
              "width": 1000,
              "url": "https://i.kfs.io/album/tw/184911,0v1/fit/1000x1000.jpg"
            }
          ],
          "artist": {
            "id": "OlYY5KsPZGERMxx2ZV",
            "name": "宇珩",
            "url": "https://www.kkbox.com/tw/tc/artist/7Rd9GlEUHTMhzXk0F0FMA08J-index-1.html",
            "images": [
              {
                "height": 160,
                "width": 160,
                "url": "https://i.kfs.io/artist/global/62858,0v1/fit/160x160.jpg"
              },
              {
                "height": 300,
                "width": 300,
                "url": "https://i.kfs.io/artist/global/62858,0v1/fit/300x300.jpg"
              }
            ]
          }
        }
      }
    ],
    "paging": {
      "offset": 0,
      "limit": 100,
      "previous": null,
      "next": null
    },
    "summary": {
      "total": 100
    }
  }
}

Path Params

station_id
string
required

The identifier of a mood station.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of a mood station.

 
 
Suggest Edits

/artists/:artist_id

To retrieve information of the artist with artist_id.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/artists/artist_id
GET /v1.1/artists/8q3_xzjl89Yakn_7GB?territory=TW HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/artists/foo?territory=foo")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/artists/foo?territory=foo",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/artists/foo?territory=foo", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/artists/foo?territory=foo",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/artists/foo?territory=foo"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/artists/foo?territory=foo"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/artists/foo?territory=foo' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": "8q3_xzjl89Yakn_7GB",
  "name": "滅火器 (Fire EX.)",
  "url": "https://www.kkbox.com/tw/tc/artist/ozHoLIy-jPvlc1P0F06Sb08J-index-1.html",
  "images": [
    {
      "height": 160,
      "width": 160,
      "url": "https://i.kfs.io/artist/global/26407,0v5/fit/160x160.jpg"
    },
    {
      "height": 300,
      "width": 300,
      "url": "https://i.kfs.io/artist/global/26407,0v5/fit/300x300.jpg"
    }
  ]
}

Path Params

artist_id
string
required

The identifier of an artist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of an artist.

 
Suggest Edits

/artists/:artist_id/albums

List of albums of an artist.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/artists/artist_id/albums
GET /v1.1/artists/CluDKLYxr1GFQqLSZt/albums?territory=TW&limit=5 HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/albums?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/artists/Cnv_K6i5Ft4y41SxLy/albums?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/artists/Cnv_K6i5Ft4y41SxLy/albums?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/albums?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/albums?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/albums?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "OrZNXB5eLG7iPlkRfm",
      "name": "The Art of The Ballad",
      "url": "https://www.kkbox.com/tw/tc/album/4nCmXeytdESd4Hu0F7uA008l-index.html",
      "explicitness": false,
      "available_territories": [],
      "release_date": "1970-01-01",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/tw/32394,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/tw/32394,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/tw/32394,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "CluDKLYxr1GFQqLSZt",
        "name": "Dexter Gordon",
        "url": "https://www.kkbox.com/tw/tc/artist/DbKJdlxk96b0RAy0F017308J-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/global/4547,0v551/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/global/4547,0v551/fit/300x300.jpg"
          }
        ]
      }
    },
    {
      "id": "4mPUAQFE2kVG4kRaM8",
      "name": "Sophisticated Giant",
      "url": "https://www.kkbox.com/tw/tc/album/fhVSzO-E41SO6xx0FE67008l-index.html",
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY"
      ],
      "release_date": "1997-08-26",
      "images": [
        {
          "height": 160,
          "width": 160,
          "url": "https://i.kfs.io/album/tw/57735,0v1/fit/160x160.jpg"
        },
        {
          "height": 500,
          "width": 500,
          "url": "https://i.kfs.io/album/tw/57735,0v1/fit/500x500.jpg"
        },
        {
          "height": 1000,
          "width": 1000,
          "url": "https://i.kfs.io/album/tw/57735,0v1/fit/1000x1000.jpg"
        }
      ],
      "artist": {
        "id": "CluDKLYxr1GFQqLSZt",
        "name": "Dexter Gordon",
        "url": "https://www.kkbox.com/tw/tc/artist/DbKJdlxk96b0RAy0F017308J-index-1.html",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/artist/global/4547,0v551/fit/160x160.jpg"
          },
          {
            "height": 300,
            "width": 300,
            "url": "https://i.kfs.io/artist/global/4547,0v551/fit/300x300.jpg"
          }
        ]
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 2,
    "previous": null,
    "next": "https://api.kkbox.com/v1.1/artists/CluDKLYxr1GFQqLSZt/albums?limit=2&territory=TW&offset=2"
  },
  "summary": {
    "total": 801
  }
}

Path Params

artist_id
string
required

The identifier of an artist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of an artist.

limit
int32

The number of items to return per page, not to exceed 500.

offset
int32

The offset index for first element.

 
Suggest Edits

/artists/:artist_id/top-tracks

List of top tracks of an artist.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.kkbox.com/v1.1/artists/artist_id/top-tracks
GET /v1.1/artists/GmHEVs8n1D6m6pz6zC/top-tracks?territory=TW&limit=5 HTTP/1.1
Authorization: Bearer my_access_token
Host: api.kkbox.com
require 'uri'
require 'net/http'

url = URI("https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/top-tracks?territory=TW&offset=0&limit=500")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR ACCESS TOKEN HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.kkbox.com",
  "port": null,
  "path": "/v1.1/artists/Cnv_K6i5Ft4y41SxLy/top-tracks?territory=TW&offset=0&limit=500",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR ACCESS TOKEN HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.kkbox.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR ACCESS TOKEN HERE"
    }

conn.request("GET", "/v1.1/artists/Cnv_K6i5Ft4y41SxLy/top-tracks?territory=TW&offset=0&limit=500", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/top-tracks?territory=TW&offset=0&limit=500",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR ACCESS TOKEN HERE"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/top-tracks?territory=TW&offset=0&limit=500"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("authorization", "Bearer YOUR ACCESS TOKEN HERE")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
curl --request GET \
  --url 'https://api.kkbox.com/v1.1/artists/Cnv_K6i5Ft4y41SxLy/top-tracks?territory=TW&offset=0&limit=500' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR ACCESS TOKEN HERE'
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "data": [
    {
      "id": "Pac1gYzqWKr81wzSsi",
      "name": "天空下",
      "duration": 210755,
      "url": "https://www.kkbox.com/tw/tc/song/44-00Hl.maHS8RlzS8Rlz0XL-index.html",
      "track_number": 1,
      "explicitness": false,
      "available_territories": [
        "TW",
        "HK",
        "SG",
        "MY",
        "JP"
      ],
      "album": {
        "id": "_-5I-tcxQDQcUrHUwo",
        "name": "天空下 (Under the Same Sky)",
        "url": "https://www.kkbox.com/tw/tc/album/rxnG8TIB1Pyfc0F19Bt9009H-index.html",
        "explicitness": false,
        "available_territories": [
          "TW",
          "HK",
          "SG",
          "MY",
          "JP"
        ],
        "release_date": "2016-10-17",
        "images": [
          {
            "height": 160,
            "width": 160,
            "url": "https://i.kfs.io/album/global/19185225,0v1/fit/160x160.jpg"
          },
          {
            "height": 500,
            "width": 500,
            "url": "https://i.kfs.io/album/global/19185225,0v1/fit/500x500.jpg"
          },
          {
            "height": 1000,
            "width": 1000,
            "url": "https://i.kfs.io/album/global/19185225,0v1/fit/1000x1000.jpg"
          }
        ],
        "artist": {
          "id": "GmHEVs8n1D6m6pz6zC",
          "name": "盧芸 (Rita)",
          "url": "https://www.kkbox.com/tw/tc/artist/ET7BOpmsnU-TAw0F0Pcw708K-index-1.html",
          "images": [
            {
              "height": 160,
              "width": 160,
              "url": "https://i.kfs.io/artist/global/6721287,0v2/fit/160x160.jpg"
            },
            {
              "height": 300,
              "width": 300,
              "url": "https://i.kfs.io/artist/global/6721287,0v2/fit/300x300.jpg"
            }
          ]
        }
      }
    }
  ],
  "paging": {
    "offset": 0,
    "limit": 3,
    "previous": null,
    "next": null
  },
  "summary": {
    "total": 1
  }
}

Path Params

artist_id
string
required

The identifier of an artist.

Query Params

territory
string
required

Territory code, i.e. TW, HK, SG, MY, JP, of an artist.

limit
int32

The number of items to return per page, not to exceed 500.

offset
int32

The offset index for first element.