Results include
expires_at — cursors and product slugs expire after this timestamp. Build your UI to handle graceful expiry.Basic Text Search
Send aPOST request to /v1/discovery/products/search with your query string. The x-api-key header is required for all /v1/discovery/* endpoints.
Filtering with Criteria
Combine a free-textquery with a criteria array to apply structured filters. Each criterion specifies a field, an operator, and a value:
Excluding Results
Useexclude_query to filter out unwanted results by keyword. This is useful for narrowing a broad category query:
Using Saved Criteria Sets
If you have pre-configured criteria sets saved in your account, reference them by ID to apply them without re-specifying each filter:Pagination
All searches return anext_cursor when more results exist. Pass it as the cursor field in your next request to retrieve the following page:
Do not combine
cursor with other search parameters — the cursor already encodes all query context from the original request. Results expire after the expires_at timestamp returned in the response.Fetching Product Details
Once you have a productslug from search results, retrieve its full details with a GET request:
Understanding Product Data
Each product result contains the following key fields:Unique numeric identifier for the product.
URL-friendly identifier used to fetch full product details.
Display name of the product.
Full product description.
Brand name of the product.
Product category classification.
URL of the product image.
Direct URL to the product page.
URL of the merchant’s storefront.
Human-readable formatted price string (e.g.,
"$89.99").Numeric price value for calculations and filtering.
Whether the product is currently on sale.
Discount percentage applied when the product is on sale.
Display name of the merchant.
URL of the merchant’s logo image.
Current stock status of the product (e.g.,
"in_stock", "out_of_stock").