App Store Connect
Version 0.0.3
Checkout the docs here for more information
Prerequisites
To generate keys, you must have an Admin account in App Store Connect. You may generate multiple API keys with any roles you choose.
Set up
To get set up with the App Store Connect Source you will need the following:
- App Store KID
- Issuer
- Private Key
App Store KID
Your private key ID from App Store Connect; for example 2X9R4HXF34.
Issuer
Your issuer ID from the API Keys page in App Store Connect; for example, 57246542-96fe-1a63-e053-0824d011072a.
Private Key
You can see instructions to download your private key here.
Features
| Feature | Support | Notes |
|---|---|---|
| Backfill | ✅ | Backfill will start from the selected report date |
| Incremental | ✅ | Sales and Trends Reports - SALES(new version); Sales and Trends Reports - SUBSCRIBER; Sales and Trends Reports - SUBSCRIPTION ;Sales and Trends Reports - SUBSCRIPTION EVENT |
| Custom backfill | ✅ | Sales and Trends Reports - SALES(new version); Sales and Trends Reports - SUBSCRIBER; Sales and Trends Reports - SUBSCRIPTION ;Sales and Trends Reports - SUBSCRIPTION EVENT |
| API reliability | 🟢 | Reliable |
Reports detail
| ⬇️ Report | 🔑 Incremental key | 🔑Primary key | 📄 Link to API endpoint |
|---|---|---|---|
| Sales and Trends Reports - SALES | END_DATE | N/A | Sales and trends report |
| Sales and Trends Reports - SALES (new version) | END_DATE | N/A | Sales and trends report |
| Reviews | N/A | ID | Reviews report |
| Sales and Trends Reports - SUBSCRIBER | REPORT_DATE | N/A | Sales and trends report |
| Sales and Trends Reports - SUBSCRIPTION | REPORT_DATE | N/A | Sales and trends report |
| Sales and Trends Reports - SUBSCRIPTION EVENT | REPORT_DATE | N/A | Sales and trends report |
| Generate Analytics Report * | N/A | N/A | Request Reports |
| App Store Installation and Deletion Detailed (One time snapshot) | N/A | N/A | Download Analytics Report |
| App Store Installation and Deletion Detailed (Ongoing) | _REPORT_PROCESSING_DATE | N/A | Download Analytics Report |
Limitations
Sales and Trends Reports - SALES (new version)The report will allow you to backfill in custom periods to a maximum of 1 year back (with DAILY frequency). It then can incrementally get new data from the last
END_DATEin the table to 2 days before the run day (on the day of the run last date will be 2 days before today). You will need to de-duplicate, which you can do using theKLEENE_EXTRACT_DATE
Sales and Trends Reports - SUBSCRIBER / SUBSCRIPTION / SUBSCRIPTION EVENT reportsThe reports will allow you to backfill in custom period to a maximum of 1 year back. It then can incrementally get new data from the last
REPORT_DATEin the table to 2 days before the run day (on the day of the run last date will be 2 days before today). You will need to de-duplicate which you can do using theKLEENE_EXTRACT_DATE
Sales and Trends Reports - SALESThe older report allows you to pull yearly, monthly and daily data for the sales report (with frequencies longer than DAILY, allowing you to go further back than 1 year).
Daily reports are available for 365 days, weekly reports for 52 weeks, monthly reports for 12 months, and yearly reports indefinitely.
Depending of the date you select on the Report Date setting on the Extract, the report will pull date for that year/month/week/day. Further runs on append will extract the following period of the same frequency.
App Store Installation and Deletion Detailed reports & Generate Analytics ReportGenerating Analytics Reports usage:
To extract data for the two
App Store Installation and Deletion Detailedreports, you must first create an Analytics Report Request with App Store Connect.This is done via the
Generate Analytics Reportand must be performed once per AppStore app per access type:ONE_TIME_SNAPSHOT — provides a fixed historical snapshot
ONGOING — provides a rolling, continuously updated dataset
Each (app, accessType) combination can only be created once. If a report request already exists for a given access type, additional attempts to create it will return an error.
Once you have the report generated you can start using the
App Store Installation and Deletion Detailed (One time snapshot)andApp Store Installation and Deletion Detailed (Ongoing)reports, which extract the actual data, once the API is ready generating it.
App Store Installation and Deletion Detailed reports incremental logic and duplicatesIncremental extraction is supported only for the
App Store Installation and Deletion Detailed (Ongoing)report and is based on the_REPORT_PROCESSING_DATEcolumn.
_REPORT_PROCESSING_DATErepresents the date on which Apple processed and published a batch of analytics data. During incremental runs, only data with a newer_REPORT_PROCESSING_DATEthan the last processed value is fetched.The App Store Connect Analytics API may resend previously delivered rows or publish corrections for past event dates in later processing batches. As a result,** duplicate logical rows are expected and must be handled in a transform layer.**
The data does not include a single primary key. To deduplicate, use a composite key consisting of the event date column and all dimension columns present in the report, and keep the row with the most recent
_REPORT_PROCESSING_DATE.The
App Store Installation and Deletion Detailed (One-time snapshot)report does not include _REPORT_PROCESSING_DATE and does not support incremental extraction. It returns a fixed historical dataset as generated by the App Store Connect API at the time the snapshot request was created.Snapshot data can be combined with Ongoing report data in a transform layer to support historical backfill followed by incremental updates.
Updated 11 days ago
