Additional information for a track is available through this API endpoint with a valid Track ID.
Example JSON Output
{
"artist": "Chelsea Cutler",
"bpm": 105,
"content_warning": false,
"downloaded": 0,
"duration": 177,
"end": "Cold",
"explicit": 0,
"genre": "Top 40",
"id": 374650,
"label": "Republic",
"media": "mp3,m4a,wav",
"media_type": 2,
"mix": "",
"modified": 1586437366,
"release": "Sad Tonight",
"release_date": "2020-04-09",
"release_image": "https://s3.amazonaws.com/pool.images/56595.jpg",
"releaseid": 56595,
"servers":
[
"uk01.promoonly.com"
],
"title": "Sad Tonight",
"titleid": 628359,
"track_order": "1/2",
"year": "2020"
}
PHP (using cURL):
<?php
$userid = 1;
$token = "8b26e1e4f3f5e00a888807e605565c47";
$track_info_url = "https://api.promoonly.com/track/374650";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $track_info_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".base64_encode($userid.":".$token)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$track_info_result = curl_exec($ch);
curl_close($ch);
$track_info_obj = json_decode($track_info_result);
?>
Javascript (using jQuery):
function b64EncodeUnicode(str)
{
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
function toSolidBytes(match, p1)
{
return String.fromCharCode('0x' + p1);
}));
}
var userid = 1;
var token = "8b26e1e4f3f5e00a888807e605565c47";
var auth_str = "Bearer " + b64EncodeUnicode(userid + ":" + token);
$.ajax({
type: "GET",
url: "https://api.promoonly.com/track/374650",
headers: { "Authorization": auth_str },
dataType: "json",
success: function (data)
{
console.log(data);
}
});
Python (using requests):
#!/usr/bin/env python
import requests
import base64
import urllib
userid = 1
token = "8b26e1e4f3f5e00a888807e605565c47"
b64_key = base64.b64encode("%s:%s" % (userid, token))
headers = {"Authorization": "Bearer %s" % b64_key}
track_info_url = "https://api.promoonly.com/track/374650"
result_return = requests.get(track_info_url, headers=headers)
print(result_return.text)