Skip to main content

Reporting API

Current stable version: 1.0.0

Authentication​

All requests require a token field in the request body. Contact your Bidease manager to obtain your seller token, or get it from the Bidease Monetize UI.

Endpoint​

POST https://monetize-api.bidease.com/api/v1/s2s/seller/stats?format={format}
Query paramRequiredValuesDescription
formatYesjson, csvResponse format

Request body​

{
"token": "your_seller_token",
"filter": {
"fromDate": "2026-02-01T00:00:00Z",
"toDate": "2026-02-28T23:59:59Z",
"bundleList": [],
"operationSystemList": [],
"groupByList": ["date"]
}
}

Filters​

FieldTypeRequiredDefaultDescription
fromDatestringYes—Start date (inclusive)
toDatestringYes—End date (inclusive)
bundleListstring[]No[]Filter by bundle names. Empty = all
operationSystemListstring[]No[]Filter by OS. Empty = all
groupByListstring[]Yes["date"]Dimensions to group results by

OS values​

ios, android, windows, web

GroupBy dimensions​

ValueDescription
dateDate
countryCountry
inventoryTypeInventory Type
adPlacementAd placement name
bundleBundle identifier
operationSystemOperating system
appNameApp name
storeIDStore ID

Inventory Type values​

interstitial, rewarded, banner, native, mrec

Response​

Metrics (always present)​

FieldTypeDescription
impressionsnumberImpression count
revenuenumberRevenue in USD
ecpmnumbereCPM in USD
clicksnumberClick count

Dimension fields are included only when requested via groupByList.

Examples​

Basic — daily stats​

curl -X POST "https://monetize-api.bidease.com/api/v1/s2s/seller/stats?format=json" \
-H "Content-Type: application/json" \
-d '{
"token": "your_token",
"filter": {
"fromDate": "2026-02-01T00:00:00Z",
"toDate": "2026-02-28T23:59:59Z",
"groupByList": ["date"]
}
}'
{
"bundleStats": [
{ "date": "2026-02-01T00:00:00", "impressions": 15000, "revenue": 45.50, "ecpm": 3.03, "clicks": 120 },
{ "date": "2026-02-02T00:00:00", "impressions": 14500, "revenue": 43.50, "ecpm": 3.00, "clicks": 110 }
]
}

Multiple dimensions​

curl -X POST "https://monetize-api.bidease.com/api/v1/s2s/seller/stats?format=json" \
-H "Content-Type: application/json" \
-d '{
"token": "your_token",
"filter": {
"fromDate": "2026-02-01T00:00:00Z",
"toDate": "2026-02-28T23:59:59Z",
"groupByList": ["date", "inventoryType", "bundle"]
}
}'
{
"bundleStats": [
{ "date": "2026-02-01T00:00:00", "inventoryType": "interstitial", "bundle": "com.example.app", "impressions": 15000, "revenue": 45.50, "ecpm": 3.03, "clicks": 120 },
{ "date": "2026-02-01T00:00:00", "inventoryType": "rewarded", "bundle": "com.example.app", "impressions": 8000, "revenue": 32.00, "ecpm": 4.00, "clicks": 65 }
]
}

With filters​

curl -X POST "https://monetize-api.bidease.com/api/v1/s2s/seller/stats?format=json" \
-H "Content-Type: application/json" \
-d '{
"token": "your_token",
"filter": {
"fromDate": "2026-02-01T00:00:00Z",
"toDate": "2026-02-28T23:59:59Z",
"bundleList": ["com.example.app"],
"operationSystemList": ["android"],
"groupByList": ["date", "adPlacement"]
}
}'
{
"bundleStats": [
{ "date": "2026-02-01T00:00:00", "adPlacementName": "Main Banner", "impressions": 10000, "revenue": 30.00, "ecpm": 3.00, "clicks": 80 },
{ "date": "2026-02-01T00:00:00", "adPlacementName": "Rewarded Video", "impressions": 5000, "revenue": 20.00, "ecpm": 4.00, "clicks": 40 }
]
}

CSV export​

curl -X POST "https://monetize-api.bidease.com/api/v1/s2s/seller/stats?format=csv" \
-H "Content-Type: application/json" \
-d '{
"token": "your_token",
"filter": {
"fromDate": "2026-02-01T00:00:00Z",
"toDate": "2026-02-28T23:59:59Z",
"groupByList": ["date", "bundle"]
}
}' -o stats.csv

The CSV file is named bidease-{sellerName}-stats.csv.

date,bundle,impressions,revenue,ecpm,clicks
2026-02-01T00:00:00.0000000,com.example.app,15000,45.50,3.03,120
2026-02-01T00:00:00.0000000,com.another.app,3200,12.80,4.00,28
2026-02-02T00:00:00.0000000,com.example.app,14500,43.50,3.00,110

Common Response Fields​

Every API response includes the following metadata fields:

FieldTypeRequiredDescription
apiVersionstringYesAPI version. Use to track breaking changes and ensure client compatibility.
requestIDstringYesUnique identifier for the request. Use for debugging and support inquiries.
responseStatusintYesStatus code: 0 = success, non-zero = error.
responseStatusTextstringYesHuman-readable status (e.g., "success", "authError").
messagestringNoAdditional error details when responseStatus is non-zero.
errorListErrorEntity[]NoList of specific validation or processing errors, if any.

ErrorEntity​

FieldTypeDescription
fieldstringThe property path that caused the error (e.g., filter.fromDate).
messagestringHuman-readable error description.
codestringValidation rule identifier (e.g., "notEmpty", "greaterThan").
{
"apiVersion": "1.0.0",
"requestID": "4c4d176c-23e6-4a63-931d-da9121651a87",
"responseStatus": 10,
"responseStatusText": "validationError",
"errorList": [
{
"field": "filter.fromDate",
"message": "'From Date' must not be empty.",
"code": "notEmpty"
}
]
}