Amplitude integration

Product analytics: HTTP API v2, batch ingest, identify, group identify, cohorts, dashboards REST

Help CentreConnectors

Overview

Amplitude is a product analytics platform – events, user identifies, cohorts, segmentation, and exports. The Automize connector talks to the HTTP V2, Identify, Group Identify, Batch, Export, Behavioral Cohorts, and User Search APIs.

  • Regions: Amplitude has separate US (api.amplitude.com) and EU (api.eu.amplitude.com) regions. Pick the region that matches the project you're sending data into – events posted to the wrong region are silently dropped from the destination project.
  • Plans: Event ingest (HTTP V2 + Batch + Identify + Group Identify) is on every plan. Behavioral Cohorts, Cohort Download, and User Search require Growth or higher. Raw event export is Growth+ with the API add-on enabled.

Setting up the connection

Auth type: HTTP Basic.

  1. In Amplitude, open Settings → Projects → <your project> and copy the API Key and Secret Key.
  2. The connector sends them as HTTP Basic credentials (api_key:secret_key). API Key alone covers HTTP V2 / Identify / Group Identify / Batch; the Secret Key is required for Export, Cohort Download, Segmentation, and User Search.
  3. Paste the API Key as the username and the Secret Key as the password. Leave the secret blank if you only need ingest endpoints.
  4. If your project lives in the EU residency, the connector will route to api.eu.amplitude.com automatically based on the API key prefix.

Find your credentials at https://help.amplitude.com/hc/en-us/articles/360058073772-Create-and-manage-organizations-and-projects#api-credentials.


Rate limits

HTTP V2 / Batch – 1000 events/request, no fixed per-second cap but smoothed throttling around 1000 events/sec per device_id. Export and Segmentation are billed in events scanned and rate-limited per minute. Connector backs off + retries on 429 and 500-class responses.


Data model

Amplitude's analytics graph:

    Organization
      └─ Projects                (region-pinned: US or EU)
           ├─ Events             (event_type + properties + time)
           │    └─ user_id OR device_id (one is required)
           ├─ User profiles      ($set, $setOnce, $add, $append, $unset)
           ├─ Group profiles     (account/team-level analytics – paid)
           ├─ Cohorts            (saved behavioural or property segments)
           └─ Charts             (Funnels, Retention, Pathfinder)

Identity:

    user_id           authenticated user (your stable ID)
    device_id         anonymous user (per-install UUID)
    amplitude_id      Amplitude-internal canonical ID (merged across
                      user_id + device_id once $identify resolves)

Reserved event types ($identify, $groupidentify) carry property
operators in user_properties. Regular events stamp the property
state at event time.

Region matters: Amplitude US (api.amplitude.com) and EU
(api.eu.amplitude.com) hold different projects. The API-key prefix
encodes region; events posted to the wrong region are silently
rejected (no error, no event). Use US/EU per data-residency need.

Available operations

10 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Batch IngestGeneralIngest up to 1000 events with rate-limit-friendlier batch endpoint
Delete UserGeneralSubmit a GDPR/CCPA user deletion request
Event SegmentationGeneralRun an event segmentation query
Export EventsGeneralRaw event export between two timestamps
Get Cohort MembersGeneralDownload cohort members CSV (Dashboard REST)
Group IdentifyGeneralSet group properties (Group Identify API)
Track Events (HTTP API v2)GeneralIngest events via HTTP API v2
IdentifyGeneralSet user properties (Identify API)
List CohortsGeneralList cohorts in the project (Dashboard REST)
User SearchGeneralSearch for a user by amplitude_id, user_id, device_id, or property

Operations

Batch Ingest

Ingest up to 1000 events with rate-limit-friendlier batch endpoint

ParameterRequiredTypeDescription
Api Key api_keyNotext
Events eventsNotext

Tips

  • POST /batch – same payload as HTTP V2 but with deduplication on insert_id. Use this when retrying ingests, otherwise you'll double-count events.

Delete User

Submit a GDPR/CCPA user deletion request

