Amplitude

Connect & Ingest data from Amplitude

Amplitude is a product analytics platform that helps teams understand user behavior, track engagement, and measure retention. The Sling Amplitude connector extracts data from the Amplitude REST API, supporting behavioral cohorts, chart annotations, event metadata, time-series metrics like active users and session length, and raw event export.

circle-check

Setup

The following credentials and inputs are accepted:

Secrets:

  • api_key (required) -> Your Amplitude project API Key

  • secret_key (required) -> Your Amplitude project Secret Key

Inputs (optional):

  • anchor_date -> Starting date for first sync of time-series endpoints (default: 1 year ago). Format: YYYY-MM-DD

  • base_url -> Override the base URL (defaults to https://amplitude.com)

Getting Your Credentials

  1. Go to Settings (gear icon) → Organization settingsProjects

  2. Click on your project name

  3. You will see the API Key and Secret Key on the project settings page

  4. Copy both values

circle-exclamation

Using sling conns

Environment Variable

Sling Env File YAML

See here to learn more about the sling env.yaml file.

With anchor date for historical data:

Replication

Here's an example replication configuration to sync Amplitude data to a PostgreSQL database:

Full refresh for all endpoints:

Endpoints

Metadata & Catalog

Endpoint
Description
Incremental

cohorts

Behavioral cohort definitions

No

annotations

Chart annotations

No

events_list

Active event types with current week totals

No

Time-Series Metrics

Endpoint
Description
Incremental

active_users

Active and new user counts by day

Yes

average_session_length

Average session length in seconds by day

Yes

Raw Event Export

Endpoint
Description
Incremental

export

Raw event data (all event properties, user properties, device info)

Yes

circle-info

The export endpoint returns raw event data in zipped JSON-lines format. Each record contains the full event payload including event_type, event_properties, user_properties, device_id, session_id, timestamps, and more. Data has a 2-hour latency from the time events are received by Amplitude. Days with no events return no records (404 responses are handled gracefully).

To discover available endpoints:

Incremental Sync

The active_users, average_session_length, and export endpoints support incremental sync using date-based iteration:

  • First run: Fetches data from the anchor_date (default: 1 year ago) up to yesterday (or 2 days ago for export, due to data latency)

  • Subsequent runs: Only fetches data from the last synced date onward

For active_users and average_session_length, each day produces one record containing the time-series data for that date, with a date column added for tracking. For export, each day can produce many records — one per raw event — with uuid as the primary key and server_upload_time as the update key.

To customize the starting date:

Backfill

To backfill a specific date range, use the range source option:

Rate Limiting

The Amplitude API enforces rate limits that vary by plan:

  • Free/Starter: Limited API access

  • Growth/Enterprise: Higher rate limits

The connector automatically:

  • Uses conservative rate limiting (3–5 requests/second for most endpoints, 1 request/second for export)

  • Processes time-series endpoints with concurrency of 3 (export uses concurrency of 1 due to larger payloads)

  • Retries with exponential backoff on 429 (rate limit) responses

  • Allows up to 5 retry attempts with a base backoff of 5 seconds

If you are facing issues connecting, please reach out to us at [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?