List trader stats
curl --request GET \
--url https://partners.centaur.io/api/v1/traders/stats \
--header 'x-api-key: <api-key>'import requests
url = "https://partners.centaur.io/api/v1/traders/stats"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://partners.centaur.io/api/v1/traders/stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://partners.centaur.io/api/v1/traders/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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"
)
func main() {
url := "https://partners.centaur.io/api/v1/traders/stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://partners.centaur.io/api/v1/traders/stats")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://partners.centaur.io/api/v1/traders/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"filtersApplied": {
"assetIds": [
123
],
"sourcePlatforms": [
"TELEGRAM"
],
"direction": "long",
"appliedTimeRange": {
"startTime": "2023-11-07T05:31:56Z",
"endTime": "2023-11-07T05:31:56Z"
}
},
"results": [
{
"traderId": 123,
"source": {
"platform": "TELEGRAM",
"sourceIdentityId": "<string>",
"displayName": "<string>",
"handle": "<string>",
"avatarUrl": "<string>",
"profileUrl": "<string>",
"audienceCount": 123
},
"tags": [
{
"category": "<string>",
"name": "<string>"
}
],
"summary": {
"timeBasedPerformances": {
"1D": {
"window": "1D",
"averageReturnPercentage": 123,
"medianReturnPercentage": 123,
"winRatePercentage": 123,
"sharpeRatio": 123,
"positionsCount": 123
},
"7D": {
"window": "1D",
"averageReturnPercentage": 123,
"medianReturnPercentage": 123,
"winRatePercentage": 123,
"sharpeRatio": 123,
"positionsCount": 123
},
"30D": {
"window": "1D",
"averageReturnPercentage": 123,
"medianReturnPercentage": 123,
"winRatePercentage": 123,
"sharpeRatio": 123,
"positionsCount": 123
}
},
"assetFocus": [
{
"assetId": 123,
"positionsCount": 123,
"sharePercentage": 123
}
],
"directionBias": {
"label": "long",
"longCount": 123,
"shortCount": 123,
"longPercentage": 123,
"shortPercentage": 123
}
}
}
],
"meta": {
"requestedTraderIds": [
123
],
"missingTraderIds": [
123
]
}
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "Forbidden"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized",
"details": "<unknown>"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "AUTHENTICATION_UNAVAILABLE",
"message": "Authentication is temporarily unavailable"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}Stats
List trader stats
Returns aggregate trader stats for explicit trader IDs, including 1D, 7D, and 30D time-based performance, editorial trader tags, and missing/inaccessible IDs in metadata.
GET
/
api
/
v1
/
traders
/
stats
List trader stats
curl --request GET \
--url https://partners.centaur.io/api/v1/traders/stats \
--header 'x-api-key: <api-key>'import requests
url = "https://partners.centaur.io/api/v1/traders/stats"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://partners.centaur.io/api/v1/traders/stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://partners.centaur.io/api/v1/traders/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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"
)
func main() {
url := "https://partners.centaur.io/api/v1/traders/stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://partners.centaur.io/api/v1/traders/stats")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://partners.centaur.io/api/v1/traders/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"filtersApplied": {
"assetIds": [
123
],
"sourcePlatforms": [
"TELEGRAM"
],
"direction": "long",
"appliedTimeRange": {
"startTime": "2023-11-07T05:31:56Z",
"endTime": "2023-11-07T05:31:56Z"
}
},
"results": [
{
"traderId": 123,
"source": {
"platform": "TELEGRAM",
"sourceIdentityId": "<string>",
"displayName": "<string>",
"handle": "<string>",
"avatarUrl": "<string>",
"profileUrl": "<string>",
"audienceCount": 123
},
"tags": [
{
"category": "<string>",
"name": "<string>"
}
],
"summary": {
"timeBasedPerformances": {
"1D": {
"window": "1D",
"averageReturnPercentage": 123,
"medianReturnPercentage": 123,
"winRatePercentage": 123,
"sharpeRatio": 123,
"positionsCount": 123
},
"7D": {
"window": "1D",
"averageReturnPercentage": 123,
"medianReturnPercentage": 123,
"winRatePercentage": 123,
"sharpeRatio": 123,
"positionsCount": 123
},
"30D": {
"window": "1D",
"averageReturnPercentage": 123,
"medianReturnPercentage": 123,
"winRatePercentage": 123,
"sharpeRatio": 123,
"positionsCount": 123
}
},
"assetFocus": [
{
"assetId": 123,
"positionsCount": 123,
"sharePercentage": 123
}
],
"directionBias": {
"label": "long",
"longCount": 123,
"shortCount": 123,
"longPercentage": 123,
"shortPercentage": 123
}
}
}
],
"meta": {
"requestedTraderIds": [
123
],
"missingTraderIds": [
123
]
}
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "Forbidden"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Unauthorized",
"details": "<unknown>"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}{
"success": false,
"error": {
"code": "AUTHENTICATION_UNAVAILABLE",
"message": "Authentication is temporarily unavailable"
},
"requestId": "c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8"
}Authorizations
API key issued by Centaur.
Query Parameters
Trader IDs to fetch stats for. Maximum 200 IDs.
Filter to specific asset IDs.
Filter to traders whose source platform is TELEGRAM or X.
Filter to a single direction: long or short.
Available options:
long, short Inclusive ISO-8601 lower time bound.
Inclusive ISO-8601 upper time bound.
Last modified on August 21, 2026