All integrations

Amplitude

DATA · DATA & ANALYTICS

Funnels, retention, cohorts, and event segmentation from their own project.

Connecting Amplitude in practice

The analytics side is metered in query "cost" rather than requests: 108,000 cost per hour with only 5 concurrent requests across every REST endpoint, where cost = days × conditions × the query type’s own cost, and a funnel counts events × 2 plus 4 per group-by per event. One dashboard-shaped question over a year of data is a noticeable slice of the hour.

Scopes that draw scrutiny

  • Secret key The other half of Basic auth for the Export and Dashboard REST APIs, so it is what lets an integration pull raw event data out rather than send it in. Amplitude shows a secret key only when you generate it, so it cannot be recovered later — only replaced.
  • API key The ingestion credential used by the HTTP V2 endpoint. It is per project, so the blast radius of a leak is the project rather than the organization.

Rate limits

  • Dashboard REST: up to 5 concurrent requests across all Amplitude REST API endpoints, and up to 108,000 cost per hour.
  • Dashboard REST: up to 1,000 cost within a 5-minute window.
  • User Activity and Search endpoints: up to 10 concurrent requests and 360 queries per hour.
  • Query cost = (number of days) × (number of conditions) × (cost for query type). Event Segmentation costs the number of events plus 4 per group by; Funnel Analysis events × 2 plus 4 per group by per event; Retention 8; User Sessions 4; everything else 1.
  • HTTP V2 ingestion: throttled above 30 events per second per device_id or user_id, with a 429 and a documented 30-second pause before retrying.
  • HTTP V2 ingestion: 50,000 events per second per project across the HTTP API and HTTP V2 combined (150,000 for SDK endpoints).
  • HTTP V2 on Free: at most 100 batches per second and 1,000 events per second. On Growth and Enterprise: request under 1 MB and fewer than 2,000 events per request, else 413.
  • Export API: 365 days maximum per query and a 4 GB size limit, above which the request returns 400.

Who has to approve

Only Managers and Admins can generate, copy and revoke API keys or generate secret keys, so an ordinary project member cannot provision the credential an integration needs — someone with an elevated Amplitude role has to do it, and a secret key is displayed only at the moment it is created.

Worth knowing

  • Amplitude rate limits individual users by Amplitude ID who update their user properties more than 1,800 times per hour: event ingestion continues while the property updates are dropped, so profiles silently diverge from events rather than erroring.
  • The per-device_id and per-user_id throttle means one hot identifier can 429 a shared pipeline, which is why Amplitude’s own advice is to partition work by device_id or user_id.
  • Export data is only available within 2 hours of when the servers received it, so an agent reconciling "today" against the UI will disagree with it — reporting in the product has no such delay.
  • If an hour of data exceeds the 4 GB Export limit there is no paging around it; the documented answer is to switch to Amazon S3 export instead.

Checked against Amplitude HTTP V2 API (2026-09-29), Amplitude Dashboard REST API (2026-09-29), Amplitude Export API (2026-09-29), Amplitude API authentication (2026-09-29)

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

amplitude_delete_api_2_taxonomy_category_by_category_idWRITE

Delete an event category by sending a DELETE request with the category ID.

api
amplitude_delete_api_2_taxonomy_event_by_event_typeWRITE

Delete an event type by sending a DELETE request with the event type name as a path parameter.

api
amplitude_delete_api_2_taxonomy_event_property_by_event_propertyWRITE

Delete an event property by sending a DELETE request with the event property as a path parameter.

api
amplitude_delete_api_2_taxonomy_user_property_by_user_propertyWRITE

Deletes a single user property by name.

api
amplitude_get_api_2_compositionREAD

Get the distribution of users across values of a user property in the specified date range.

api
amplitude_get_api_2_events_listREAD

Get the list of events with the current week totals, uniques, and % DAU (daily active users).

api
amplitude_get_api_2_events_segmentationREAD

Get metrics for an event with segmentation.

api
amplitude_get_api_2_exportREAD

Export your project's event data. The response is a ZIP archive of JSON files, not JSON; it is returned base64-wrapped. 404 means there is no data in the range. Max 365 days per query, 4GB per response.

api
amplitude_get_api_2_funnelsREAD

Get funnel drop-off and conversion rates.

api
amplitude_get_api_2_realtimeREAD

Get active user numbers with 5-minute granularity for the last two days.

api
amplitude_get_api_2_retentionREAD

Get user retention for specific starting and returning actions.

api
amplitude_get_api_2_revenue_ltvREAD

Get the lifetime value of new users.

api
amplitude_get_api_2_sessions_averageREAD

Get the average session length (in seconds) for each day in the specified date range.

api
amplitude_get_api_2_sessions_lengthREAD

Get the number of sessions for each predefined length (bucket) period during a specified date range.

api
amplitude_get_api_2_sessions_peruserREAD

Get the average number of sessions per user on each day in the specified date range.

api
amplitude_get_api_2_taxonomy_categoryREAD

Get all event categories in your project.

api
amplitude_get_api_2_taxonomy_category_by_category_nameREAD

Get the ID of an event category in your project by sending a GET request with the category name.

api
amplitude_get_api_2_taxonomy_eventREAD

Retrieves all event types in a project. This request has no required parameters.

api
amplitude_get_api_2_taxonomy_event_by_event_typeREAD

Get a single event type by name. Send a GET request with the event name.

