Statistics
Use Case
Use these endpoints to retrieve aggregated wagering and performance data for your team. Three views are available:
- Overview — A single summary across all brands and providers.
- By Brand — Per-brand breakdown, useful for comparing brand performance.
- By Provider — Per-provider breakdown, useful for evaluating game provider contribution.
All three endpoints support an optional date range filter using start_date and end_date. Date-range filtering applies to bet records only; player and brand counts in the overview reflect all-time totals.
Complete Flow
Step 1 — Get Overview Statistics
GET /api/stats/overview
Returns team-wide aggregate statistics covering both Live/Slots bets and Sports bets.
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Start of date range in YYYY-MM-DD format (inclusive) |
end_date | string | No | End of date range in YYYY-MM-DD format (inclusive) |
Example request — last month:
GET /api/stats/overview?start_date=2026-03-01&end_date=2026-03-31
Example request — all time (no date filter):
GET /api/stats/overview
Response:
{
"data": {
"total_brands": 5,
"active_brands": 4,
"total_players": 18240,
"total_bets": 320500,
"total_bet_amount": "4820000000.00",
"total_payout_amount": "4430000000.00",
"total_win_loss": "-390000000.00",
"total_sports_bets": 45200,
"total_sports_stake": "680000000.00",
"total_sports_payout": "620000000.00",
"total_sports_win_loss": "-60000000.00"
}
}
| Field | Description |
|---|---|
total_brands | Total number of Brands under this Team (all-time count, not date-filtered) |
active_brands | Brands with status = 1 (all-time count) |
total_players | Total registered players (all-time count) |
total_bets | Number of Live/Slots bet records in the date range |
total_bet_amount | Total amount wagered on Live/Slots bets |
total_payout_amount | Total payout on Live/Slots bets |
total_win_loss | Net GGR from Live/Slots: total_bet_amount - total_payout_amount (positive = platform wins) |
total_sports_bets | Number of Sports bet records in the date range |
total_sports_stake | Total stake on Sports bets |
total_sports_payout | Total payout on Sports bets |
total_sports_win_loss | Net GGR from Sports bets |
Note:
total_win_lossrepresents net GGR from the platform's perspective. A negative value means players won more than they wagered in the period.
Step 2 — Get Statistics by Brand
GET /api/stats/by-brand
Returns a breakdown of wagering statistics for each Brand. Useful for identifying your highest-performing operators.
Query parameters: Same as overview — start_date and end_date (both optional, YYYY-MM-DD format).
Example request:
GET /api/stats/by-brand?start_date=2026-04-01&end_date=2026-04-06
Response:
{
"items": [
{
"brand_id": 42,
"brand_name": "Ace Casino",
"brand_code": "ace",
"player_count": 8500,
"bet_count": 125000,
"bet_amount": "1950000000.00",
"payout_amount": "1780000000.00",
"win_loss": "-170000000.00",
"sports_bet_count": 18200,
"sports_stake": "275000000.00",
"sports_payout": "252000000.00",
"sports_win_loss": "-23000000.00"
},
{
"brand_id": 43,
"brand_name": "Star Games",
"brand_code": "star",
"player_count": 4100,
"bet_count": 60000,
"bet_amount": "920000000.00",
"payout_amount": "845000000.00",
"win_loss": "-75000000.00",
"sports_bet_count": 8900,
"sports_stake": "130000000.00",
"sports_payout": "119000000.00",
"sports_win_loss": "-11000000.00"
}
]
}
| Field | Description |
|---|---|
player_count | Total registered players for this brand (all-time, not date-filtered) |
bet_count | Live/Slots bet count in the date range |
bet_amount / payout_amount | Live/Slots wagering totals |
win_loss | Net GGR for Live/Slots |
sports_bet_count | Sports bet count in the date range |
sports_stake / sports_payout | Sports wagering totals |
sports_win_loss | Net GGR for Sports |
Brands with zero bets in the date range are still included with all amounts set to "0.00" and counts set to 0.
Step 3 — Get Statistics by Provider
GET /api/stats/by-provider
Returns a breakdown of wagering statistics grouped by game provider. Supports an optional brand_id filter to narrow the report to a single Brand.
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Start of date range in YYYY-MM-DD format (inclusive) |
end_date | string | No | End of date range in YYYY-MM-DD format (inclusive) |
brand_id | integer | No | Restrict results to a single Brand |
Example request — provider performance for a specific brand this week:
GET /api/stats/by-provider?start_date=2026-03-31&end_date=2026-04-06&brand_id=42
Example request — all providers, all brands, all time:
GET /api/stats/by-provider
Response:
{
"items": [
{
"provider_id": 3,
"provider_code": "evolution",
"bet_count": 98000,
"bet_amount": "1500000000.00",
"payout_amount": "1380000000.00",
"win_loss": "-120000000.00",
"sports_bet_count": 0,
"sports_stake": "0.00",
"sports_payout": "0.00",
"sports_win_loss": "0.00"
},
{
"provider_id": 12,
"provider_code": "betconstruct",
"bet_count": 0,
"bet_amount": "0.00",
"payout_amount": "0.00",
"win_loss": "0.00",
"sports_bet_count": 18200,
"sports_stake": "275000000.00",
"sports_payout": "252000000.00",
"sports_win_loss": "-23000000.00"
}
]
}
Results are sorted by provider_id in ascending order. Providers that have only Live/Slots or only Sports activity will have zeros for the other category.
Important Notes
- Date filtering is inclusive on both ends.
start_date=2026-03-01&end_date=2026-03-31includes all bets from 2026-03-01 00:00:00 through 2026-03-31 23:59:59 (UTC). - Date format is
YYYY-MM-DDonly. Do not include a time component or timezone suffix. player_countand brand totals are all-time figures. They are not filtered by the date range — only bet and sports bet aggregates respect the date filter.win_lossfields use the platform's perspective (positive = platform earned, negative = platform paid out net). To derive player P&L, negate the value.- By-provider results only include providers with at least one bet record in the filtered scope. Providers on your whitelist with no bets are not listed.
- Omitting both
start_dateandend_datereturns aggregate statistics across all time.