For Agents
Pull AppsFlyer mobile attribution data — installs, in-app events, uninstalls, and aggregate marketing reports — and ingest server-to-server events.
Get started with AppsFlyer API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"export AppsFlyer install raw data"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with AppsFlyer API API.
List the apps registered in an AppsFlyer account via /apps/v1.0/list
Export raw install records via /raw-data/export/app/{app_id}/installs/v5
Export raw in-app event records via /raw-data/export/app/{app_id}/in-app-events/v5
Export raw uninstall records via /raw-data/export/app/{app_id}/uninstalls/v5
GET STARTED
Use for: Export the last 24 hours of install records for an AppsFlyer app, Pull in-app event raw data into a data warehouse, Get aggregated installs by partner and date for an iOS app, Send a server-to-server purchase event to AppsFlyer
Not supported: Does not handle ad creative management, mobile-SDK install tracking on-device, or audience activation in ad networks — use for AppsFlyer attribution data export and S2S event ingestion only.
The AppsFlyer API exposes the company's mobile attribution and marketing analytics platform, covering install, in-app event, uninstall, and aggregate reports along with server-to-server event ingestion and basic user management. Endpoints are split between Bearer-token-authenticated paths (raw data exports, aggregate reports) and API-key-authenticated paths (server-to-server events and user management). Useful for mobile growth teams that want attribution data inside their own warehouse, ETL pipelines, or marketing-mix model rather than the AppsFlyer UI.
Pull partner-by-date and geo-by-date aggregate marketing reports via /aggregate/v2.0/partners_by_date and /aggregate/v2.0/geo_by_date
Send server-to-server in-app events via POST /inappevent/{app_id}
Manage AppsFlyer account users via /v1.0/users
Patterns agents use AppsFlyer API API for, with concrete tasks.
★ Attribution data into the warehouse
Schedule an ETL job that calls the raw-data export endpoints (installs, in-app events, uninstalls) on a regular cadence, drops the resulting CSVs into S3, and loads them into Snowflake or BigQuery. From there, marketing analysts join attribution against revenue, cohort, and CRM data without paying per query in the AppsFlyer UI. This is the standard pattern for any growth team that has its own warehouse.
Call /raw-data/export/app/{app_id}/installs/v5 with from and to date params for the last 24 hours and write the response CSV to s3://attribution-raw/installs/.
Server-to-server event ingestion
Send post-install events from the backend to AppsFlyer through POST /inappevent/{app_id} so attribution and remarketing signals stay accurate even when conversion happens server-side (subscription renewal, customer service refund, B2B activation). This avoids relying on the mobile SDK alone and ensures revenue events are credited to the originating campaign.
POST /inappevent/{app_id} with eventName=af_purchase, eventValue, customerUserId, and the original installation's appsflyer_id.
Aggregate reporting in dashboards
Pull AppsFlyer aggregate reports (partner_by_date, geo_by_date) and render them in a BI dashboard without buying additional AppsFlyer reporting seats. The aggregate endpoints return the same numbers as the AppsFlyer UI tables and are well suited to a Looker or Metabase dashboard refreshed on a daily cadence. Reduces seat cost and gives analysts the data alongside other sources.
Call /aggregate/v2.0/partners_by_date/app/{app_id} with from=last_30d, to=today and store the rows in a Snowflake table for the dashboard.
Agent integration via Jentic
Give a growth-marketing agent a small set of attribution-data tools through Jentic. The agent can answer 'how many installs did Facebook drive last week?' by loading /aggregate/v2.0/partners_by_date and 'send a renewal event to AppsFlyer' by loading /inappevent/{app_id}, with both Bearer and API-key credentials kept in the Jentic vault.
Search Jentic for 'AppsFlyer installs by partner', load /aggregate/v2.0/partners_by_date/app/{app_id}, and execute it with the requested app and date range.
10 endpoints — the appsflyer api exposes the company's mobile attribution and marketing analytics platform, covering install, in-app event, uninstall, and aggregate reports along with server-to-server event ingestion and basic user management.
METHOD
PATH
DESCRIPTION
/apps/v1.0/list
List apps registered in the AppsFlyer account
/raw-data/export/app/{app_id}/installs/v5
Export raw install records for an app
/raw-data/export/app/{app_id}/in-app-events/v5
Export raw in-app event records
/raw-data/export/app/{app_id}/uninstalls/v5
Export raw uninstall records
/inappevent/{app_id}
Ingest a server-to-server in-app event
/aggregate/v2.0/partners_by_date/app/{app_id}
Partner-by-date aggregate report
/aggregate/v2.0/geo_by_date/app/{app_id}
Geo-by-date aggregate report
/v1.0/users
Manage AppsFlyer users
/apps/v1.0/list
List apps registered in the AppsFlyer account
/raw-data/export/app/{app_id}/installs/v5
Export raw install records for an app
/raw-data/export/app/{app_id}/in-app-events/v5
Export raw in-app event records
/raw-data/export/app/{app_id}/uninstalls/v5
Export raw uninstall records
/inappevent/{app_id}
Ingest a server-to-server in-app event
Three things that make agents converge on Jentic-routed access.
Credential isolation
AppsFlyer Bearer tokens and API keys are stored encrypted in the Jentic vault. Agents call raw data, aggregate, and S2S endpoints with scoped execution rights — neither credential is ever exposed in the agent's prompt context.
Intent-based discovery
Agents search by intent (e.g. 'export installs raw data') and Jentic returns the matching AppsFlyer operation along with the right authentication scheme, so the agent does not have to track which endpoints use Bearer tokens versus API keys.
Time to first call
Direct AppsFlyer integration: 3-5 days for dual auth handling, raw export pagination, and ETL plumbing. Through Jentic: under 1 hour — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Adjust API
Comparable mobile attribution platform with raw data and aggregate reporting
Choose Adjust if the team already operates on Adjust SDK; choose AppsFlyer when the existing SDK and partner integrations are AppsFlyer-based.
Kochava API
Cross-channel measurement and attribution platform alternative
Choose Kochava for broader CTV and OTT attribution; choose AppsFlyer for the strongest mobile partner-network coverage.
Amplitude API
Product analytics platform that pairs with AppsFlyer attribution for funnel analysis
Use AppsFlyer for paid-channel attribution and Amplitude for in-product behaviour; the two together give a full funnel from ad impression to retention.
Specific to using AppsFlyer API API through Jentic.
What authentication does the AppsFlyer API use?
Authentication is split between two schemes. Raw data and aggregate report endpoints use a Bearer token issued from the AppsFlyer dashboard, while server-to-server event ingestion (/inappevent/{app_id}) and user management use an API key in the Authorization header. Through Jentic both credentials sit in the Jentic vault and the right one is injected per operation.
Can I export raw install and in-app event data with the AppsFlyer API?
Yes. /raw-data/export/app/{app_id}/installs/v5 returns a CSV of install records, /raw-data/export/app/{app_id}/in-app-events/v5 returns events, and /raw-data/export/app/{app_id}/uninstalls/v5 returns uninstalls. All accept from and to date parameters and respect the data-rate plan attached to the AppsFlyer account.
How do I send a server-to-server event to AppsFlyer?
POST /inappevent/{app_id} with the appsflyer_id (or customerUserId), eventName (e.g. af_purchase), eventValue, and eventCurrency. Use the API-key Authorization header. This is how backend-side conversions (subscription renewal, server-confirmed purchase) are credited to the original install.
What are the rate limits for the AppsFlyer API?
Raw data export endpoints are rate-limited to a small number of requests per minute per app (typically tens), while aggregate and S2S endpoints allow higher throughput. Bulk warehouse syncs should chunk by date and back off on 429 responses; do not try to export months of data in a single call.
How do I pull AppsFlyer attribution data through Jentic?
Search Jentic for 'AppsFlyer installs raw export', load /raw-data/export/app/{app_id}/installs/v5, and execute it with from=YYYY-MM-DD, to=YYYY-MM-DD, and additional_fields if needed. The response is a CSV that the agent can stream into the warehouse without holding the full file in memory.
Can I list every app in my AppsFlyer account?
Yes. GET /apps/v1.0/list returns the apps visible to the calling token along with their app_id, platform, and ownership metadata. Use this to power a dashboard selector or to iterate raw-data exports across every app in the account.
/aggregate/v2.0/partners_by_date/app/{app_id}
Partner-by-date aggregate report
/aggregate/v2.0/geo_by_date/app/{app_id}
Geo-by-date aggregate report
/v1.0/users
Manage AppsFlyer users