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 Bidease UI.
Endpoint
POST https://monetize-api.bidease.com/api/v1/s2s/seller/stats?format={format}
| Query param | Required | Values | Description |
|---|---|---|---|
format | Yes | json, csv | Response 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
fromDate | string | Yes | — | Start date (inclusive) |
toDate | string | Yes | — | End date (inclusive) |
bundleList | string[] | No | [] | Filter by bundle names. Empty = all |
operationSystemList | string[] | No | [] | Filter by OS. Empty = all |
groupByList | string[] | Yes | ["date"] | Dimensions to group results by |
OS values
ios, android, windows, web
GroupBy dimensions
| Value | Description |
|---|---|
date | Date |
country | Country |
inventoryType | Inventory Type |
adPlacement | Ad placement name |
bundle | Bundle identifier |
operationSystem | Operating system |
appName | App name |
storeID | Store ID |
Inventory Type values
interstitial, rewarded, banner, native, mrec
Response
Metrics (always present)
| Field | Type | Description |
|---|---|---|
impressions | number | Impression count |
revenue | number | Revenue in USD |
ecpm | number | eCPM in USD |
clicks | number | Click 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.csvThe 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,110Common Response Fields
Every API response includes the following metadata fields
| Field | Type | Required | Description |
|---|---|---|---|
apiVersion | string | Yes | API version. Use to track breaking changes and ensure client compatibility. |
requestID | string | Yes | Unique identifier for the request. Use for debugging and support inquiries. |
responseStatus | int | Yes | Status code: 0 = success, non-zero = error. |
responseStatusText | string | Yes | Human-readable status (e.g., "success", "authError"). |
message | string | No | Additional error details when responseStatus is non-zero. |
errorList | ErrorEntity | No | List of specific validation or processing errors, if any. |
ErrorEntity
| Field | Type | Description |
|---|---|---|
field | string | The property path that caused the error (e.g., filter.fromDate). |
message | string | Human-readable error description. |
code | string | Validation 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"
}
]
}Updated 12 days ago