The Export API lets you export your project's event data.
This API uses basic authentication, using the API key and secret key for your project. Pass base64-encoded credentials in the request header like {api-key}:{secret-key}
. api-key
replaces username, and secret-key
replaces the password.
Your authorization header should look something like this:
--header 'Authorization: Basic YWhhbWwsdG9uQGFwaWdlZS5jb206bClwYXNzdzByZAo'
For more information, see Find your API Credentials
Region | Endpoint |
---|---|
Standard server | https://amplitude.com/api/2/export |
EU residency server | https://analytics.eu.amplitude.com/api/2/export |
server_upload_time
). The Export API returns events timestamped in UTC. Data is available to export at a minimum within 2 hours of when the servers received it. For example, data sent between 8 and 9 PM begins loading at 9 PM and is available via the Export API at 11 PM. Note that there is no delay in platform reporting. Only exports are delayed.T00
to T23
. For example, GET 'https://amplitude.com/api/2/export?start=20230101T00&end=20220101T23'
GET https://amplitude.com/api/2/export
curl --location --request GET 'https://amplitude.com/api/2/export?start=<starttime>&end=<endtime>' \
-u '{api_key}:{secret_key}'
GET /api/2/export?start=<starttime>&end=<endtime> HTTP/1.1
Host: amplitude.com
Authorization: Basic {api-key}:{secret-key} #credentials must be base64 encoded
Example: Get data for a period
curl --location --request GET 'https://amplitude.com/api/2/export?start=20220101T00&end=20220127T00' \
--header 'Authorization: Basic YWhhbWwsdG9uQGFwaWdlZS5jb206bClwYXNzdzByZAo'
GET /api/2/export?start=20220101T00&end=20220127T00 HTTP/1.1
Host: amplitude.com
Authorization: Basic YWhhbWwsdG9uQGFwaWdlZS5jb206bClwYXNzdzByZAo
Name | Description |
---|---|
start |
Required. First hour included in data series, formatted YYYYMMDDTHH. For example, 0220201T05 . |
end |
Required. Last hour included in data series, formatted YYYYMMDDTHH For example, 20220201T05 . |
The response is a zipped archive of JSON files. Depending on data volume, there can be several files per hour. The API returns a 404 response is there is no data for the time range you requested.
The response includes one event JSON object per line in each file, with the following schema:
{
"server_received_time": UTC ISO-8601 formatted timestamp,
"app": int,
"device_carrier": string,
"city": string,
"user_id": string,
"uuid": UUID,
"event_time": UTC ISO-8601 formatted timestamp,
"platform": string,
"os_version": string,
"amplitude_id": long,
"processed_time": UTC ISO-8601 formatted timestamp,
"version_name": string,
"ip_address": string,
"paying": boolean,
"dma": string,
"group_properties": dict,
"user_properties": dict,
"client_upload_time": UTC ISO-8601 formatted timestamp,
"$insert_id": string,
"event_type": string,
"library": string,
"amplitude_attribution_ids": string,
"device_type": string,
"start_version": string,
"location_lng": float,
"server_upload_time": UTC ISO-8601 formatted timestamp,
"event_id": int,
"location_lat": float,
"os_name": string,
"groups": dict,
"event_properties": dict,
"data": dict,
"device_id": string,
"language": string,
"country": string,
"region": string,
"session_id": long,
"device_family": string,
"sample_rate": null,
"client_event_time": UTC ISO-8601 formatted timestamp,
}
Code | Message |
---|---|
200 | Success |
400 | The file size of the exported data is too large. Shorten the time ranges and try again. The limit size is 4GB. |
404 | No data available for the time range requested. |
504 | The amount of data is large causing a timeout. For large amounts of data, use the Amazon S3 destination. |
May 21st, 2024
Need help? Contact Support
Visit Amplitude.com
Have a look at the Amplitude Blog
Learn more at Amplitude Academy
© 2025 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.