Skip to main content

Apple App Store

This connector captures data from Apple App Store Connect API into Flow collections.

It’s available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-apple-app-store:dev provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.

Supported data resources

The following data resources are supported:

Prerequisites

To use this connector, you'll need:

  • An Apple Developer account with access to App Store Connect.
  • App Store Connect API access approved by your Account Holder.
  • An App Store Connect API key with Admin permissions (required for Analytics Reports).

Authentication

An App Store Connect API key is required to authenticate the connector. The connector uses JWT (JSON Web Token) authentication with your private API key. To create an API key:

  1. Sign in to App Store Connect
  2. Navigate to Users and Access > Integrations
  3. Create a new API key with Admin permissions (required for Analytics Reports)
  4. Download the private key (.p8 file) - this can only be done once
  5. Note your Key ID and Issuer ID

Please refer to Apple's official documentation for detailed steps on creating API keys.

info

Admin-level permissions are required to access Analytics Reports. Only Account Holders can initially request API access.

Configuration

You configure connectors either in the Flow web app, or by directly editing a specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Apple App Store source connector.

Properties

Endpoint

PropertyTitleDescriptionTypeRequired/Default
/credentialsCredentialsCredentials for the Apple App Store Connect APIobjectRequired
/credentials/credentials_titleAuthentication MethodSet to Private App Credentials.stringRequired
/credentials/key_idKey IDThe Key ID for your App Store Connect API key.stringRequired
/credentials/issuer_idIssuer IDThe Issuer ID from your App Store Connect account.stringRequired
/credentials/private_keyPrivate KeyThe content of your App Store Connect API private key (.p8 file).stringRequired
/app_idsApp IDsList of App IDs to capture data for. Leave empty to capture data for all apps.arrayDefaults to empty array

Bindings

PropertyTitleDescriptionTypeRequired/Default
/nameData resourceName of the data resource.stringRequired
/intervalIntervalInterval between data syncsstringPT1H

Sample

captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-apple-app-store:dev
config:
credentials:
credentials_title: "Private App Credentials"
key_id: ABC123DEF4
issuer_id: 12345678-1234-1234-1234-123456789012
private_key: |
-----BEGIN PRIVATE KEY-----
PLACEHOLDER_PRIVATE_KEY_CONTENT_GOES_HERE
REPLACE_WITH_ACTUAL_P8_FILE_CONTENTS
-----END PRIVATE KEY-----
app_ids: []
bindings:
- resource:
name: app_reviews
interval: PT1H
target: ${PREFIX}/app_reviews