VerseOne API Docs
Analytics
Get Product by UPC
GET /api/v1/getproductByupc/{upc}
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
URL Parameters
upc string required
Example Request
const url = new URL(
"http://verseone.test/api/v1/getproductByupc/maiores"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getproductByupc/maiores'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getproductByupc/maiores';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getproductByupc/maiores" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example Response
{
"page": 0,
"page_size": 25,
"total": 1,
"product": [
{
"id": 1006086719139,
"upc": "821555967408",
...
"assets":[
{
"id": 1006086719139,
"isrc": "QZHNC2130472",
...
}
],
"search": "821555967408"
}
Get Artist by Name
GET /api/v1/getArtistByName/{name}
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
URL Parameters
name string required
Example Request
const url = new URL(
"http://verseone.test/api/v1/getproductByupc/maiores"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getArtistByName/mollitia'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getArtistByName/mollitia';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getArtistByName/mollitia" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example Response
{
"page": 0,
"page_size": 25,
"total": 1,
"artist": [
{
"id": 1005526478383,
"name": "TypeLuv",
"proprietary_id": null,
"organization_id": 2446016401,
"photo": {
"id": 1005526478384,
"mimeType": null,
"modificationTime": "2025-08-31T03:00:06",
"originalFilename": null,
"resolutionHeight": null,
"resolutionWidth": null,
"vaultHook": null,
"has_uploaded": false
}
}
]
}
Get Territories
GET /api/v1/getTerritories/{key}
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
URL Parameters
key string required
Example Request
const url = new URL(
"http://verseone.test/api/v1/getTerritories/beatae"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getTerritories/beatae'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getTerritories/beatae';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getTerritories/beatae" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example Response
[
{
"id": "KH",
"name": "Cambodia",
"code": "KH"
},
{
"id": "CM",
"name": "Cameroon",
"code": "CM"
},
{
"id": "CA",
"name": "Canada",
"code": "CA"
},
{
"id": "CV",
"name": "Cape Verde",
"code": "CV"
},
{
"id": "KY",
"name": "Cayman Islands",
"code": "KY"
},
{
"id": "CF",
"name": "Central African Republic",
"code": "CF"
},
{
"id": "TD",
"name": "Chad",
"code": "TD"
},
{
"id": "CL",
"name": "Chile",
"code": "CL"
},
{
"id": "CN",
"name": "China",
"code": "CN"
},
{
"id": "CX",
"name": "Christmas Island",
"code": "CX"
}
]
Get DSPs
GET /api/v1/getDsps/{key}
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
URL Parameters
key string required
key. The search key for DSPs.
Example Request
const url = new URL(
"http://verseone.test/api/v1/getDsps/Apple"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getDsps/Apple'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getDsps/Apple';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getDsps/Apple" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example Response
[
{
"id": 1330598,
"name": "Apple Music",
"code": null,
"state": null
}
]
Trends Total
GET /api/v1/getTrendsTotal
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
Body Parameters
selection_type string required
selection_type. Enum: "dsp" "territory" "label" "product" "asset". Must be one of:
- dsp
- territory
- label
- product
- asset
Example: dsp
start_date string required
Example: 2023-01-01
end_date string required
Example: 2023-01-31
product_id string
Example: 123456
artist_id string
asset_id string
asset_ids object
territory_id string
Example: 1
dsp_id string
Example: 10
Example Request
const url = new URL(
"http://verseone.test/api/v1/getTrendsTotal"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"selection_type": "dsp",
"start_date": "2023-01-01",
"end_date": "2023-01-31",
"product_id": 123456,
"territory_id": 1,
"dsp_id": 10
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getTrendsTotal'
payload = {
"selection_type": "dsp",
"start_date": "2023-01-01",
"end_date": "2023-01-31",
"product_id": 123456,
"territory_id": 1,
"dsp_id": 10
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getTrendsTotal';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'selection_type' => 'dsp',
'start_date' => '2023-01-01',
'end_date' => '2023-01-31',
'product_id' => 123456,
'territory_id' => 1,
'dsp_id' => 10,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getTrendsTotal" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"selection_type\": \"dsp\",
\"start_date\": \"2023-01-01\",
\"end_date\": \"2023-01-31\",
\"product_id\": 123456,
\"territory_id\": 1,
\"dsp_id\": 10
}"
Example Response
{
"download_percentage": 0.1,
"download_count": 0,
"stream_percentage": 0.1,
"stream_count": 0
}
Trends List
GET /api/v1/getTrendsList
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
Body Parameters
selection_type string required
selection_type. Enum: "dsp" "territory" "label" "product" "asset". Must be one of:
- dsp
- territory
- label
- product
- asset
Example: asset
sale_type string required
sale_type. Must be one of:
- stream
- download
Example: stream
start_date string required
Example: 2025-11-18T07:05:42
end_date string required
Example: 2025-11-18T07:05:42
product_id string artist_id string asset_id string asset_ids object territory_id string dsp_id string offset string size string Example Request
const url = new URL(
"http://verseone.test/api/v1/getTrendsList"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"selection_type": "asset",
"sale_type": "stream",
"start_date": "2025-11-18T07:05:42",
"end_date": "2025-11-18T07:05:42"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getTrendsList'
payload = {
"selection_type": "asset",
"sale_type": "stream",
"start_date": "2025-11-18T07:05:42",
"end_date": "2025-11-18T07:05:42"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getTrendsList';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'selection_type' => 'asset',
'sale_type' => 'stream',
'start_date' => '2025-11-18T07:05:42',
'end_date' => '2025-11-18T07:05:42',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getTrendsList" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"selection_type\": \"asset\",
\"sale_type\": \"stream\",
\"start_date\": \"2025-11-18T07:05:42\",
\"end_date\": \"2025-11-18T07:05:42\"
}"
Example Response
{
"download_percentage": 0.1,
"download_count": 0,
"stream_percentage": 0.1,
"stream_count": 0
}
Trends Chart
GET /api/v1/getTrendsChart
Headers
Authorization
Example: Bearer {YOUR_AUTH_KEY}
Content Type
Example: application/json
Accept
Example: application/json
Body Parameters
selection_type string required
selection_type. Enum: "dsp" "territory" "label" "product" "asset". Must be one of:
- dsp
- territory
- label
- product
- asset
Example: asset
sale_type string required
sale_type. Must be one of:
- stream
- download
Example: stream
start_date string required
Example: 2025-11-18T07:05:42
end_date string required
Example: 2025-11-18T07:05:42
product_id string artist_id string asset_id string asset_ids object territory_id string dsp_id string Example Request
const url = new URL(
"http://verseone.test/api/v1/getTrendsChart"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"selection_type": "dsp",
"sale_type": "download",
"start_date": "2025-11-18T07:05:42",
"end_date": "2025-11-18T07:05:42"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json
url = 'http://verseone.test/api/v1/getTrendsChart'
payload = {
"selection_type": "dsp",
"sale_type": "download",
"start_date": "2025-11-18T07:05:42",
"end_date": "2025-11-18T07:05:42"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()
<?php
$client = new \GuzzleHttp\Client();
$url = 'http://verseone.test/api/v1/getTrendsChart';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'selection_type' => 'dsp',
'sale_type' => 'download',
'start_date' => '2025-11-18T07:05:42',
'end_date' => '2025-11-18T07:05:42',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--get "http://verseone.test/api/v1/getTrendsChart" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"selection_type\": \"dsp\",
\"sale_type\": \"download\",
\"start_date\": \"2025-11-18T07:05:42\",
\"end_date\": \"2025-11-18T07:05:42\"
}"
Example Response
{
"data": [
{
"name": "Total",
"totals": [
19415,
19690,
19745,
23211,
20476,
18227,
18781,
18794,
20006,
22278,
24349,
20889,
17706,
19104,
19776,
20915,
21963,
22944,
19468,
17750,
17818,
18331,
18547,
20902,
21848,
19834,
10636,
3764,
63,
0
]
}
],
"groups": [
"Total"
]
}
Get Artist ID
GET /api/v1/artist-stats/artist-id
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
id string requiredThe external platform ID (Spotify ID)
Example: 1234567890123456789012
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/artist-id");
url.searchParams.append("id", "1234567890123456789012");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/artist-id'
params = {
"id": "1234567890123456789012"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'id' => '1234567890123456789012',
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/artist-id?id=1234567890123456789012" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Artist ID from Identifiers
GET /api/v1/artist-stats/artist-id-from-identifiers
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe external artist ID from external_artists table
Example: 1
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/artist-id-from-identifiers");
url.searchParams.append("artist_id", "1");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/artist-id-from-identifiers'
params = {
"artist_id": 1
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 1,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/artist-id-from-identifiers?artist_id=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Artist Social Stats
GET /api/v1/artist-stats/cm-stats
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/cm-stats");
url.searchParams.append("artist_id", "3395294");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/cm-stats'
params = {
"artist_id": 3395294
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/cm-stats?artist_id=3395294" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Artist Stats
GET /api/v1/artist-stats/stat/{source}
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
URL Parameters
source string requiredThe platform source (spotify, deezer, facebook, twitter, instagram, youtube_channel, youtube_artist, wikipedia, bandsintown, soundcloud, tiktok, twitch)
Example: spotify
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
since date optionalStart date
Example: 2024-01-01
until date optionalEnd date
Example: 2024-12-31
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/stat/spotify");
url.searchParams.append("artist_id", "3395294");
url.searchParams.append("since", "2024-01-01");
url.searchParams.append("until", "2024-12-31");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/stat/spotify'
params = {
"artist_id": 3395294,
"since": "2024-01-01",
"until": "2024-12-31"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
'since' => '2024-01-01',
'until' => '2024-12-31',
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/stat/spotify?artist_id=3395294&since=2024-01-01&until=2024-12-31" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Artist URLs
GET /api/v1/artist-stats/urls
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/urls");
url.searchParams.append("artist_id", "3395294");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/urls'
params = {
"artist_id": 3395294
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/urls?artist_id=3395294" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Instagram Audience Stats
GET /api/v1/artist-stats/instagram-audience-stats
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/instagram-audience-stats");
url.searchParams.append("artist_id", "3395294");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/instagram-audience-stats'
params = {
"artist_id": 3395294
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/instagram-audience-stats?artist_id=3395294" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Tiktok Audience Stats
GET /api/v1/artist-stats/tiktok-audience-stats
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/tiktok-audience-stats");
url.searchParams.append("artist_id", "3395294");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/tiktok-audience-stats'
params = {
"artist_id": 3395294
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/tiktok-audience-stats?artist_id=3395294" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Youtube Audience Stats
GET /api/v1/artist-stats/youtube-audience-stats
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/youtube-audience-stats");
url.searchParams.append("artist_id", "3395294");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/youtube-audience-stats'
params = {
"artist_id": 3395294
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/youtube-audience-stats?artist_id=3395294" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Youtube Market Coverage
GET /api/v1/artist-stats/social-audience-stats
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
domain string optionalSocial platform (instagram, youtube, tiktok)
Example: instagram
audienceType string optionalAudience type (followers, likes, commenters)
Example: followers
statsType string optionalStats type (country, city, interest, brand, language, stat, demographic)
Example: country
since date optionalStart date
Example: 2024-01-01
until date optionalEnd date
Example: 2024-12-31
offset integer optionalPagination offset
Example: 0
limit integer optionalResults limit
Example: 50
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/social-audience-stats");
url.searchParams.append("artist_id", "3395294");
url.searchParams.append("domain", "instagram");
url.searchParams.append("audienceType", "followers");
url.searchParams.append("statsType", "country");
url.searchParams.append("since", "2024-01-01");
url.searchParams.append("until", "2024-12-31");
url.searchParams.append("offset", "0");
url.searchParams.append("limit", "50");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/social-audience-stats'
params = {
"artist_id": 3395294,
"domain": "instagram",
"audienceType": "followers",
"statsType": "country",
"since": "2024-01-01",
"until": "2024-12-31",
"offset": 0,
"limit": 50
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
'domain' => 'instagram',
'audienceType' => 'followers',
'statsType' => 'country',
'since' => '2024-01-01',
'until' => '2024-12-31',
'offset' => 0,
'limit' => 50,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/social-audience-stats?artist_id=3395294&domain=instagram&audienceType=followers&statsType=country&since=2024-01-01&until=2024-12-31&offset=0&limit=50" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Editorial Playlists
GET /api/v1/artist-stats/youtube-market-coverage
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/youtube-market-coverage");
url.searchParams.append("artist_id", "3395294");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/youtube-market-coverage'
params = {
"artist_id": 3395294
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/youtube-market-coverage?artist_id=3395294" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Curator Playlists
GET /api/v1/artist-stats/editorial-playlists
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
platform string optionalPlatform (spotify, applemusic, deezer, amazon, youtube)
Example: spotify
status string optionalPlaylist status (current, past)
Example: current
since date optionalStart date
Example: 2024-01-01
until date optionalEnd date
Example: 2024-12-31
offset integer optionalPagination offset
Example: 0
limit integer optionalResults limit
Example: 10
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/editorial-playlists");
url.searchParams.append("artist_id", "3395294");
url.searchParams.append("platform", "spotify");
url.searchParams.append("status", "current");
url.searchParams.append("since", "2024-01-01");
url.searchParams.append("until", "2024-12-31");
url.searchParams.append("offset", "0");
url.searchParams.append("limit", "10");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/editorial-playlists'
params = {
"artist_id": 3395294,
"platform": "spotify",
"status": "current",
"since": "2024-01-01",
"until": "2024-12-31",
"offset": 0,
"limit": 10
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
'platform' => 'spotify',
'status' => 'current',
'since' => '2024-01-01',
'until' => '2024-12-31',
'offset' => 0,
'limit' => 10,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/editorial-playlists?artist_id=3395294&platform=spotify&status=current&since=2024-01-01&until=2024-12-31&offset=0&limit=10" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Radio Airplays
GET /api/v1/artist-stats/curator-playlists
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
platform string optionalPlatform (spotify, applemusic, deezer)
Example: spotify
offset integer optionalPagination offset
Example: 0
limit integer optionalResults limit
Example: 100
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/curator-playlists");
url.searchParams.append("artist_id", "3395294");
url.searchParams.append("platform", "spotify");
url.searchParams.append("offset", "0");
url.searchParams.append("limit", "100");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/curator-playlists'
params = {
"artist_id": 3395294,
"platform": "spotify",
"offset": 0,
"limit": 100
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
'platform' => 'spotify',
'offset' => 0,
'limit' => 100,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/curator-playlists?artist_id=3395294&platform=spotify&offset=0&limit=100" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Radio
GET /api/v1/artist-stats/radio-airplays
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
date date optionalSpecific date
Example: 2024-01-01
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/radio-airplays");
url.searchParams.append("artist_id", "3395294");
url.searchParams.append("date", "2024-01-01");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/radio-airplays'
params = {
"artist_id": 3395294,
"date": "2024-01-01"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
'date' => '2024-01-01',
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/radio-airplays?artist_id=3395294&date=2024-01-01" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Charts
GET /api/v1/artist-stats/radio
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
artist_id integer requiredThe artist ID (Social ID)
Example: 3395294
date date optionalSpecific date
Example: 2024-01-01
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/radio");
url.searchParams.append("artist_id", "3395294");
url.searchParams.append("date", "2024-01-01");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/radio'
params = {
"artist_id": 3395294,
"date": "2024-01-01"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'artist_id' => 3395294,
'date' => '2024-01-01',
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/radio?artist_id=3395294&date=2024-01-01" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Get Social Audience Stats
GET /api/v1/artist-stats/charts
Headers
Authorization: Bearer {YOUR_AUTH_KEY}
Content-Type: application/json
Accept: application/json
Query Parameters
country_code string optionalCountry code
Example: GLOBAL
genre string optionalGenre
Example: All Genres
date date optionalSpecific date
Example: 2024-01-01
offset integer optionalPagination offset
Example: 0
limit integer optionalResults limit
Example: 200
Example Request
const url = new URL("http://verseone.test/api/v1/artist-stats/charts");
url.searchParams.append("country_code", "GLOBAL");
url.searchParams.append("genre", "All Genres");
url.searchParams.append("date", "2024-01-01");
url.searchParams.append("offset", "0");
url.searchParams.append("limit", "200");
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers: headers,
}).then(response => response.json());
import requests
url = 'http://verseone.test/api/v1/artist-stats/charts'
params = {
"country_code": "GLOBAL",
"genre": "All Genres",
"date": "2024-01-01",
"offset": 0,
"limit": 200
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
response.json()
request('GET', $url, [
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'country_code' => 'GLOBAL',
'genre' => 'All Genres',
'date' => '2024-01-01',
'offset' => 0,
'limit' => 200,
],
]);
$body = $response->getBody();
print_r(json_decode((string) $body));
?>
curl --request GET \
--url "http://verseone.test/api/v1/artist-stats/charts?country_code=GLOBAL&genre=All%20Genres&date=2024-01-01&offset=0&limit=200" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"