SKAdNetwork Reporting API v4

Updated to v4: November 2021

Authentication 

Bearer API authentication

Description: This API lets you retrieve SKAdNetwork campaign data, including impressions, installs, spend. You can also use it to break down data by campaign, country, ad unit, date and more.

Note: that Conversion Values are returned via designated endpoint.

The data can be retrieved in JSON or CSV formats. 

SKAN Reporting

Method: GET

Endpoint: https://api.ironsrc.com/advertisers/v4/reports/skan?

Parameters

Name Mandatory Data type Description Possible values
startDate Yes Date (UTC); String in the format: YYYY-MM-DD
endDate Yes Date(UTC); String in the format: YYYY-MM-DD
metrics Yes Comma-separated list of strings A list of metrics to be included in the response. impressions | storeOpens | installs | spend
breakdowns No Comma-separated list of strings A list of breakdowns by which the response data is returned. The default is none. day | campaign | title | application | adUnit | country
format No String The format of the response. The default is JSON. json | csv
campaignId No Comma-separated list of integers List of campaign IDs to filter. Applicable only for SKAN reporting or SKAN reporting and Optimization campaigns.
bundleId No Comma-separated list of strings List of bundle IDs to filter. e.g “com.bundle.name.com”
country No Comma-separated list of strings by ISO 3166-2 List of countries to filter.
adUnit No String Present data for chosen ad units only. rewardedVideo | interstitial
count No Integer The maximum number of records to return in the response. The default is 10000.
order No String Order the results by breakdown/metric. day | campaign | title | application | country | impressions | installs | spend
direction No String Order by direction. Default is asc. asc | desc

Request example

https://api.ironsrc.com/advertisers/v4/reports/skan?campaignId=1234567,7654321&country=US,CA&breakdowns=country,day&metrics=impressions,
installs,spend&count=100&startDate=2021-04-14&endDate=2021-04-23&direction=desc

Response

If the data in the request exceeds the count parameter, the response will contain a “next” link that will retrieve the next batch of records.

In a JSON response, the “next” link is included in the “paging” property of the response body object. In a CSV response, the “next” link is included in the “Link” header of the response.

If a response is empty and no data exists for the requested filters, the JSON format will result in an empty “data” array and the CSV format will lead to a 204 response (no content).

{
    data: [
     {
            "date": "2021-04-15T00:00:00.000Z",
            "campaignId": 7654321,
            "campaignName": "campaignA",
            "titleBundleId": "com.abc.abc.il",
            "country": "US",
            "impressions": 1308816,
            "storeOpens": 98675
            "installs" : 9765, 
            "spend": 5503.4,
        },
        {
            "date": "2021-04-16T00:00:00.000Z",
            "campaignId": 1234567,
            "campaignName": "campaign_b",
            "titleBundleId": "com.abc.abc.il", 
            "country": "US",
            "impressions": 42960008,
            "storeOpens": 985675 
            "installs" : 87643,
            "spend": 4839.2,
        }, 
        {             
            "date": "2021-04-16T00:00:00.000Z",             
            "campaignId": 1234567,             
            "campaignName": "campaign_b",
            "titleBundleId": "com.abc.abc.il", 
            "country": "CA", 
            "impressions": 2954600,
            "storeOpens": 98675             
            "installs" : 23456,             
            "spend": 3234.98,    
        }
    ],
    paging: {
        "next": "https://api.ironsrc.com/advertisers/v4/reports?campaignId=1234567,7654321&country=US,CA&breakdowns=country,day&metrics=impressions,storeOpens,installs,spend&count=100&startDate=2021-05-01&endDate=2021-06-7&direction=desc&cursor=anVzdF9zb21lX2N1cnNvcl92YWx1ZQ%3D%3D"
    }
}

SKAN CV Reporting

Method: GET

Endpoint: https://api.ironsrc.com/advertisers/v4/reports/skan/cv?

Name Mandatory Data type Description Possible values
startDate Yes Date (UTC); String in the format: YYYY-MM-DD
endDate Yes Date(UTC); String in the format: YYYY-MM-DD
breakdowns No Comma-separated list of strings A list of breakdowns by which the response data is returned. The default is none. day | campaign | title | application
format No String The format of the response. The default is JSON. json | csv
campaignId No Comma-separated list of integers List of campaign IDs to filter. Applicable only for SKAN reporting or SKAN reporting and Optimization campaigns.
bundleId No Comma-separated list of strings List of bundle IDs to filter. e.g “com.bundle.name.com”
count No Integer The maximum number of records to return in the response. The default is 10000.
order No String Order the results by breakdown. day | campaign | title | application
direction No String Order by direction. Default is asc. asc | desc

Request example

https://api.ironsrc.com/advertisers/v4/reports/skan/cv?breakdowns=day,campaign,title&startDate=2021-11-10&endDate=2021-11-10&bundleId=com.abcd.game&campaignId=1234567

Response

If the data in the request exceeds the count parameter, the response will contain a “next” link that will retrieve the next batch of records.

In a JSON response, the “next” link is included in the “paging” property of the response body object. In a CSV response, the “next” link is included in the “Link” header of the response.

If a response is empty and no data exists for the requested filters, the JSON format will result in an empty “data” array and the CSV format will lead to a 204 response (no content).

{
    "data": [
        {
            "date": "2021-11-10T00:00:00.000Z",
            "campaignId": 1234567,
            "campaignName": "abcd_campaign_example",
            "titleName": "Sample Title",
            "titleBundleId": "com.abcd.game",
            "conversionValues": {
                "0": 68,
                "1": 0,
                "2": 0,
                "3": 0,
                "4": 0,
                "5": 1,
                ....
                "60": 0,
                "61": 0,
                "62": 0,
                "63": 0
            }
        }
    ]
    paging: {         "next": "https://api.ironsrc.com/advertisers/v4/reports/skan/cv?breakdowns=day,campaign,title&startDate=2021-11-10&endDate=2021-11-10&bundleId=com.abcd.game&campaignId=1234567&direction=desc&cursor=anVzdF9zb21lX2N1cnNvcl92YWx1ZQ%3D%3D"     }
}

Note: The request rate for this endpoint is limited to 100 requests per minute. If you exceed the limit, requests will be returned with error status 429 (too many requests). Using multiple breakdowns and multiple comma-separated filter values can also reduce the number of requests.

Changes from V3

Conversion Values– Returned via different endpoint and no longer part of the available metrics

Old documentation – SKAdNetwork Reporting API V3 (Archived)