AppsFlyer
This connector captures data from AppsFlyer into Estuary collections.
AppsFlyer is a mobile marketing analytics platform that provides app install attribution, in-app event tracking, and marketing campaign measurement. The connector supports two data collection modes:
- Webhook mode: Real-time event capture from AppsFlyer postback webhooks.
- Pull API mode: Historical and incremental data via AppsFlyer's Aggregate Report APIs.
Supported data resources
The connector captures the following AppsFlyer resources:
Webhook streams via the Push API:
- in-app-event
- install
- install-in-app-event
- organic-install
- organic-install-in-app-event
- organic-reinstall
- postback
- postbacks-copy
- re-attribution
- re-attribution-in-app-event
- re-download
- re-engagement
- re-engagement-in-app-event
- reinstall
Pull API streams:
Prerequisites
To set up the AppsFlyer connector, you need the following:
- An AppsFlyer account with API access.
- An AppsFlyer API V2 token. You can generate this from the AppsFlyer dashboard under Security Center > API Tokens.
- One or more AppsFlyer App IDs for the apps you want to capture data from.
Setup
Follow the steps below to set up the AppsFlyer connector.
- Obtain your API V2 token from the AppsFlyer dashboard.
- Identify the App IDs for the apps you want to capture data from.
Set up webhook streaming
To receive real-time events from AppsFlyer, you need to configure AppsFlyer to send postbacks to the endpoint URL provided by Estuary:
- First, publish your AppsFlyer capture in Estuary.
- After publishing, go to the Capture Details page and scroll down to the Endpoints section. Copy the endpoint URL provided by Estuary.
- In the AppsFlyer dashboard, navigate to Integration > API Access and configure your Push API postback URLs to point to the Estuary endpoint URL.
Once configured, AppsFlyer will stream events to Estuary in real time.
Configuration
You configure connectors either in the Estuary web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the AppsFlyer source connector.
Properties
Endpoint
| Property | Title | Description | Type | Required/Default |
|---|---|---|---|---|
/app_ids | App IDs | Comma-delimited list of AppsFlyer App IDs to capture data for. | string | Required |
/start_date | Start Date | Start date for historical data replication in UTC format. | string | Required |
/credentials | Credentials | Credentials for authenticating with the AppsFlyer API. | object | Required |
/credentials/access_token | Access Token | AppsFlyer API V2 token. | string | Required |
/advanced/window_size | Window Size | Window size for incremental syncs in ISO 8601 duration format (e.g., P7D). Range: 1-90 days. | string | P7D |
Bindings
| Property | Title | Description | Type | Required/Default |
|---|---|---|---|---|
/stream | Stream | Resource of your AppsFlyer account from which collections are captured. | string | Required |
/syncMode | Sync Mode | Connection method. | string | Required |
Sample
captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-appsflyer:v1
config:
app_ids: com.example.app
start_date: 2025-01-01T00:00:00.000Z
credentials:
access_token: <your-api-token>
bindings:
- resource:
stream: daily_geo_aggregate_report
syncMode: incremental
target: ${PREFIX}/${COLLECTION_NAME}