Skip to main content

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.

  1. Obtain your API V2 token from the AppsFlyer dashboard.
  2. 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:

  1. First, publish your AppsFlyer capture in Estuary.
  2. After publishing, go to the Capture Details page and scroll down to the Endpoints section. Copy the endpoint URL provided by Estuary.
  3. 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

PropertyTitleDescriptionTypeRequired/Default
/app_idsApp IDsComma-delimited list of AppsFlyer App IDs to capture data for.stringRequired
/start_dateStart DateStart date for historical data replication in UTC format.stringRequired
/credentialsCredentialsCredentials for authenticating with the AppsFlyer API.objectRequired
/credentials/access_tokenAccess TokenAppsFlyer API V2 token.stringRequired
/advanced/window_sizeWindow SizeWindow size for incremental syncs in ISO 8601 duration format (e.g., P7D). Range: 1-90 days.stringP7D

Bindings

PropertyTitleDescriptionTypeRequired/Default
/streamStreamResource of your AppsFlyer account from which collections are captured.stringRequired
/syncModeSync ModeConnection method.stringRequired

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}