Skip to content

Reporting API

Use this Reporting API to get aggregated campaign data in either JSON or CSV format.

Request Format

Make report requests by sending HTTP GET requests to one of the following base URLs:

  • https://r.applovin.com/report
  • https://r.applovin.com/probabilisticReport (For advertising only. All values derived from installs and spend are based on probabilistic install data.)
  • https://r.applovin.com/skaReport (For advertising only. This endpoint reflects SKAdNetwork-derived values and has limited dimensions and metrics. Starting August 1st, 2024, cost values are based on probabilistic data.)

Required Parameters

ParametersPurpose
api_keyYour Report Key
You can find this Report Key in the Keys tab of the account page in your AppLovin dashboard.
start*The start date of the report
Accepts a date in YYYY-MM-DD format or a Unix timestamp. For example, 2012-10-05 or 1336608000.
end*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.
formatThe format for the report
Accepts json or csv. See details on request format below.
columnsA comma-separated list of columns for the report
See the allowed columns below. For example, ad_id,date,campaign_name.
report_typeTells the API to respond with publisher or advertiser data
If this parameter is omitted, the API will default to report_type=publisher.

*This API has a request window of 45 days. Make sure the date parameters are within the last 45 days.

Optional Parameters

ParametersPurpose
limitThe limit on the number of rows returned; for example, 500
offsetThe offset to begin fetching rows at; for example, 100
havingAllows complex filtering on numeric values.
This parameter accepts URL-encoded values of numeric columns, comparison operators, and logical operators, for example: impressions%20%3E%200%20AND%20revenue%20%3E%200 (“impressions > 0 AND revenue > 0”).
Note: This slows down the response and increases the likelihood of timeouts.
not_zeroSet this to 1 to filter results in which all numerical metrics have a value of 0

Allowed Publisher Columns

Column NameContains
dayDate of reporting data
hourHour of reporting data (only available for the past 30 days)
impressionsNumber of impressions
clicksNumber of clicks
ctrNumber of clicks ÷ number of impressions
revenueMoney earned
ecpmMoney earned per 1000 impressions
countryTwo letter country code
ad_typeGRAPHIC, PLAY, VIDEO, REWARD, APPOPEN, or MRAID
sizeAd size (INTER, BANNER, MREC, LEADER, or NATIVE)
device_typephone, tablet, or other
platformandroid, ios, fireos, or tvos
applicationApp name
package_nameApp’s package name or bundle ID
store_idThe numeric portion of the iTunes ID on iOS, or the package_name on Android.
If the iTunes ID is not known to AppLovin, the Bundle ID is returned instead
placementPlacement name
application_is_hiddenIs the app hidden in the dashboard
zoneZone name, if available to your account
zone_idZone ID, if available to your account
Please contact your account manager if you are interested in using Zones.
bidding_integrationThe integration that AppLovin is bidding through to serve ads (e.g. MAX or Google bidding and Google AdMob Open Bidding)
If you have a traditional integration, this column will contain None.

Allowed Advertiser Columns

Column NameContains
adAd name
ad_idAd ID. This does not change if the ad name changes
ad_typeGRAPHIC, VIDEO, REWARD, APPOPEN, or PLAY
app_id_externalHashed application ID (commonly referred to as “site ID”)
applicationSource application name
average_cpaAverage cost per conversion
average_cpcAverage cost per click
campaignCampaign name
campaign_ad_typeua for user acquisition, or rt for retargeting
campaign_bid_goalThe campaign bid goal, expressed as a dollar value ($), for CPP and CPE campaigns. You must also request the campaign column when you request this one.
campaign_id_externalUnique reference to a campaign
This doesn’t change when the campaign is renamed. It is the same value as the {CAMPAIGN_ID} click macro.
campaign_package_namePackage name or Bundle ID of the app being promoted
campaign_roas_goalThe ROAS goal, expressed as a percentage value (%), for IAP ROAS, Ad ROAS, and ROAS campaigns. You must also request the campaign column when you request this one.
campaign_store_idThe numeric portion of the iTunes ID of the promoted app on iOS and the camaign_package_name otherwise
campaign_typeThe campaign optimization type (CPP, CPE, IAP ROAS, ad ROAS, or ROAS)
clicksNumber of clicks
conversionsNumber of conversions (installs)
conversion_rateNumber of conversions ÷ number of clicks
costAdvertiser spend
countryTwo letter country code
creative_setCreative set name
creative_set_idCreative set ID. This does not change if the creative set name changes
ctrNumber of clicks ÷ number of impressions
custom_page_idThe iOS Custom Product Page or Android Store Listing associated with the creative set
dayDate of reporting data
device_typephone, tablet, or other
external_placement_idEncrypted application ID (used with API Source bidding)
first_purchaseCount of users that made their first purchase (requires setting up revenue postbacks)
hourHour of reporting data (only available for the past 30 days)
impressionsNumber of impressions
installs*SKAdNetwork-derived installs with redownload=false prior to for /skaReport only. For other reports, use conversions.
optimization_day_targetWhich optimization day you have chosen to target for the campaign (e.g. day 0 or day 7)
platformandroid, ios, fireos, or tvos
redownloads*SKAdNetwork-derived installs with redownload=true. /skaReport only, for other reports, use conversions
salesCount of attributed sales events (requires setting up revenue postbacks)
sizeAd size (INTER, BANNER, MREC, LEADER, PRELOAD, or NATIVE)
target_eventThe custom event the campaign is targeting (applies to CPE campaigns only)
traffic_sourceAppLovin, or the name of the exchange

*Starting August 2, 2024, SKAdNetwork-derived installs and redownloads will transition away from country-level reporting. This only impacts /skaReport.

Filtering Columns

You can filter reports by any column. When you do so, you search 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, if you want to see data only for the Android platform, set the following URL parameter: filter_platform=Android

See the table above for a list of all columns.

Some columns support negative filters via filter_not_columnname=onefilter,anotherfilter. Additionally, the custom_page_id dimension supports filter_null_custom_page_id, filter_blank_custom_page_id, filter_not_null_custom_page_id, and filter_not_blank_custom_page_id options. These options do not require a value, i.e. …&filter_not_null_custom_page_id=&filter_not_blank_custom_page_id=&…

Sorting Columns

You sort reports in a similar way to how you filter reports.

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

You can request reports in two formats: JSON or 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_REPORT_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_REPORT_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