api
amplitude_get_api_2_taxonomy_event_propertyREAD

Get shared or event-specific event properties.

api
amplitude_get_api_2_taxonomy_group_propertyREAD

Get shared or group-specific group properties.

api
amplitude_get_api_2_taxonomy_group_property_by_group_propertyREAD

Get a single group property by sending a GET request with the group property name as a path parameter.

api
amplitude_get_api_2_taxonomy_user_propertyREAD

Retrieves all user properties in your account. The request has no required parameters.

api
amplitude_get_api_2_taxonomy_user_property_by_user_propertyREAD

Retrieves a single user property by name.

api
amplitude_get_api_2_useractivityREAD

Get a user summary and the user most or least recent events. Rate limited to 10 concurrent requests and 360 queries per hour, separately from the other Dashboard REST endpoints.

api
amplitude_get_api_2_usersREAD

Get the number of active or new users.

api
amplitude_get_api_2_usersearchREAD

Search for a user by Amplitude ID, device ID, user ID, or user ID prefix. Rate limited to 10 concurrent requests and 360 queries per hour, separately from the other Dashboard REST endpoints.

api
amplitude_get_api_3_chart_by_chart_id_csvREAD

Get JSON results from any saved chart by chart ID. The chart is addressed by the id in its web-app URL. Amplitude documents the response only as: responses vary based on the chart type -- and the path ends in /csv while the same sentence calls the result JSON, so the content type is not something this integration asserts; whatever comes back is returned as JSON when Amplitude labels it JSON and as labelled text or base64 otherwise.

api
amplitude_get_api_3_cohortsREAD

Get all discoverable cohorts for an app.

api
amplitude_get_api_3_cohorts_usageREAD

Check your current monthly usage and limit for the Behavioral Cohorts Download API. Reports how much of the 500-per-month Cohort Download allowance this project has used. Usage resets on the first of each month UTC.

api
amplitude_get_api_5_cohorts_request_by_idREAD

Get a discoverable cohort using its cohort_id. This is step one of the cohort download operation. Behavioral Cohorts Download, a Growth and Enterprise plan feature capped at 500 requests per month. This starts an async job and answers 202 with a request_id; poll the request-status tool, then fetch the file tool.

api
amplitude_get_api_5_cohorts_request_by_requestid_fileREAD

After the job finishes running, download the cohort. Downloads the finished async cohort export. Large cohorts answer a 302 redirect to a pre-signed URL valid for one minute; the response is a file, not JSON.

api
amplitude_get_api_5_cohorts_request_status_by_request_idREAD

Poll the request status using the request_id retrieved for the cohort. This is step two of the cohort download operation. Polls the async cohort download started by the cohort request tool. 202 means JOB INPROGRESS; 200 means JOB COMPLETED.

api
amplitude_post_api_2_taxonomy_categoryWRITE

Create an event category in your project.

api
amplitude_post_api_2_taxonomy_eventWRITE

Create an event type by sending a POST request to the taxonomy event endpoint with parameters in the body.

api
amplitude_post_api_2_taxonomy_event_by_event_type_restoreWRITE

Restore an event type by sending a POST request with the event type name as a path parameter.

api
amplitude_post_api_2_taxonomy_event_propertyWRITE

Create an event property by sending a POST request with the required information in the body. The classifications field is only accepted when Data Access Controls is enabled at the account level.

api
amplitude_post_api_2_taxonomy_event_property_by_event_property_restoreWRITE

Restore an event property by sending a POST request with the event property as a path parameter. Answers 201, not 200.

api
amplitude_post_api_2_taxonomy_group_propertyWRITE

Create a group property by sending a POST request with the required information in the body. The classifications field is only accepted when Data Access Controls is enabled at the account level.

api
amplitude_post_api_2_taxonomy_user_propertyWRITE

Create a user property by sending a POST request with the user property name in the body. The classifications field is only accepted when Data Access Controls is enabled at the account level.

api
amplitude_post_api_2_taxonomy_user_property_by_user_property_restoreWRITE

Restore a single user property by name.

api
amplitude_post_api_3_cohorts_membershipWRITE

Add and remove IDs to update existing cohort membership incrementally. A single request is limited to 100,000 identifiers.

api
amplitude_post_api_3_cohorts_uploadWRITE

Generate a new cohort or update an existing cohort by uploading a set of User IDs or Amplitude IDs. A single request is limited to 100,000 identifiers and a cohort to 2 million users.

api
amplitude_put_api_2_taxonomy_category_by_category_idWRITE

Update the name of an event category by sending a PUT request with the category ID and a new name in the body.

api
amplitude_put_api_2_taxonomy_event_by_event_typeWRITE

Update an event type by sending a PUT request with the event type name.

api
amplitude_put_api_2_taxonomy_event_property_by_event_propertyWRITE

Update an event property by sending a PUT request with the event property name as a path parameter. The classifications field is only accepted when Data Access Controls is enabled at the account level.

api
amplitude_put_api_2_taxonomy_group_property_by_group_propertyWRITE

Update a group property by sending a PUT request with the group property name as a path parameter. The classifications field is only accepted when Data Access Controls is enabled at the account level.

api
amplitude_put_api_2_taxonomy_user_property_by_user_propertyWRITE

Update a user property by sending a PUT request with the user property name as a path parameter. The classifications field is only accepted when Data Access Controls is enabled at the account level.

api

Put Amplitude behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.