The /reports/revenue resource provides access to revenue for all apps broken down by source (app sales, ads, iaps, returns, and educational).
Scope: All of the resources in this route require read access in the private scope (private:read).
Getting revenue totals
Request
GET /reports/revenue?start_date={start_date}&end_date={end_date}&products={products}&countries={countries}
Arguments
| Argument | Type | Description |
|---|---|---|
| start_date | Date | (yyyy-MM-dd) Date, inclusive, to start reporting from. If you specify a granularity other than daily this will be rounded down to the nearest period. default: a long, long time ago. |
| end_date | Date | (yyyy-MM-dd) Date, inclusive, to stop reporting. If you specify a granularity other than daily this will be rounded up to the nearest period. default: distant future. |
| group_by | List | One or more pivots separated by a comma (,). Available pivots: product, country, date, and store. |
| products | List | (productId | productId1, productId2, …) specific products to include in the response, default: all active products in account |
| countries | List | (isoCode | isoCode1;isoCode2;isoCodeN) Countries to limit the report to (can be taken from /data/countries, default: include all countries) |
| format | String> | Output format: JSON or CSV. Defaults to JSON.
Note: To prevent excessive repetition, when format is set to csv sub-objects (like the product in /revenue/products/…) will not be fully serialized but only their reference will be. |
Response
| Field | Description |
|---|---|
| sales | The amount of revenue generated from app downloads, after the store’s fee. |
| iaps | The amount of revenue generated from in-app purchases, after the store’s fee. |
| subscriptions | The amount of revenue generated from recurring in-app purchases, after the store’s fee. |
| ads | The amount of revenue generated from ad publishing, after the store’s fee. |
| edu | The amount of revenue generated from purchases through the Volume Purchase for Education program, after the store’s fee. |
| business | The amount of revenue generated from purchases through the Volume Purchase for Business program, after the store’s fee. |
| returns | The amount of money returned to users, after the store’s fee. |
| total | The total revenue for the period, after the store’s fee, where total = sales + iaps + ads + edu – returns. |
| gross_sales | The amount of revenue generated from app downloads, before the store’s fee. |
| gross_iaps | The amount of revenue generated from in-app purchases, before the store’s fee. |
| gross_subscriptions | The amount of revenue generated from recurring in-app purchases, before the store’s fee. |
| gross_edu | The amount of revenue generated from purchases through the Volume Purchase for Education program, before the store’s fee. |
| gross_business | The amount of revenue generated from purchases through the Volume Purchase for Business program, before the store’s fee. |
| gross_returns | The amount of money returned to users, not including the store’s fee. |
| gross_total | The total revenue for the period, before the store’s fee, where total = sales + iaps + ads + edu – returns. |
Example Response
// /reports/revenue?start_date=-30
{
"returns": "170.71",
"edu": "5481.19",
"ads": "25980.75",
"sales": "12506.15",
"iap": "6711.91",
"subscriptions": "11661.84",
"total": "50509.29",
"gross_sales": "798.11",
"gross_iap": "2947.29",
"gross_subscriptions": "12020.66",
"gross_edu": "0.00",
"gross_returns": "25.10",
"gross_total": "4262.28"
}
Getting revenue details
Request
GET /reports/revenue/?group_by={group_by}&start_date={start_date}&end_date={end_date}&products={products}&countries={countries}&format={format}
Arguments
| Argument | Type | Description |
|---|---|---|
| start_date | Date | (yyyy-MM-dd) Date, inclusive, to start reporting from. If you specify a granularity other than daily this will be rounded down to the nearest period. default: a long, long time ago. |
| end_date | Date | (yyyy-MM-dd) Date, inclusive, to stop reporting. If you specify a granularity other than daily this will be rounded up to the nearest period. default: distant future. |
| group_by | List | One or more pivots separated by a comma (,). Available pivots: product, country, date, and store. |
| products | List | (productId | productId1, productId2, …) specific products to include in the response, default: all active products in account |
| countries | List | (isoCode | isoCode1;isoCode2;isoCodeN) Countries to limit the report to (can be taken from /data/countries, default: include all countries) |
| format | String> | Output format: JSON or CSV. Defaults to JSON.
Note: To prevent excessive repetition, when format is set to csv sub-objects (like the product in /revenue/products/…) will not be fully serialized but only their reference will be. |
Response
Just like other routes in the /reports family, the response can be grouped by a variety of values either one at a time or combined to produce a nested response. While the breakdown may change, the leaves of the response follow the same format as the totals object from the previous example.
Example Response grouped by day
// GET /reports/revenue/?group_by=dates&start_date=-30
{
"2017-06-12": {
"returns": "19.20",
"edu": "0.00",
"ads": "1023.01",
"sales": "511.10",
"iap": "2047.11",
"subscriptions": "11661.84",
"total": "3562.02",
"gross_sales": "798.11",
"gross_iap": "2947.29",
"gross_subscriptions": "12020.66",
"gross_edu": "0.00",
"gross_returns": "25.10",
"gross_total": "4262.28"
"date": "2015-11-22"
},
...
}
Example Response grouped by country
// GET /reports/revenue/?group_by=country&start_date=-30
{
"US": {
"returns": "19.20",
"edu": "0.00",
"ads": "1023.01",
"sales": "511.10",
"iap": "2047.11",
"subscriptions": "11661.84",
"total": "3562.02",
"gross_sales": "798.11",
"gross_iap": "2947.29",
"gross_subscriptions": "12020.66",
"gross_edu": "0.00",
"gross_returns": "25.10",
"gross_total": "4262.28"
"date": "2017-06-12"
},
...
}
Example Response grouped by products and country
// GET /reports/revenue/?group_by=product,date&start_date=-30
{
"2017-06-12": {
"5561990": {
"returns": "19.20",
"edu": "0.00",
"ads": "1023.01",
"sales": "511.10",
"iap": "2047.11",
"subscriptions": "11661.84",
"total": "3562.02",
"gross_sales": "798.11",
"gross_iap": "2947.29",
"gross_subscriptions": "12020.66",
"gross_edu": "0.00",
"gross_returns": "25.10",
"gross_total": "4262.28"
"date": "2017-06-12",
"product_id": 5561990
},
...
},
...
}