SKAdNetwork performance reporting API

At a glance: iOS campaign performance SKAdNetwork metrics enriched with additional data points. Similar to the data in the SKAdNetwork dashboard. Limited to real data, meaning you can't get SKAd simulated data.

SKAdNetwork performance reporting API

API basics

Overview The API returns attribution metrics reported by Apple SKAdNetwork (real data) and other data points
Data freshness
  • The report updates Daily.
  • Data availability is according to the SKAdNetwork data freshness rate.

Path parameters (mandatory)

<app_id>: Is the app identifier as found in the AppsFlyer dashboard. Insert it exactly as it appears in the dashboard. Example: id123456789

Query parameters

Listed in the table that follows.
HTTP method GET
Response content type text/plain

Authorization HTTP header containing API V2.0 token (Bearer token) is required.

AppsFlyerAdmin_us-en.pngThe admin gets the V2 token in the dashboard, go to your email address > API tokens. 

Date limitations
  • Earliest date supported November 1, 2020
  • Maximum query range: 90 days
Rate limitation
  • Queries return up to 200K rows
  • 60 calls per minute
API facts
Query parameters
Parameter name Format Mandatory


  • Earliest date permitted: 2020-11-01
    Example: 2020-11-05
  • Maximum number of days per report call: 90 days 
  • Example: 2020-11-12

Filter the installs by type as follows: 

  • acquisition: Installs 
  • retargeting: Redownloads
  • unified: Acquisition and redownloads combined.
  • [Default] unified
  • Ad spend metrics return when view_type=unified


Request example (cURL)

curl --request \
GET '<app_id>?start_date=2020-09-10&end_date=2020-09-20' \
--header 'Authorization: Bearer <V2_AUTH_TOKEN_HERE (700+ characters string)>'

Report structure and example

The API returns a CSV file with the following naming scheme:


Available fields

SKAdNetwork aggregate report structure
Column name Dimension or metric
Media Source (pid) Group by
Campaign (c)

Group by

Campaign ID Group by
Site ID Group by
Country Group by
Impressions Metric
Clicks Metric
CTR Metric
Installs Metric
Conversion Rate Metric
Converted Users Metric
Converted Users/Installs Metric
Total Revenue Revenue metric
Total Cost Metric
ROI Revenue metric
ARPU Revenue metric
Average eCPI Metric
{af_skad_revenue} unique users Revenue metric
{af_skad_revenue} event counter Revenue metric
{conversion in-app event [n]} Unique Users (n=1..6) Conversion metric
{conversion in-app event [n]} Event Counter (n=1..6) Conversion metric
{engagement in-app event} Unique Users Engagement metric

{engagment in-app event}

Event counter

Engagement metric


Traits and limitations

Trait Remarks 
Ad network access  Not available
Agency access Not available
App-specific time zone UTC only
App-specific currency  Always USD
Organic data Calculated as the difference between all data reported by SDK directly to AppsFlyer less non-organic data reported by SKAdNetwork postbacks
Non-organic data Calculated using SKAdNetwork postbacks received by AppsFlyer
Historical data Earliest conversion data (install or retarget) supported: November 1, 2020
Team member access The authorization token is available to the account admin in the dashboard.

HTTP response codes and troubleshooting

Response codes and troubleshooting guide
HTTP Response


200 OK

Valid data returned (CSV)

200 OK

Empty report - no data found for the specified date range (CSV, only column names are returned).

  • In the SKAdNetwork dashboard, verify that data is available for the specified date range.
  • Verify that start_date is a date earlier than yesterday.
400 Bad request

Missing or invalid query parameters

401 Unauthorized

Authorization token is missing or invalid

Make sure you use the token correctly

404 Not found
429 Too many requests

Exceeded rate limitation


Was this article helpful?