Skip to main content
POST
/
v3
/
products
/
exports
Create export job (async)
curl --request POST \
  --url https://api.snappy.com/public-api/v3/products/exports \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "catalog": "marketplace",
  "format": "ndjson",
  "search": "<string>",
  "type": "physical",
  "brandName": "<string>",
  "brandId": [
    "<string>"
  ],
  "tagId": [
    "<string>"
  ],
  "price": {
    "gte": 1,
    "lte": 1
  },
  "productIds": [
    "<string>"
  ],
  "locations": [
    "US"
  ],
  "include": [
    "brand",
    "tags"
  ],
  "fields": [
    "priceRange",
    "variantsCount"
  ]
}
'
{
  "exportId": "6650a1b2c3d4e5f6a7b8c9d0"
}

Authorizations

X-Api-Key
string
header
required

Company Level Authentication

Include your API key in the X-Api-Key header for every request:

X-Api-Key: YOUR_API_KEY

Headers

snappy-account-id
string

Optional account identifier for swag validation/filtering.

Example:

"acc123456"

snappy-company-id
string

Optional company identifier for swag validation/filtering.

Example:

"cmp123456"

Body

application/json

Request body for an async export job. Price filters use flat body fields rather than query-string filter[price][...] syntax.

catalog
enum<string>
default:marketplace
required

Product catalog to export from (marketplace | swag).

Available options:
marketplace,
swag
Example:

"marketplace"

format
enum<string>
required

Output file format. Async export is NDJSON-only.

Available options:
ndjson
Example:

"ndjson"

Free-text search filter.

type
enum<string>

Filter by product type (e.g. physical, digital, giftCard, donation).

Available options:
physical,
digital,
giftCard,
donation
Example:

"physical"

brandName
string

Filter by brand name.

brandId
string[]

Filter by one or more brand IDs.

tagId
string[]

Filter by one or more tag IDs.

price
object

Inclusive price range using flat price.gte / price.lte fields (not the nested filter[price][gte] / filter[price][lte] query-string form).

productIds
string[]

Limit export to up to 100 specific product IDs.

Maximum array length: 100
locations
string[]

ISO 3166-1 alpha-2 country codes used for price localisation. Defaults to ["US"].

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

Related entities to include.

Minimum array length: 1

Related entities to include.

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

Computed or expanded product fields for list responses.

Minimum array length: 1

Computed or expanded fields for product list responses.

Available options:
priceRange,
variantsCount,
total
Example:
["priceRange", "variantsCount"]

Response

Export job accepted (200 OK). Poll the returned exportId via GET /v3/products/exports/{exportId}.

Export job accepted. The job runs in the background; poll GET /v3/products/exports/{exportId} for status.

exportId
string
required

Export job identifier. Poll GET /v3/products/exports/{exportId} until the job reaches a terminal state.

Example:

"6650a1b2c3d4e5f6a7b8c9d0"

Last modified on June 17, 2026