ParameterRequiredTypeDescription
User Ids user_idsNotext
Amplitude Ids amplitude_idsNotext
Requester requesterNotext
Ignore Invalid Id ignore_invalid_idNotext
Delete From Org delete_from_orgNotext

Tips

  • POST /api/2/deletions/users – GDPR-style erasure. Body: user_ids[] or amplitude_ids[]; requester (your email) for the audit trail.
  • Async – Amplitude queues the delete and confirms via email when complete (typically 1-7 days). Status field 'staging' = queued.
  • ignore_invalid_id=true skips IDs that don't exist instead of failing the whole batch.

Event Segmentation

Run an event segmentation query

No input parameters.

Tips

  • POST /api/2/events/segmentation – supports e (event), s (segment definitions), and m (metric).
  • Set i=30 (interval days) for daily granularity. Larger windows count against your monthly query quota.

Export Events

Raw event export between two timestamps

No input parameters.

Tips

  • GET /api/2/export – returns a zip of JSON files for an hour window in UTC. start and end are YYYYMMDDTHH; don't query more than a day at a time or the response can take minutes.

Errors

  • 404 – No events in the requested window – common during initial backfills before any data has flowed.

Get Cohort Members

Download cohort members CSV (Dashboard REST)

ParameterRequiredTypeDescription
Cohort Id cohort_idYestext

Tips

  • GET /api/5/cohorts/request/{cohort_id} – kicks off a cohort download job; returns request_id.
  • Async two-step: poll /api/5/cohorts/request-status/{request_id} until status='succeeded', then download CSV from /api/5/cohorts/download-file/{request_id}. The connector wraps this flow.
  • Cohort downloads count against your Behavioral Cohort export quota (Growth+ feature).

Group Identify

Set group properties (Group Identify API)

ParameterRequiredTypeDescription
Api Key api_keyNotext
Identification identificationNotext

Tips

  • POST /groupidentify – set properties on a Group (account, team, company-level entity). Requires Group Analytics (Growth+).
  • Body: group_type (e.g. 'company') + group_value (the group identifier) + group_properties (operator dict: $set, $add, etc.)

Track Events (HTTP API v2)

Ingest events via HTTP API v2

ParameterRequiredTypeDescription
Api Key api_keyNotext
Events eventsNotext
Options optionsNotext

Tips

  • POST /2/httpapi – the high-throughput ingest endpoint. Sends one or more events in a single request; up to 1000 events / 1 MB total.
  • Each event needs user_id OR device_id plus event_type. Set time as ms-epoch; without it Amplitude stamps server-side and you lose client-time fidelity.

Identify

Set user properties (Identify API)

ParameterRequiredTypeDescription
Api Key api_keyNotext
Identification identificationNotext

Tips

  • Sets user properties without sending an event. Use $set, $setOnce, $add, $append, $unset on user_properties to avoid clobbering existing values.

List Cohorts

List cohorts in the project (Dashboard REST)

No input parameters.

Tips

  • GET /api/3/cohorts – every Behavioral Cohort in the project. Each entry has id, name, definition, size, last_computed, lastMod.
  • Cohorts are computed daily; size = last computed count. Pass /sync to force re-computation (Enterprise only).

Search for a user by amplitude_id, user_id, device_id, or property

No input parameters.

Tips

  • GET /api/2/usersearch – match user_id, device_id, Amplitude ID, or user_properties.email exactly. Wildcards are not supported.

FAQ

Why are events not showing up in my project?
Three causes: wrong region (US/EU), event timestamps too far in the past (>7 days is silently dropped), or a project key/secret mismatch. Set min_id_length=1 if you're using short device IDs (<5 chars).
Do I need both keys?
For ingest-only (HTTP V2, Identify, Batch) – just the API key. For Export, Segmentation, Cohort, and User Search – both. Leaving the secret blank disables those operations cleanly.
How do I dedupe retries?
Set insert_id (a random UUID per event) and use the /batch endpoint. Amplitude keeps a 7-day insert_id window; replays within that window are dropped.
EU vs US – how do I pick?
Region is project-level on Amplitude's side, not connector-level. Use the API key from the project whose region you want; the connector reads the prefix and routes accordingly.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.