Skip to main content
GET
/
v3
/
collections
Get collections
curl --request GET \
  --url https://api.snappy.com/public-api/v3/collections \
  --header 'X-Api-Key: <api-key>' \
  --header 'snappy-account-id: <snappy-account-id>'
{
  "data": [
    {
      "id": "64a1234567890abcdef12345",
      "name": "Birthday Gifts",
      "tags": [
        "gifts"
      ],
      "media": [
        {
          "type": "image",
          "src": "https://media.snappy.com/image/o1xc17wfbda6cl91hm0r6_picture-1.jpg?w=1000&h=1000&q=80&f=auto"
        }
      ],
      "coverImage": {
        "type": "image",
        "src": "https://media.snappy.com/image/o1xc17wfbda6cl91hm0r6_picture-1.jpg?w=1000&h=1000&q=80&f=auto"
      },
      "rank": 10,
      "description": "<string>",
      "priceRange": {
        "min": 25,
        "max": 200
      },
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z",
      "createdVia": "dashboard"
    }
  ],
  "links": {
    "first": "/v3/collections?page[number]=1&page[size]=100&filter[location]=US",
    "next": "/v3/collections?page[number]=2&page[size]=100&filter[location]=US",
    "prev": null
  },
  "meta": {
    "total": 42
  }
}

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
required

Account identifier.

Example:

"acc123456"

snappy-company-id
string

Optional company identifier.

Example:

"cmp123456"

Query Parameters

filter[location]
string
default:US

Comma-separated ISO 3166-1 alpha-2 country codes. Only collections supporting all locations are returned.

Pattern: ^([A-Z]{2})(,[A-Z]{2})*$
Example:

"US,CA"

filter[maxPrice]
number | null

Budget bucket selector for thumbnails.

Required range: 0 <= x <= 99999
Example:

80

filter[tag]
enum<string>[]

Comma-separated collection tags (gifts, swag, custom).

Available options:
gifts,
swag,
custom
Example:
["gifts", "swag"]

Free-text search on collection name (max 100 characters).

Maximum string length: 100
Example:

"birthday"

fields
enum<string>[]

Optional fields to include.

Available options:
priceRange,
description,
createdAt,
updatedAt,
createdVia
Example:
["priceRange", "description"]
sort
enum<string>
default:rank

Sort field. Prefix with - for descending. Defaults to rank.

Available options:
rank,
name,
-name,
createdAt,
-createdAt
Example:

"rank"

page[number]
integer
default:1

1-indexed page number.

Required range: x >= 1
Example:

1

page[size]
integer
default:100

Number of collections per page (max 150, default 100).

Required range: 1 <= x <= 150
Example:

100

Response

Page-number paginated list of collections.

Page-number paginated collection list response.

data
object[]
required

Collections for the requested page.

Top-level JSON:API-style pagination links for collection list responses.

meta
object
required

Pagination metadata.

Last modified on June 24, 2026