Pull APIs - Pulling AppsFlyer Reports by APIs


AppsFlyer's CSV data reports are available for manual download through the Export Data page, and also via the Pull API.

Pull API enables app owners to receive CSV files of data about their apps by using specific URLs containing query parameters. Pulled reports can either be in aggregated or raw data forms. 

The Pull API links are all available in the API Access Page in each app's dashboard. 

API Parameters - Required

Is the user's external API Authorization Key: "{Account owner API Key should be used}"
Report start date in the format of "yyyy-mm-dd" or "yyyy-mm-dd hh:mm". For example: 2010-01-01 or 2010-01-01%2000%3A15 - (The hours parameter is for raw reports only).
Report end date. Same format as from

API Filtering Parameters - Optional

Filter by media source

Filtering the reports to list only a specific media source is available by adding both the category and media source parameters to the request URL:

To get Facebook data set category=facebook on the URL. For any other specific media source set category=standard 
Supply the name of a single media source (media_source=[SOURCE_NAME]) as it appears on AppsFlyer's dashboard.


1: Google Adwords Filtered Report


2: Facebook Filtered Report


Filter by Event name

Filter the raw in-app events report data to include only a specific event, by using the event_name parameter. To filter multiple events use a comma separated list of events.

For example: event_name=af_purchase,ftd

For Retargeting Exports

Use reattr=true to get results attributed to retargeting campaigns.

Custom Reports with Pull API


Pull API supports customizing raw data reports with selectable fields (v5 and up). This enables marketers to download only relevant information to suit their requirements. 

To specify the requested fields, append the following fields parameter to the API call. 

Each column you request should be added to the fields parameter by specifying the API Column Name as it appears here. Example: fields=country_code,city



Pull the list of all cities and their respective country codes that brought installs -https://hq.appsflyer.com/export/id341333333/installs_report/v5?api_token=24b7b9fe-6ddd-4ddd-94c8-xxxxxxxxxxx&from=2017-03-09&to=2017-03-10&fields=country_code,city

The full list of fields and their API names can be found here


Currently Filtering is not supported when customizing the report with the Fields option. To perform both build the URL with field customization and then filter the results manually on your spreadsheet.

Additional Fields

Through Pull API you can add some fields, that complete the picture for raw data installs and in-app events in some cases.

To add new fields add "&additional_fields=" to the tracking link, followed by the comma-separated list of additional fields. See the Pull API examples below.

The result is a CSV report with added columns, that contain information when relevant.

Field name Relevant for
Validation Rules


Protect360 (Anti-Fraud solution)
install_app_store Out-of-store Android markets
custom_data Retrieving custom data
gp_referrer Attribution data
gp_click_time Attribution data
gp_install_begin Attribution data

Time Zone and Currency

timezone (optional)
Add timezone= in the Pull API link to receive the report in the selected timezone (rather than GMT, by default). For raw data reports AppsFlyer supports two time zone formats, numerical (eg. +10:00) or Joda-Time (eg. Europe/Madrid). Joda-Time time zone format takes into account daylight saving time.
For example: timezone=%2B10:00 (url-encoded for +10:00). For Performance Reports only, the Joda-Time format is supported. For example:
currency (optional)
Is used to receive the Revenue and Cost data in your selected currency, rather than in USD, which is the default option. This is set by the account admin.
currency=preferred is used to receive Revenue and Cost data in your selected currency.


Generally, the Pull API URLs do not need to be encoded. However, if using parameters that have non-URL compatible values, you will need to URL encode them. For example, using hours and time zone parameters.

API Policy

AppsFlyer's API Policy ensures high quality of service to the users of pull API by limiting the total number of daily requests and preventing abuse of the service.

The maximum number of records per report is 200K. If you get a report that has 200K rows then you have some results that were left out.


If your daily results exceed 200K rows you can split your files according to the date AND the time of day, using the "yyyy-mm-dd hh:mm" date/time format in the from and to parameters on the Pull API URL. 
For example - an app owner has up to 300K new daily installs from all sources. The app owner decides to split the daily Pull API calls to 2 calls every 12 hours. The first URL call includes from=yyyy-mm-dd 00:00&to=yyyy-mm-dd 11:59 and the second from=yyyy-mm-dd 12:00&to=yyyy-mm-dd 23:59 (before encoding)  


By default, the Pull API Performance Report shows Facebook data at campaign level only. Add "&category=facebook" to enable the report to present Facebook information at both the Ad Set and Ad level. This is relevant for Facebook only.

Pull API Link Examples

Report Category Report Type Link Example
Performance Reports Partners Report https://hq.appsflyer.com/export/id123456789/partners_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Partners Daily Report https://hq.appsflyer.com/export/id123456789/partners_by_date_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Daily Report https://hq.appsflyer.com/export/id123456789/daily_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Geo Report https://hq.appsflyer.com/export/id123456789/geo_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Geo Daily Report https://hq.appsflyer.com/export/id123456789/geo_by_date_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
Raw Data Reports Installs Report https://hq.appsflyer.com/export/id123456789/installs_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  In-App Events Report https://hq.appsflyer.com/export/id123456789/in_app_events_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Uninstalls Report
https://hq.appsflyer.com/export/id123456789/uninstall_events_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Organic Installations Report https://hq.appsflyer.com/export/id123456789/organic_installs_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
  Organic In-App Events Report https://hq.appsflyer.com/export/id123456789/organic_in_app_events_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd
Protect360 Reports Installs Report https://hq.appsflyer.com/export/id123456789/blocked_installs_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd&additional_fields=blocked_reason,blocked_reason_value
  In-App Events Report https://hq.appsflyer.com/export/id123456789/blocked_in_app_events_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd&additional_fields=blocked_reason,blocked_reason_value
  Clicks Report https://hq.appsflyer.com/export/id123456789/blocked_clicks_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd&additional_fields=blocked_reason,blocked_reason_value
Validation Rules Reports Invalid Installs Report https://hq.appsflyer.com/export/id123456789/invalid_installs_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd&additional_fields=rejected_reason,rejected_reason_value
  Invalid In-App Events Report https://hq.appsflyer.com/export/id123456789/invalid_in_app_events_report/v5?api_token=<API TOKEN HERE>&from=yyyy-mm-dd&to=yyyy-mm-dd&additional_fields=rejected_reason,rejected_reason_value

API Version (V5)

  • Changes:
    • Version (v5) group Facebook campaigns only by campaign and not by campaign & ad group.

    • Export data page for aggregated reports uses the API version (v5)

  • Unchanged:
    • The existing API (v4) is still available for use

    • The version does not apply any change to the file format or headers


To use V4 Performance Reports, change v5 to v4.

For example, the v5 (in red) should be changed to v4.


Was this article helpful?
1 out of 2 found this helpful