Export Customers
GET/api/v2/customers/export
Download all customers matching the current filters as a spreadsheet file (CSV by default, XLSX when format=xlsx). The file contains the columns: Sr No., id, name, company, email, sales_channel_origin_name, integration_instance_name, created_at, updated_at. Rows are ordered by customer ID ascending and the export is not paginated - every matching customer is included.
customers:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Privacy: customers originating from Amazon are redacted - the row keeps its serial number but every other column is blank.
Timestamps in the file are converted to the account's local timezone (matching on-screen values).
Filtering uses operator-style parameters: filter[column.operator]=value. A bare filter[column]=value acts as the 'is' operator.
Text columns (name, email, company, phone, city, province, country) support: contains, does_not_contain, is, is_not, is_one_of, is_not_one_of, starts_with, does_not_start_with, ends_with, does_not_end_with, is_empty, is_not_empty. The city, province, and country filters match the customer's default shipping address.
Date columns (created_at, updated_at, archived_at) support: is, is_not, before, after, on_or_before, on_or_after, between (two comma-separated dates), is_empty, is_not_empty, today, yesterday, tomorrow, past_week, past_month, past_year, next_week, next_month, next_year, days_ago, days_from_now, past_days, next_days. Dates use YYYY-MM-DD format and are interpreted in the account's local timezone.
Archived customers are excluded unless filter[archived] is provided ('only' = archived customers only, 'all' = archived and active).
The response is a file download (Content-Type: text/csv or the XLSX MIME type), not JSON.
Authentication: Requires Bearer token with the customers read/write scope.
Optional. When include_contacts=1, the export flattens to one row per contact with the parent columns repeated (parent-only row when a record has no contacts), appending Contact ID/Name/Email/Phone/Role/Title/Primary/Notes columns.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.