SKAdNetwork Reporting API v4
Updated to v4: November 2021
Updated to v4: November 2021
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)