Skip to main content

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:

ParameterTypeRequiredDescription
start_datestringNoStart of date range in YYYY-MM-DD format (inclusive)
end_datestringNoEnd 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"
}
}
FieldDescription
total_brandsTotal number of Brands under this Team (all-time count, not date-filtered)
active_brandsBrands with status = 1 (all-time count)
total_playersTotal registered players (all-time count)
total_betsNumber of Live/Slots bet records in the date range
total_bet_amountTotal amount wagered on Live/Slots bets
total_payout_amountTotal payout on Live/Slots bets
total_win_lossNet GGR from Live/Slots: total_bet_amount - total_payout_amount (positive = platform wins)
total_sports_betsNumber of Sports bet records in the date range
total_sports_stakeTotal stake on Sports bets
total_sports_payoutTotal payout on Sports bets
total_sports_win_lossNet GGR from Sports bets

Note: total_win_loss represents 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"
}
]
}
FieldDescription
player_countTotal registered players for this brand (all-time, not date-filtered)
bet_countLive/Slots bet count in the date range
bet_amount / payout_amountLive/Slots wagering totals
win_lossNet GGR for Live/Slots
sports_bet_countSports bet count in the date range
sports_stake / sports_payoutSports wagering totals
sports_win_lossNet 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:

ParameterTypeRequiredDescription
start_datestringNoStart of date range in YYYY-MM-DD format (inclusive)
end_datestringNoEnd of date range in YYYY-MM-DD format (inclusive)
brand_idintegerNoRestrict 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-31 includes all bets from 2026-03-01 00:00:00 through 2026-03-31 23:59:59 (UTC).
  • Date format is YYYY-MM-DD only. Do not include a time component or timezone suffix.
  • player_count and 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_loss fields 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_date and end_date returns aggregate statistics across all time.