Export Product List
GET/api/v2/products/list/export
Export products as XLSX or CSV.
products:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
Scope options:
- filtered: Uses current filter parameters (same as the products list)
- all: All products (ignores filters)
- current_page: First page of current filter results
- selected: Specific product IDs (requires ids param)
Content modes:
- summary: One row per product (includes the product-level Default Supplier columns when requested)
- suppliers: One row per product-supplier link. Emits the per-link supplier columns (Supplier Name, Supplier SKU, MOQ, Leadtime, Target Stock Days, Is Default, pricing tiers) and omits the duplicate product-level Default Supplier columns, so the file round-trips 1:1 with the supplier-links import template.
Response (dual mode):
- Small exports (≤ 1000 records, or scope=current_page): Returns the file directly as a binary download (XLSX or CSV).
- Large exports (> 1000 records): Returns 200 application/json with
{ data: { tracked_job_log_id, queued: true }, message }. The export is dispatched as a background job; track it via the tracked job log endpoints. Once complete, download viaGET /api/v2/products/list/export/download?file=<filename>(the job'sresults.filevalue).
Requires permission: products.export
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.