This Reporting API can be used to get aggregated campaign data in either JSON or CSV format.
Request Format
Report requests should be sent via HTTP GET requests to a following base URL:
https://r.applovin.com/report
Required Parameters - api_key is the advertiser's API key for Reporting (AKA Report Key). The Report Key, used for Reporting API authentication, can be found in the 'Keys' tab of the account page. If the value is missing, please send an email to support@applovin.com and be sure to include the email address associated with your account.
- start is the start date of the report. Accepts date in ‘YYYY-MM-DD’ format or a Unix timestamp. For example, 2012-10-05 or 1336608000. Must not be longer than 90 days in the past.
- end is the end date of the report. Accepts date in ‘YYYY-MM-DD’ format or a Unix timestamp. For example, 2012-10-05 or 1336608000 or now
- format is the format for the report. Accepts json or csv. See details on request format below
- columns is a comma separated list of columns for the report. See the allowed columns below. For example, ad_id,date,idfa,campaign_name
- report_type tells the API to respond with 'publisher' or 'advertiser' data. If this parameter is omitted, the API will default to report_type=publisher
Optional Parameters
- limit parameter would set the a limit on the number of rows returned. For example, 500
- offset parameter would set the offset to begin fetching rows at. For example, 100
- having parameter allows complex filtering on numeric values. The parameter accepts URL encoded values of numeric columns, comparison operators, and logical operators like impressions%20%3E%200%20AND%20revenue%20%3E%200 ("impressions > 0 AND revenue > 0"). NOTE: This will slow down the response and increase the likelihood of timeouts.
Allowed Publisher Columns
- day - date of reporting data
- hour - hour of reporting data (only available for past 30 days)
- impressions - number of impressions
- clicks - number of clicks
- ctr - number of clicks / number of impressions
- revenue - money earned
- ecpm - money earned per 1000 impressions
- country - two letter country code
- ad_type - GRAPHIC, PLAY, VIDEO, REWARD, or MRAID
- size - ad size (INTER, BANNER, MREC, LEADER, or NATIVE)
- device_type - phone, tablet, or other
- platform - android, ios, fireos, or tvos
- application - app name
- package_name - apps package name or bundle ID
- placement - placement name
- application_is_hidden - is the app hidden in the dashboard
- zone - Zone name, if available to your account
- zone_id - Zone ID, if available to your account. Please contact your account manager if you are interested in using Zones
Allowed Advertiser Columns
- day - date of reporting data
- impressions - number of impressions
- clicks - number of clicks
- ctr - number of clicks / number of impressions
- conversions - number of conversions (installs)
- conversion_rate - number of conversions / number of clicks
- average_cpa - average cost per conversion
- average_cpc - average cost per click
- ad - ad name
- country - two letter country code
- campaign - campaign name
- app_id_external - hashed application id (commonly referred to as 'site id')
- traffic_source - 'AppLovin', or the name of the exchange
- ad_type - GRAPHIC, VIDEO, REWARD, or PLAY
- cost - advertiser spend
- sales - count of attributed sales events (requires setting up revenue postbacks)
- size - ad size (INTER, BANNER, MREC, LEADER, or NATIVE)
- device_type - phone, tablet, or other
- platform - android, ios, fireos, or tvos
- campaign_package_name - Package name or Bundle ID of the app being promoted
- campaign_id_external - Unique reference to a campaign, doesn't change when the campaign is renamed. Same value as {CAMPAIGN_ID} click macro
- campaign_ad_type - Returns 'ua' for user acquisition and 'rt' for Retargeting
Filtering Columns
With the AppLovin reporting API, reports can be filtered by any column. Doing so searches for a direct match to any of the filters.
To filter by a column, add the following url parameter: filter_columnname=onefilter,anotherfilter,thirdfilter
For example, the advertiser wants to see data for only the Android platform, the following url parameter should be set: filter_platform=Android
Reports can be filtered by any column. See above for a list of all columns.
Sorting Columns
Sorting reports works very similar to the way filters work.
For example, to sort a report by campaign_name, add the following url parameter: sort_campaign_name=ASC
The accepted values are ‘ASC’ for ascending or ‘DESC’ for descending. All sorts are lexicographical sort.
Report Formats
Reports can be returned in two formats, JSON and CSV.
Time Zone
All data in the reporting API is in UTC (Coordinated Universal Time).
Example Requests
Example advertiser request:
https://r.applovin.com/report?api_key=YOUR_API_KEY&start=2015-04-20&end=now&columns=day,campaign,impressions,clicks,ctr,conversions,conversion_rate,app_id_external,cost,sales&format=json&report_type=advertiser
Example publisher request:
https://r.applovin.com/report?api_key=YOUR_API_KEY&start=2016-07-01&end=2016-07-07&columns=day%2Cplatform%2Ccountry%2Capplication%2Cpackage_name%2Csize%2Cad_type%2Cimpressions%2Cclicks%2Crevenue,device_type&having=impressions%20%3E%200%20AND%20revenue%20%3E%200&format=csv