Reporting API
Table of Contents
1. API Overview
The Reporting API provides secure, scalable, and programmatic access to daily aggregated reporting metrics for both Publishers and DSPs across Brand+ (B+) marketplace.
Its key features are:
- RESTful HTTP endpoints
- Provide pre-defined reports (Publishers and DSP by default)
- Apply Custom queries with filters on dates and dimensions
- Data available for up to current + L4 months at daily granularity
- Rate limits enforced at 100 requests/hour per account (DSP and Publisher).
- Export report in JSON and CSV format
- Rolling 4-month retention
2. Account Wide Reporting
2.1 Demand
2.1.1 Demand Endpoint
by default
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}"
by ad _format
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=ad_format"
by app _bundle
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=app_bundle"
by country_ code
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=country_code"
by interstitial
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=interstitial"
by platform
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=platform"
by rewarded
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=rewarded"
by group_by for multiple dimensions
curl
"https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date {END_DATE}&group_by=date,app_bundle,ad_format,country_code,interstitial,platform,country_code"
by csv format
curl "https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&format=csv"
2.1.2 Request Parameter
| Parameter | Required? | Description | Example |
| account_auth_token | Required | Reporting API access token (unique per account). |
1001a00a1234ab1111ab12a1abc 12312311a10000a1a123412345678abc1234 |
| start_date | Required | Start date of the range.(YYYY-MM-DD). | 2025-10-09 |
| end_date | Required | Start date of the range.(YYYY-MM-DD). | 2025-10-10 |
| format | Optional | Data format in which the API returns the report | Allowed Values: json, csvjson by default |
| group_by | Optional | You can use a single dimension or a combination of multiple dimensions, separated by comma. |
date |
2.1.3 Available Dimension
| Dimension | Type | Description | Example |
| date | date | Report data in YYYY-MM-DD | 2025-10-25 |
| ad_ format | string | Demand ad type | banner, video, native |
| app_bundle | string | Demand app bundle identifier | com.app.name |
| app_site_domain | string | Domain of app or site | site.com |
| country_code | string |
Country code in ISO 3166-1 alpha-3 format |
USA |
| interstitial | Whether the ad is interstitial. | (0=false, 1=true) | |
| platform | string | Placement platform | iOS, Android, Web |
| rewarded | boolean | Whether placement is rewarded | true, false |
2.1.4 Response Example
by default
{
"status": "success",
"data": [
{
"date": "2025-10-20",
"gross_revenue": 34917.80999999996,
"impressions": 109068916,
"bids": 1219382746,
"clicks": 290310,
"dsp_requests": 41194680402,
"wins": 766472694
},
{
"date": "2025-10-19",
"gross_revenue": 37153.629999999976,
"impressions": 123576875,
"bids": 1527633303,
"clicks": 305097,
"dsp_requests": 48486533390,
"wins": 897476730
}
],
"result_count": 2
}
by ad_format
{
"status": "success",
"data": [
{
"ad_format": "video",
"gross_revenue": 7398.540000000003,
"impressions": 3053802,
"bids": 154171659,
"clicks": 159738,
"dsp_requests": 7078824889,
"wins": 102345821
},
{
"ad_format": "banner",
"gross_revenue": 59847.009999999944,
"impressions": 217488293,
"bids": 2427155781,
"clicks": 280802,
"dsp_requests": 59587126712,
"wins": 1449152786
}
],
"result_count": 2
}
by app_bundle
{
"status": "success",
"data": [
{
"app_bundle": "app1.bundle.com",
"gross_revenue": 0,
"impressions": 0,
"bids": 72,
"clicks": 0,
"dsp_requests": 15364,
"wins": 69
},
{
"app_bundle": "app2.bundle.com",
"gross_revenue": 0.01,
"impressions": 10,
"bids": 1276,
"clicks": 0,
"dsp_requests": 51676,
"wins": 1083
}
],
"result_count": 2
}
by country _code
{
"status": "success",
"data": [
{
"country_code": "COL",
"gross_revenue": 975.3900000000002,
"impressions": 3076696,
"bids": 33296219,
"clicks": 29027,
"dsp_requests": 1276294300,
"wins": 24105888
},
{
"country_code": "DOM",
"gross_revenue": 19.689999999999984,
"impressions": 89455,
"bids": 958441,
"clicks": 1431,
"dsp_requests": 74110892,
"wins": 802546
}
],
"result_count": 2
}
by interstitial
{
"status": "success",
"data": [
{
"interstitial": 0,
"gross_revenue": 52412.57999999995,
"impressions": 224079801,
"bids": 2238973787,
"clicks": 282411,
"dsp_requests": 73726818295,
"wins": 1328186390
},
{
"interstitial": 1,
"gross_revenue": 19658.850000000002,
"impressions": 8565990,
"bids": 508042262,
"clicks": 312996,
"dsp_requests": 15954395497,
"wins": 335763034
}
],
"result_count": 2
}
by platform
{
"status": "success",
"data": [
{
"platform": "Android",
"gross_revenue": 44654.30999999996,
"impressions": 121095782,
"bids": 1749677268,
"clicks": 520798,
"dsp_requests": 49712435545,
"wins": 1210391322
},
{
"platform": "iOS",
"gross_revenue": 820.6799999999995,
"impressions": 105544,
"bids": 791971,
"clicks": 0,
"dsp_requests": 3338931041,
"wins": 708217
}
],
"result_count": 2
}
by rewarded
{
"status": "success",
"data": [
{
"rewarded": false,
"gross_revenue": 69748.43999999987,
"impressions": 231387939,
"bids": 2687525812,
"clicks": 551728,
"dsp_requests": 87477390660,
"wins": 1618917241
},
{
"rewarded": true,
"gross_revenue": 2323.0099999999998,
"impressions": 1257852,
"bids": 59490237,
"clicks": 43679,
"dsp_requests": 2203823132,
"wins": 45032183
}
],
"result_count": 2
}
by group_by for multiple dimensions
{
"status": "success",
"data": [
{
"date": "2025-10-20",
"gross_revenue": 34917.80999999997,
"impressions": 109068916,
"bids": 1219382746,
"clicks": 290310,
"dsp_requests": 41194680402,
"wins": 766472694
},
{
"date": "2025-10-19",
"gross_revenue": 37153.619999999944,
"impressions": 123576875,
"bids": 1527633303,
"clicks": 305097,
"dsp_requests": 48486533390,
"wins": 897476730
}
],
"result_count": 2
}
by csv format
country_code,gross_revenue,impressions,bids,clicks,dsp_requests,wins
THA,600.99,1733711,23467904,3712,786840719,16756358
MLI,0.53,12588,70426,372,14913578,68997
GIB,0.00,2,6,0,375628,2
MSR,0,0,20,0,61940,19
2.2 Supply
2.2.1 Supply Endpoint
by default
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}"
by app_bundle
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date= {END_Date}&group_by=app_bundle"
by ad_format
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=ad_format"
by country_ code
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=country_code"
by interstitial
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=interstitial"
by os
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=os"
by platform
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=platform"
by rewarded
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=rewarded"
by zone_id
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=zone_id"
by group_by by multiple dimensions
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=date,ad_format,country_code"
by csv format
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&format=csv"
2.2.2 Request Parameter
| Parameter | Required? | Description | Example |
| account_auth_token | Required | Reporting API access token (unique per account). |
1001a00a1234ab1111ab12a1abc 12312311a10000a1a123412345678abc1234 |
| start_date | Required | Start date of the range.(YYYY-MM-DD). | 2025-10-09 |
| end_date | Required | Start date of the range.(YYYY-MM-DD). | 2025-10-10 |
| format | optional | Data format in which the API returns the report | Allowed value: json csv json by default |
| group_by | Optional | You can use a single dimension or a combination of multiple dimensions, separated by comma |
date |
2.2.3 Available Dimension
| Dimension | Type | Description | Example |
| date | date | Report date in YYYY-MM-DD | 2025-10-21 |
| ad format | string |
Supply ad type |
banner, video, native |
| app bundle | string | App bundle identifier | com.app.name |
| app site domain | string | Domain of app or site. | site.com |
| country code | string | 3-letter format (e.g., USA), (it’s ISO 3166-1) | USA |
| interstitial | int64 | Whether ad is interstitial | 0=False, 1= True |
| platform | string | Platform (ios, android, web) | in-app, mobile web, CTV |
| os | string | Operating system | Android, iOS |
| zone_id | string | Inventory or placement ID. | 123456789 |
| rewarded | boolean | Whether the ad is rewarded. | True, false |
2.2.4 Response Example
by default
{
"status": "success",
"data": [
{
"date": "2025-10-20",
"impressions": 15794995,
"payout": 5887.942341819769,
"clicks": 71218,
"filled_requests": 85688200,
"requests": 514558600,
"supply_wins": 17775725
},
{
"date": "2025-10-19",
"impressions": 16433745,
"payout": 4860.173476566033,
"clicks": 61770,
"filled_requests": 104821600,
"requests": 561662400,
"supply_wins": 19004547
}
],
"result_count": 2
}
by app_ bundle
{
"status": "success",
"data": [
{
"app_bundle": "com.peoplefun.blockscapes",
"impressions": 187113,
"payout": 17.334279740911995,
"clicks": 29
},
{
"app_bundle": "6459582322",
"impressions": 784,
"payout": 0.079213342,
"clicks": 0
}
],
"result_count": 2
}
by ad_format
{
"status": "success",
"data": [
{
"ad_format": "video",
"impressions": 461968,
"payout": 2500.828379437391,
"clicks": 93641
},
{
"ad_format": "native",
"impressions": 0,
"payout": 0,
"clicks": 0
}
],
"result_count": 2
}
by country_code
{
"status": "success",
"data": [
{
"country_code": "TZA",
"impressions": 49,
"payout": 0.022388687000000004,
"clicks": 1
},
{
"country_code": "BIH",
"impressions": 15,
"payout": 0.00215708,
"clicks": 0
}
],
"result_count": 2
}
by interstitial
{
"status": "success",
"data": [
{
"interstitial": 0,
"impressions": 30998038,
"payout": 3883.881341515259,
"clicks": 8674
},
{
"interstitial": 1,
"impressions": 1230702,
"payout": 6864.234476870555,
"clicks": 124314
}
],
"result_count": 2
}
by os
{
"status": "success",
"data": [
{
"os": "Android",
"impressions": 5285542,
"payout": 6175.952165653822,
"clicks": 81355
},
{
"os": "iOS",
"impressions": 26943198,
"payout": 4572.163652731982,
"clicks": 51633
}
],
"result_count": 2
}
by platform
{
"status": "success",
"data": [
{
"platform": "Android",
"impressions": 5286326,
"payout": 6176.031378995818,
"clicks": 81355
},
{
"platform": "iOS",
"impressions": 26942414,
"payout": 4572.084439389987,
"clicks": 51633
}
],
"result_count": 2
}
by zone_ id
{
"status": "success",
"data": [
{
"zone_id": 133141654,
"impressions": 53999,
"payout": 6.816015985400006,
"clicks": 0
},
{
"zone_id": 134922325,
"impressions": 220015,
"payout": 517.8540818065745,
"clicks": 13805
}
],
"result_count": 2
}
by rewarded
{
"status": "success",
"data": [
{
"rewarded": true,
"impressions": 24497,
"payout": 151.5486560585091,
"clicks": 4882
},
{
"rewarded": false,
"impressions": 32204243,
"payout": 10596.56716232729,
"clicks": 128106
}
],
"result_count": 2
}
by group_by for multiple dimensions
{
"status": "success",
"data": [
{
"date": "2025-10-20",
"impressions": 15794995,
"payout": 5887.942341819774,
"clicks": 71218,
"filled_requests": 85688200,
"requests": 514558600,
"supply_wins": 17775725
},
{
"date": "2025-10-19",
"impressions": 16433745,
"payout": 4860.173476566032,
"clicks": 61770,
"filled_requests": 104821600,
"requests": 561662400,
"supply_wins": 19004547
}
],
"result_count": 2
}
by csv format
date,impressions,payout,clicks,filled_requests,requests,supply_wins
2025-10-12,16655744,6592.04,116306,115403400,547087400,19561015
2025-10-11,17814371,6421.47,107666,124878400,518346000,21220436
Last Modified: October 29, 2025 at 8:57 am