1. API Overview
The Reporting API 2.0 provides secure, scalable, and programmatic access to daily aggregated reporting metrics for both Publishers and DSPs across Brand+ (B+) and Performance+ (P+) marketplaces.
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 + last quarter (4 months) at daily granularity
- Rate limits enforced at 100 requests/hour per account (DSP and Publisher).
- Export report in JSON and CSV format
- Rate limiting & usage monitoring enforced by Apigee
- Rolling 4-month retention
- Secure & auditable (TLS v1.3, parameterized queries, KVM-encrypted tokens).
- Scope: Works across In-App, Web, and CTV supply
2. Account Wide Reporting
2.1 Demand
2.1.1 Demand Endpoint
curl https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}
curl https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=dsp_id
curl https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}&group_by=dsp_group_id
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
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
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by=ad_format
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by=app_bundle
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by=interstitial
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by=app_site_domain
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by=rewarded
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by[]=dsp_id&group_by[]=country_code
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). | 2021-01-25 |
end_date | Required | End date of the data (YYYY-MM-DD). | 2021-01-30 |
group_by | Optional | Single breakdown dimension (Add in case you wish to breakdown by specific dimension(s). Please note that the report is broken down by pub_app by default.) | date dsp_id dsp_group_id platform country_code ad_format app_bundle interstitial app_site_domain rewarded |
group_by [] | Optional | Use in case you want to add multiple group_by parameters. | &group_by[]=dsp_id&group_by[]=country_code |
2.1.3 Example Response
2.2 Supply
2.2.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.verve.com/brand/supply?account_auth_token=ACCT_TOKEN &start_date= {Start_Date} &end_date= {End_Date}&group_by=publisher_id
curl https://api-reporting.verve.com/brand/supply/reports?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&&group_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=country_code
https://api.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_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=os
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
curl https://api-reporting.verve.com/brand/demand?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date ={START_DATE}&end_date={END_DATE}&group_by=zone_id
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_site_domain
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
curl https://api-reporting.verve.com/brand/demand?account_auth_token=ACCT_TOKEN &start_date= {Start_Date}&end_date= {End_Date}&group_by[]=zone_id&group_by[]=publisher_id
2.2.2 Request Parameters
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.(dd/mm/yyyy). | 2021-01-25 or 25/01/2021 |
end_date | Required | End date of the data (dd/mm/yyyy). | 2021-01-30 or 30/01/2021 |
group_by | Optional | Single breakdown dimension (Add in case you wish to breakdown by specific dimension(s). Please note that the report is broken down by pub_app by default.) | publisher_id app_bundle ad_format country_code interstitial os platform zone_id app_site_domain rewarded |
group_by [] | Optional | Use in case you want to add multiple group_by parameters. | &group_by[]=zone_id&group_by[]=publisher_id |
2.2.3 Example Response
{
"reports":
{
"app_name": "AppName4"
"bids": 2050,
"clicks": 4,
"impressions": 1682,
"gross_revennue": 282992.86,
"dt": "25/01/2021",
"requests": 1278292
}
}
"reports":
{
"ctr": 0.24,
"app_name": "APP NAME1",
"country_code": "US",
"ad_server_fill_rate": 0.24,
"ad_server_requests": 862700,
"ad_server_filled_requests": 2050,
"clicks": 4,
"impressions": 1682,
"ecpm": 0.86,
"date": "25/01/2021",
"revenues": 1.44
}
"reports":
{
"ctr": 0.24,
"app_name": "APP NAME1",
"zone_id": "1",
"ad_server_fill_rate": 0.24,
"ad_server_requests": 862700,
"ad_server_filled_requests": 2050,
"clicks": 4,
"impressions": 1682,
"ecpm": 0.86,
"date": "25/01/2021",
"revenues": 1.44
}
"reports":
{
"ctr": 0.24,
"app_name": "APP NAME6",
"zone_name": "1",
"ad_server_fill_rate": 0.24,
"ad_server_requests": 862700,
"ad_server_filled_requests": 2050,
"clicks": 4,
"impressions": 1682,
"ecpm": 0.86,
"date": "25/01/2021",
"revenues": 1.44
}
}
"reports":
{
"ctr": 0.24,
"app_name": "APP NAME3",
"country_code": "US",
"zone_id": "1",
"ad_server_fill_rate": 0.24,
"ad_server_requests": 862700,
"ad_server_filled_requests": 2050,
"clicks": 4,
"impressions": 1682,
"ecpm": 0.86,
"date": "25/01/2021",
"revenues": 1.44
},
"reports": [
{
"ctr": 0.24,
"app_name": "APP NAME1",
"bundle_id": "com.reporting.api",
"ad_server_fill_rate": 0.24,
"ad_server_requests": 862700,
"ad_server_filled_requests": 2050,
"clicks": 4,
"impressions": 1682,
"ecpm": 0.86,
"date": "25/01/2021",
"revenues": 1.44
},
3. App Specific Reporting API
You can query for the data of specific App ID under your account.
3-1. Endpoint
You can request for data with or without country breakdown included.
(add by_country in endpoint if you want with country breakdown)
https://dashboard.pubnative.net/api/v1/apps/{APP_ID}/reports?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}
https://dashboard.pubnative.net/api/v1/apps/{APP_ID}/reports/by_country?account_auth_token={ACCOUNT_AUTH_TOKEN}&start_date={START_DATE}&end_date={END_DATE}
3-2. Request Parameters
Parameter | Required? | Description | Example |
---|---|---|---|
app_id | Required | Unique ID of your app. Check partner dashboard. | 1023001 |
account_auth_token | Required | Reporting API access token (unique per account). Available in dashboard account menu (click Reporting API Key) | 1001a00a1234ab1111abc12a1abc 12312311a10000a1a123412345678abc1234 |
start_date | Required | Start date of the data (dd/mm/yyyy) | 25/01/2021 |
end_date | Required | End date of the data (dd/mm/yyyy) | 31/01/2021 |
3-3. Example Response
{
"reports": [
{
"ctr": 0.0,
"ad_server_fill_rate": 0.62,
"ecpm": 3.25,
"ad_server_requests": 154050,
"ad_server_filled_requests": 950,
"clicks": 0,
"impressions": 422,
"date": "25/01/2021",
"revenues": 1.37
},
{
"ctr": 0.62,
"ad_server_fill_rate": 0.22,
"ecpm": 3.13,
"ad_server_requests": 134750,
"ad_server_filled_requests": 300,
"clicks": 2,
"impressions": 322,
"date": "26/01/2021",
"revenues": 1.01
},
{
"reports": [
{
"ctr": 0.0,
"country_code": "US",
"ad_server_fill_rate": 0.0,
"ecpm": 0.0,
"ad_server_requests": 50,
"ad_server_filled_requests": 0,
"clicks": 0,
"impressions": 0,
"date": "25/01/2021",
"revenues": 0.0
},
{
"ctr": 0.0,
"country_code": "CA",
"ad_server_fill_rate": 66.67,
"ecpm": 0.51,
"ad_server_requests": 150,
"ad_server_filled_requests": 100,
"clicks": 0,
"impressions": 69,
"date": "25/01/2021",
"revenues": 0.03
},