Skip to main content
POST
/
v3
/
products
/
exports
Create export job (async, NDJSON)
curl --request POST \
  --url https://api.snappy.com/v3/products/exports \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "catalog": "marketplace",
  "search": "nfl wall art",
  "type": "physical",
  "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.

Body

application/json
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

Free-text search across product title / category / brand.

type
enum<string>

Product type. Used both as the value of Product.type and as the filter value for filter[type].

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

"physical"

brandName
string

Substring search on brand name.

brandId
string[]

Brand id(s). OR semantics.

tagId
string[]

Tag id(s). OR semantics.

price
object
productIds
string[]

Restrict results to a specific set of product ids. Max 100.

Maximum array length: 100
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