Skip to main content
POST
/
v3
/
collections
/
{collectionId}
/
products
/
exports
Create collection export job (async, NDJSON)
curl --request POST \
  --url https://api.snappy.com/v3/collections/{collectionId}/products/exports \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "catalog": "marketplace",
  "price": {
    "gte": 35,
    "lte": 55
  },
  "locations": [
    "US",
    "CA"
  ],
  "include": [
    "brand",
    "tags"
  ],
  "fields": [
    "priceRange",
    "variantsCount"
  ],
  "format": "ndjson"
}
'
{
  "exportId": "exp_abc123",
  "status": "pending"
}

Authorizations

X-Api-Key
string
header
required

Partner API key. Finalized per partner integration agreement.

Headers

Snappy-Account-Id
string

Optional account identifier for scoping/validation/filtering.

Snappy-Company-Id
string

Optional company identifier for scoping/validation/filtering.

Path Parameters

collectionId
string
required

Collection identifier.

Body

application/json

Request body for the collection-scoped export (POST /v3/collections/{collectionId}/products/exports). The collection is identified by the path parameter; the body carries the catalog, an optional price filter, locations, include, fields, and the output format. The collection's own filters are applied server-side.

catalog
enum<string>
required

Product catalog. As a query value, omit filter[catalog] to search both catalogs.

Available options:
marketplace,
swag
Example:

"marketplace"

format
enum<string>
required

Output file format. Currently ndjson (newline-delimited JSON).

Available options:
ndjson
price
object
locations
string[]

One or more ISO 3166-1 alpha-2 country codes (default ["US"]).

Pattern: ^[A-Z]{2}$
include
enum<string>[]

Related entities to include.

Available options:
brand,
tags
fields
enum<string>[]

Computed/expanded fields.

Available options:
priceRange,
variantsCount,
total

Response

Export job accepted.

exportId
string
required
Example:

"exp_abc123"

status
enum<string>
required
Available options:
pending,
processing,
completed,
failed
format
enum<string>

Included when status is completed.

Available options:
ndjson
downloadUrl
string<uri>

Signed, expiring download URL (S3, or CloudFront when exports are fronted by CloudFront). Included when status is completed.

expiresAt
string<date-time>

Download URL expiry. Included when status is completed.

error
string

Error message. Included when status is failed.

Last modified on June 3, 2026