Search products (body-based filters)
Same semantics and response shape as GET /v3/products, but accepts
filters in the request body instead of query parameters (useful when
filters become too large for a query string).
productIds (when provided) is ANDed with the other filters.
Authorizations
Partner API key. Finalized per partner integration agreement.
Headers
Optional account identifier for scoping/validation/filtering.
Optional company identifier for scoping/validation/filtering.
Query Parameters
ISO 3166-1 alpha-2 country code (default US).
^[A-Z]{2}$Which product catalog to search. Omit to search both marketplace and swag (no default).
Product catalog. As a query value, omit filter[catalog] to search
both catalogs.
marketplace, swag "marketplace"
Related entities to include (JSON:API include), comma-separated.
Supported values: brand, tags. Returned as full objects.
brand, tags Comma-separated list of computed/expanded fields for product list endpoints.
priceRange—{ min: Price, max: Price }.variantsCount— total variants for the product.total— total products matching the request filters (ignores pagination). Returned as a root-level field.full— every field above.
priceRange, variantsCount, total, full Opaque continuation token returned by the previous response's
links.next. Omit on the first request. Cursors are opaque —
clients must not parse or fabricate them.
Number of products to return per page (max 300, default 100).
1 <= x <= 300JSON:API sort parameter. Comma-separated fields; prefix with - for
descending. Sortable fields: minPrice, createdAt.
^-?(minPrice|createdAt)(,-?(minPrice|createdAt))*$"-createdAt,minPrice"
Body
Body-based filters for POST /v3/products/search. Mirrors the query
filters of GET /v3/products. For multi-value filters, pass arrays.
Free-text search across product title / category / brand.
"nfl wall art"
Product type. Used both as the value of Product.type and as the
filter value for filter[type].
physical, digital, giftCard, donation "physical"
Substring search on brand name.
"you"
Brand id(s). OR semantics.
["6511b55142c420000d083a55"]Tag id(s). OR semantics.
["6527bb3567f414000c15d2c7"]Restrict results to a specific set of product ids (VariationGroup ids). Max 100. ANDed with the other filters.
100Response
Paginated list of products.
Paginated product list response. total is present only when
requested via fields=total or fields=full.
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).
Total number of products matching the request filters (ignores
pagination). Returned only when fields=total or fields=full.
x >= 010000