curl --request GET \
--url https://{domain}/api/v2/affiliate/reports/statistics \
--header 'X-API-Key: <api-key>'import requests
url = "https://{domain}/api/v2/affiliate/reports/statistics"
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://{domain}/api/v2/affiliate/reports/statistics', 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://{domain}/api/v2/affiliate/reports/statistics",
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://{domain}/api/v2/affiliate/reports/statistics"
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://{domain}/api/v2/affiliate/reports/statistics")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{domain}/api/v2/affiliate/reports/statistics")
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{
"status": "success",
"code": 200,
"name": "OK",
"message": "<string>",
"info": {
"timezone": "<string>",
"rows": {
"rows": [
{
"clicks": 123,
"unique_clicks": 123,
"cv_approved": 123,
"cr": 123,
"approved_payout": 123,
"cv_pending": 123,
"pr": 123,
"cv_rejected": 123,
"rr": 123,
"ar": 123,
"cpc": 123,
"cpa": 123
}
],
"totals": {
"clicks": 123,
"unique_clicks": 123,
"cv_approved": 123,
"cr": 123,
"approved_payout": 123,
"cv_pending": 123,
"pr": 123,
"cv_rejected": 123,
"rr": 123,
"ar": 123,
"cpc": 123,
"cpa": 123
}
}
}
}{
"status": "error",
"code": 400,
"name": "Bad Request",
"message": "Request could not be parsed.",
"info": {
"errors": {}
}
}{
"status": "error",
"code": 401,
"name": "Unauthorized",
"message": "API key is invalid or missing."
}{
"status": "error",
"code": 403,
"name": "Forbidden",
"message": "This endpoint is not available for your role."
}{
"status": "error",
"code": 404,
"name": "Not Found",
"message": "Resource not found."
}{
"status": "error",
"code": 500,
"name": "Internal Server Error",
"message": "An unexpected error occurred.",
"info": {
"errors": {}
}
}Get statistics (GET)
Returns aggregated performance statistics for the authenticated affiliate with configurable breakdowns and columns.
Date range parameters are interpreted in the authenticated user’s timezone and automatically converted to UTC internally.
Column naming: affiliate-specific metrics use cpc and cpa instead of epc and epa used in manager reports.
curl --request GET \
--url https://{domain}/api/v2/affiliate/reports/statistics \
--header 'X-API-Key: <api-key>'import requests
url = "https://{domain}/api/v2/affiliate/reports/statistics"
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://{domain}/api/v2/affiliate/reports/statistics', 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://{domain}/api/v2/affiliate/reports/statistics",
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://{domain}/api/v2/affiliate/reports/statistics"
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://{domain}/api/v2/affiliate/reports/statistics")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{domain}/api/v2/affiliate/reports/statistics")
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{
"status": "success",
"code": 200,
"name": "OK",
"message": "<string>",
"info": {
"timezone": "<string>",
"rows": {
"rows": [
{
"clicks": 123,
"unique_clicks": 123,
"cv_approved": 123,
"cr": 123,
"approved_payout": 123,
"cv_pending": 123,
"pr": 123,
"cv_rejected": 123,
"rr": 123,
"ar": 123,
"cpc": 123,
"cpa": 123
}
],
"totals": {
"clicks": 123,
"unique_clicks": 123,
"cv_approved": 123,
"cr": 123,
"approved_payout": 123,
"cv_pending": 123,
"pr": 123,
"cv_rejected": 123,
"rr": 123,
"ar": 123,
"cpc": 123,
"cpa": 123
}
}
}
}{
"status": "error",
"code": 400,
"name": "Bad Request",
"message": "Request could not be parsed.",
"info": {
"errors": {}
}
}{
"status": "error",
"code": 401,
"name": "Unauthorized",
"message": "API key is invalid or missing."
}{
"status": "error",
"code": 403,
"name": "Forbidden",
"message": "This endpoint is not available for your role."
}{
"status": "error",
"code": 404,
"name": "Not Found",
"message": "Resource not found."
}{
"status": "error",
"code": 500,
"name": "Internal Server Error",
"message": "An unexpected error occurred.",
"info": {
"errors": {}
}
}Authorizations
Preferred authentication method. Pass the API key in the X-API-Key HTTP request header. The user account must have api_status enabled.
Query Parameters
Date range start. Supports YYYY-MM-DD and YYYY-MM-DD HH:mm:ss.
Date range end. Supports YYYY-MM-DD and YYYY-MM-DD HH:mm:ss.
Page number.
Items per page.
Sort by column key. Default is added_timestamp.
Sort direction.
asc, desc Comma-separated metric keys.
Primary grouping dimension (e.g. offer, country, device, goal).
Additional grouping dimensions (comma-separated).
Report type: general (default), igaming, operator, broker.
general, igaming, operator, broker Return monetary values in the original currency without conversion. Pass yes to enable.
yes, no Search text.
Was this page helpful?