Skip to main content
🎉 GP CONF 2026: WEB Games Market Conference 👾 September 23 | Details

Statistics

Use platform statistics to build internal dashboards for advertising performance and purchase activity. These responses contain commercial data and must not be requested directly from the public site.

Execution context: platform server. Send Content-Type, X-Game-Platform-Api-Key, and X-Game-Platform-ID. Keep the API key and complete statistics responses on the server; expose only the aggregates your application authorizes.

Recorded statistics are not a payout statement

These operations return aggregates recorded by the advertising and purchase statistics services. They do not calculate the platform's contractual revenue share or the amount payable after commissions, refunds, fees, or taxes. Use the platform's financial reports for settlement amounts.

Advertising statistics

query PlatformAdsStatistics($input: FetchAdsStatsOnGamePlatformInput!) {
result: FetchAdsStatsOnGamePlatform(input: $input) {
__typename
... on Problem {
message
}
... on AdsStatsList {
count
items {
date
projectId
projectName(lang: EN)
bannerType
requests
displays
errors
fillRate
revenue
}
}
}
}

Variables:

{
"input": {
"gamePlatformId": 42,
"withTotal": true,
"groupBy": ["DATE"],
"groupByDatePeriod": "DAY",
"filter": {
"dateFrom": "2026-08-01T00:00:00Z",
"dateTo": "2026-08-31T23:59:59Z",
"limit": 31,
"offset": 0
},
"sort": [
{
"key": "DATE",
"sort": "ASC"
}
]
}
}

Successful response:

{
"data": {
"result": {
"__typename": "AdsStatsList",
"count": 1,
"items": [
{
"date": "2026-08-01",
"projectId": null,
"projectName": null,
"bannerType": null,
"requests": 10000,
"displays": 8200,
"errors": 120,
"fillRate": 0.82,
"revenue": 245.7
}
]
}
}
}

Add PROJECT or BANNER_TYPE to groupBy to split the totals. Use gameViewIdAnyOf to limit the report to specific games. fillRate is the share of requests that produced an impression and is returned as a ratio from 0 to 1. For a PARTNER platform, revenue is recorded in USD. It remains a statistical estimate rather than a settlement amount.

Purchase statistics

query PlatformPurchaseStatistics(
$input: FetchPurchasesStatsOnGamePlatformInput!
) {
result: FetchPurchasesStatsOnGamePlatform(input: $input) {
__typename
... on Problem {
message
}
... on PlayerPurchasesStatsList {
count
items {
date
projectId
productId
total
pricePlatform
priceRub
priceDollar
product {
id
tag
type
}
}
}
}
}

Variables:

{
"input": {
"gamePlatformId": 42,
"purchasesType": "ON_PLATFORM",
"withTotal": true,
"groupBy": ["DATE"],
"groupByDatePeriod": "DAY",
"filter": {
"dateFrom": "2026-08-01T00:00:00Z",
"dateTo": "2026-08-31T23:59:59Z",
"limit": 31,
"offset": 0
},
"sort": [
{
"key": "DATE",
"sort": "ASC"
}
]
}
}

Successful response shape:

{
"data": {
"result": {
"__typename": "PlayerPurchasesStatsList",
"count": 1,
"items": [
{
"date": "2026-08-01",
"projectId": null,
"productId": null,
"total": 24,
"pricePlatform": 118.5,
"priceRub": 10800,
"priceDollar": 118.5,
"product": null
}
]
}
}
}

Use ON_PLATFORM for currency bundles, VIP, and ad-skip products sold on the platform site. Use IN_APP for purchases made inside games on the platform. Add PROJECT or PRODUCT to groupBy, or use gameViewIdAnyOf, to break down the recorded purchase amounts.

Increase filter.offset by filter.limit for additional rows. Set withTotal: true when count is required for pagination; without it, the API can return 0 in count while still returning items. Date boundaries are inclusive, so send complete ISO timestamps for the required interval. Use the explicitly named priceRub and priceDollar values for currency-specific reporting. pricePlatform is the source platform value and has no currency code in this response, so do not use it as a settlement amount.