Revenue

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

start_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
(yyyy-MM-dd) Date, inclusive, to stop reporting. If you specify a granularity other than daily this will be rounded up to the nearset period. default: distant future.


group_by
One or more pivots separated by a comma (,). Available pivots: product, country, date, and store.


products
(productId | productId1, productId2, …) specific products to include in the response, default: all active products in account


countries
(isoCode | isoCode1;isoCode2;isoCodeN) Countries to limit the report to (can be taken from /data/countries, default: include all countries)


format
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

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.
ads The amount of revenue generated from ad publishing, after the store’s fee.
edu The amount of revenue generated from (discounted) educational downloads, 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_edu The amount of revenue generated from (discounted) educational downloads, 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",
  "total": "50509.29",
  "gross_sales": "798.11",
  "gross_iap": "2947.29",
  "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

start_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
(yyyy-MM-dd) Date, inclusive, to stop reporting. If you specify a granularity other than daily this will be rounded up to the nearset period. default: distant future.


group_by
One or more pivots separated by a comma (,). Available pivots: product, country, date, and store.


products
(productId | productId1, productId2, …) specific products to include in the response, default: all active products in account


countries
(isoCode | isoCode1;isoCode2;isoCodeN) Countries to limit the report to (can be taken from /data/countries, default: include all countries)


format
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",
    "total": "3562.02",
    "gross_sales": "798.11",
    "gross_iap": "2947.29",
    "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",
    "total": "3562.02",
    "gross_sales": "798.11",
    "gross_iap": "2947.29",
    "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",
      "total": "3562.02",
      "gross_sales": "798.11",
      "gross_iap": "2947.29",
      "gross_edu": "0.00",
      "gross_returns": "25.10",
      "gross_total": "4262.28"
      "date": "2017-06-12",
      "product_id": 5561990
    },
    ...
  },
  ...
}