Skip to main content
GET
/
v3
/
products
/
{productId}
/
variants
Get variants by product id
curl --request GET \
  --url https://api.snappy.com/v3/products/{productId}/variants \
  --header 'X-Api-Key: <api-key>'
{
  "data": [
    {
      "id": "f6g7h8i9j0",
      "title": "$10 Gift Card",
      "selectedOptions": {
        "denomination": "$10"
      },
      "taxable": true,
      "media": [
        {
          "type": "image",
          "src": "https://media.snappy.com/image/asset123?w=1000&h=1000&q=80&f=auto"
        }
      ],
      "productId": "a1b2c3d4e5",
      "price": {
        "amount": 10,
        "currency": "usd"
      },
      "priceBreakdown": {
        "ddp": 0,
        "shippingFee": 2.5,
        "itemPrice": 43.2
      },
      "details": {
        "descriptionHtml": "<p>Digital gift card redeemable online.</p>",
        "includes": "<p>Charger, cable, earphones</p>",
        "features": "<string>",
        "specifications": {
          "material": "cotton",
          "dimensions": "10x20"
        },
        "notices": {
          "prop65Warning": "This product contains chemicals known to the State of California to cause cancer."
        }
      },
      "brand": {
        "id": "621f9d4b1e675adcbc196159",
        "name": "Apple",
        "description": "Cute pet brand"
      },
      "personalization": {
        "isPersonalized": true,
        "personalizationTemplateFields": [
          "firstName",
          "lastName",
          "department"
        ]
      }
    }
  ],
  "links": {
    "first": "/v3/collections/abc/products?page[size]=100",
    "next": "/v3/collections/abc/products?page[cursor]=cursor_abc123&page[size]=100",
    "prev": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.snappy.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-Api-Key
string
header
required

Partner API key. Finalized per partner integration agreement.

Headers

Snappy-Account-Id
string

Optional account identifier for swag validation/filtering.

Path Parameters

productId
string
required

Stable VariationGroup identifier.

Query Parameters

selectedOptions
object

Exact-match variant option filters. Encoded as selectedOptions[<name>]=<value> (e.g. selectedOptions[color]=red). Multiple selected options are ANDed. Unknown option keys return 400.

filter[price][gte]
number

Minimum price filter. Inclusive.

filter[price][lte]
number

Maximum price filter. Inclusive.

location
string
default:US

ISO 3166-1 alpha-2 country code (default US).

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

Comma-separated list of variant-level field expansions.

  • pricing — includes price and priceBreakdown.
  • details — includes the variant details wrapper.
  • brand — includes the variant's brand object.
  • full — every field above.

When omitted, price, priceBreakdown, and details are not returned.

Available options:
pricing,
details,
brand,
full
page[number]
integer
default:1

1-indexed page number for page-number paginated endpoints.

Required range: x >= 1
page[size]
integer
default:100

Number of variants to return per page (max 300, default 100).

Required range: 1 <= x <= 300

Response

Paginated list of variants.

Paginated variant list response (page-number pagination).

data
object[]
required

Top-level JSON:API-style pagination links for paginated list responses. first is always present. next is null on the final page. prev is null on the first page (and on cursor-paginated endpoints where backward navigation is not supported).

Last modified on May 15, 2026