1. API Overview
The Reporting API provides secure, scalable, and programmatic access to daily aggregated reporting metrics for both Demand and Supply across Brand+ (B+) marketplace.
Its key features are:
- RESTful HTTP endpoints
- Provide pre-defined reports (Demand and Supply by default)
- Apply Custom queries with filters on dimensions
- Daily-granularity data available for the current period + the last 4 months (rolling retention)
- Data freshness: updated daily by 08:00 UTC; reporting data is available with a T-1 delay (i.e., complete data is typically available up to yesterday)
- Rate limits enforced at 100 requests/hour per account (Demand and Supply)
- Export report in JSON and CSV format
2. Account Wide Reporting
2.1 Supply
2.1.1 Supply Endpoint
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}"
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=b_publisher_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=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=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=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=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=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=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=placement_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=rewarded"
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&level=group"
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"
curl "https://api-reporting.verve.com/brand/supply?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&format=csv"
curl "https://api-reporting.verve.com/brand/supply?start_date={START_DATE}&end_date={END_DATE}&account_auth_token={ACCOUNT_AUTH_TOKEN}&group_by=app_site_domain,rewarded&filters=os:iOS,placement_id:1&format=csv"
Note:
Group-Level Reporting (Publisher Group Account): By default, reports return aggregated data for all accounts under the same Publisher Group
level=group. Theauth_tokenused determines which Publisher Group the data is pulled from. If you need to analyze performance per account, you can:
- Split results using
group_by=b_publisher_idto view metrics by individual publisher.- Filter results using
filters=b_publisher_id:{PUBLISHER_ID}to retrieve data for a specific publisher.Both options - grouped or per - publisher - are supported, depending on your reporting needs.
Both options - grouped or per - publisher - are supported, depending on your reporting needs.
2.1.2 Request Parameter
| Dimension | Type | Description | Example |
| date | date | Report date in YYYY-MM-DD | 2025-10-21 |
| b_publisher_id | integer | Publisher ID | 123456789 |
| 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/1 |
| platform | string | Platform (ios, android, web) | in-app, mobile web, CTV |
| os | string | Operating system | Android, iOS |
| placement_id | string | Inventory or placement ID | 123456789 |
| rewarded | boolean | Whether the ad is rewarded | True, false |
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 | Bundle app or site domain | site.com |
| country_code | string | Country code in ISO 3166-1 alpha-3 format | USA |
| interstitial | integer | Whether the ad is interstitial | 0/1 |
| platform | string | Placement platform | iOS, Android, Web |
| rewarded | boolean | Whether placement is rewarded | true, false |
2.1.4 Response Example
{
"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
}
{
"status": "success",
"data": [
{
"b_publisher_id": 1100000000,
"impressions": 1297756,
"payout": 1383.6833560557122,
"clicks": 54793
}
],
"result_count": 1
}
{
"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
}
{
"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
}
"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
}
{
"status": "success",
"data": [
{
"interstitial": 0,
"impressions": 30998038,
"payout": 3883.881341515259,
"clicks": 8674
},
{
"interstitial": 1,
"impressions": 1230702,
"payout": 6864.234476870555,
"clicks": 124314
}
],
"result_count": 2
}
{
"status": "success",
"data": [
{
"os": "Android",
"impressions": 5285542,
"payout": 6175.952165653822,
"clicks": 81355
},
{
"os": "iOS",
"impressions": 26943198,
"payout": 4572.163652731982,
"clicks": 51633
}
],
"result_count": 2
}
{
"status": "success",
"data": [
{
"platform": "Android",
"impressions": 5286326,
"payout": 6176.031378995818,
"clicks": 81355
},
{
"platform": "iOS",
"impressions": 26942414,
"payout": 4572.084439389987,
"clicks": 51633
}
],
"result_count": 2
}
{
"status": "success",
"data": [
{
"placement_id": 100090103,
"impressions": 8,
"payout": 0.017404099,
"clicks": 5
},
{
"placement_id": 100280902,
"impressions": 187106,
"payout": 17.326856343531006,
"clicks": 28
}
],
"result_count": 2
}
"status": "success",
"data": [
{
"rewarded": true,
"impressions": 24497,
"payout": 151.5486560585091,
"clicks": 4882
},
{
"rewarded": false,
"impressions": 32204243,
"payout": 10596.56716232729,
"clicks": 128106
}
],
"result_count": 2
}
"status": "success",
"data": [
{
"date": "2025-10-20",
"impressions": 48291556,
"payout": 9251.581178819762,
"clicks": 75359,
"filled_requests": 301326400,
"requests": 1182780528,
"supply_wins": 17775725
},
{
"date": "2025-10-19",
"impressions": 64656223,
"payout": 10389.56768323902,
"clicks": 66645,
"filled_requests": 432764600,
"requests": 1432834463,
"supply_wins": 19004547
}
],
"result_count": 2
}
{
"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
}
country_code,impressions,payout,clicks
LVA,101,0.02,0
CRI,327,0.13,20
DJI,7,0.00,0
JOR,75,0.01,2
SMR,0,0,0
app_site_domain,rewarded,impressions,payout,clicks
,true,3,0.01,0
,false,0,0,0
,true,0,0,0
