Knowledge base

Advertising Statistics API


Note: The following documentation applies to the current API version; aspects of the domain and functionality are subject to change for general release.

The Statistics API is an HTTP interface that allows advertisers to retrieve acquisition statistics data in CSV format.


Using the Unity Ads Statistics API requires an API key token. You can generate an API key token from dashboard by selecting Settings from the left navigation bar.

Note: The API key is generated for an specific username. If that username is removed from the organization, that API key will be automatically revoked. Please be aware of this if you use the API key as part of an integration with a 3rd party or any other business intelligence solution.

You can use the key token in two ways:

  1. Place the key token in the GET request URL apikey parameter. For example:
  1. Place the key token in the Authorization header of the GET request, prefixed with Bearer. For example:
ons -H "Authorization: Bearer <token>"

GET request

Make a GET request to the following example URL:


The following parameters define the period and scope of requested data:

Parameter Description Example
start Start time of the data query; required. start={ISO 8601 timestamp}
end End time of the data query; required. end={ISO 8601 timestamp}
scale Time resolution of the data (default is all).
  • scale={all}
  • scale={hour}
  • scale={day}
  • scale={week}
  • scale={month}
  • scale={quarter}
  • scale={year}

Example time format: 2017-06-01T00:00:00.000Z


You can apply the following list of filters to your request:

Filter Description Example
campaignSets A comma-separated list of campaign set IDs to filter. campaignSets=[:campaign_set_id]
campaigns A comma-separated list of campaign IDs to filter. campaigns=[:campaign_id]
targets A comma-separated list of target game IDs to filter. targets=[:target_id]
adTypes A comma-separated list of ad types to filter. adTypes=[(video)]
countries A comma-separated list of country codes to filter (for example, US, FI, RU). countries=[:country_code]
stores A comma-separated list of app stores to filter. stores=[(apple)]
platforms A comma-separated list of platforms to filter. platforms=[(ios)]
osVersions A comma-separated list of operating system versions to filter (for example, 1.0.0, 2.1.0). osVersions=[:os_version]
creativePacks A comma-separated list of creative packs to filter. creativePack=[:creativePack_id]
sourceAppId A comma-separated list of source app IDs to filter. This ID is an identifier derived from the game's app store page. Prior to migration, this was called source_id or source_game_id. This identifier is an alphanumeric, 12-character case-sensitive string. See notes. sourceAppId=[:source_app_id]
reachExtension A comma-separated list indicating external supply sources to filter. Possible values are unity and exchanges. reachExtension=[exchanges]

In addition, you can specify a comma-separated list of dimensions by which to split data:


The following allows you to specify comma-separated fields to display in your report:

|country|platform|osVersion|starts|views|clicks|installs|spend)] (default:all)

Note: If you omit the fields parameter, all fields will be output.

Note: The identifiers source_id and source_game_id have been deprecated. They have been replaced with SourceAppID (source_app_id). While the deprecated source_game_id was an integer, the identifier SourceAppID (source_app_id)is a case-sensitive, 12-character, alphanumeric string. For more information, please see the [FAQs] (


The data returns in CSV format, with the following delimiters:

  • Commas (,) separate fields
  • Periods (.) indicate decimals
  • Double quotes (" ") indicate text fields
  • The newline character separates lines within a field

Split data

Split campaignSet data results in two fields:

  • campaign set id
  • campaign set name

Split campaign data results in two fields:

  • campaign id
  • campaign name

Split creativePack data results in two fields:

  • creative pack id
  • creative pack name

Split target data results in three fields:

  • target id
  • target store id
  • target name

Note: Splitting data by too many dimensions may impact response times for querying the API. To avoid lagging or timeouts, we recommend querying 1 day of data at a time when splitting by sourceAppId and country.

Example response

$ curl -L
timestamp,campaign set id,campaign set name,country,clicks,installs,spend
2013-03-01T00:00:00.000Z,50ed569d57fe1f324a15fbf7,"Campaign set #5",AU,71,30,45
2013-03-01T00:00:00.000Z,50ed569d57fe1f324a15fbf7,"Campaign set #5",CA,129,88,132
CONFIDENTIAL, Unity Technologies 2017
Advertiser Stats API
2013-03-01T00:00:00.000Z,50ed569d57fe1f324a15fbf7,"Campaign set
2013-03-01T00:00:00.000Z,50eeb7339e10c9d21c0225cb,"Campaign set
2013-03-01T00:00:00.000Z,50eeb7339e10c9d21c0225cb,"Campaign set #6",AU,16,10,15
2013-03-01T00:00:00.000Z,50eeb7339e10c9d21c0225cb,"Campaign set
Still need help? Get in touch!
Last updated on 20th Oct 2020