POST /v1/products/omni to search Amazon and your affiliate product database simultaneously in a single request. Rather than calling the Amazon API and your affiliate database separately and merging the results yourself, this endpoint aggregates both sources and returns a unified response.
Advantages
- Single call — one request retrieves Amazon results and affiliate database results together
- Flexible criteria — search by ASIN, product URL, barcode, keyword, or broad
anyfield - Advanced filtering — apply precise field-level filters on top of any criteria type
- Grouped responses — use
group_byto receive results organized by each search criteria item
Request
Endpoint:POST /v1/products/omni
Headers
string
required
Must be
application/json.string
required
Your API key as a Bearer token:
Bearer {your_api_key}.Body parameters
array
required
An array of search criteria objects. Each object specifies a See Criteria fields below for details on each option.
field and value. Only one criteria type is permitted per query.Supported fields: asin, url, barcode, keyword, any.object
Network-specific configurations. When omitted, Amazon
commission_url values contain @@@ and ### placeholders. When provided, the API substitutes your IDs automatically.For Amazon results, provide your Creator API credentials under the "amazon" key:locale maps to the marketplace (e.g., US, GB, DE, CA, JP). Other networks that require additional fields:array
Advanced filtering applied on top of the See Filter fields and operators for all supported fields.
criteria search. Each filter object requires field, operator, and value.array | string
Fields to include in each product object. Pass an array of strings or a comma-separated string.
integer
default:"100"
Results per page. Minimum
1; maximum depends on your subscription plan.integer
Page number for pagination. Minimum
1.string
Cursor for deep pagination beyond 10,000 results. Use the
after value from the previous response’s meta object.string
Sort field. Accepted values:
relevance, id, barcode, name, final_price, on_sale, regular_price, availability, stock_quantity, brand, category, updated_at, criteria_url.criteria_url is a virtual, Omni-only value — it resolves to relevance at the query layer, but places the products matched directly off your url criteria ahead of the barcode-expansion results. This placement only applies to page 1; page 2 onward returns only the barcode-expansion continuation results.string
Sort direction:
asc or desc.string
Group results by a criteria index. Use
"criteria.0" to group by the first (and typically only) criteria item — useful when searching multiple ASINs and wanting results organized per ASIN. Use "none" (default) for a flat, ungrouped list.string[]
Explicit list of network IDs to include in results.
string[]
Explicit list of merchant IDs to include in results.
string[]
Network IDs to exclude from results.
string[]
Merchant IDs to exclude from results.
object
Optional configurations for supported third-party services. Each key is a service identifier and maps to a service-specific config object.Shopnomix — pass your
campaign_id to have the API populate urls.shopnomix with a ready-to-use Shopnomix link:string
ULID of a pool belonging to the authenticated team. The pool’s networks and merchants are combined with any explicitly passed filter values. Only one
pool_id may be passed per request. Returns 422 if the pool does not exist or belongs to another team.string
Remove duplicate results based on field values. Two syntaxes:Comma (AND) — each field is applied independently; OR — drop a result if either field has already appeared. At most 2 fields, no Invalid combinations return
[N] caps results per unique value.[N] limits, cannot mix with comma syntax. total is an estimated upper bound.422. Supported fields: name, image_url, direct_url, barcode, merchant.id.array
Retrieve aggregated statistics about the result set. Supported values:
final_price, network, merchant.boolean
default:"false"
When
true, replaces your sub-ID with a click_id for consolidated reporting.Criteria fields
You can pass multiple values to a single criteria using
|| (logical OR), for example "B07QK2SPP7||B08N5WRWNW" for ASINs. Case-sensitive fields (barcode, sku, mpn, asin) must match exactly.Filter fields and operators
Thefilter array supports a rich set of fields and operators for precise result refinement.
Operator reference:
Response
A successful request returnsmeta, an optional facets object, a data array, and a links object.
meta object
facets object
Only present when you include the facets parameter.
Use
final_prices to drive price range sliders. Use networks and merchants to build filter checkbox lists showing only options that have matching results.
data array
When group_by is "none" (default), data is a flat array of product objects identical in structure to the /v1/products search response, with the addition of added_at.
When group_by is "criteria.0", each item in data has this shape:
links object
Product object
Product objects contain the same fields as the/v1/products response, plus one additional field:
Amazon ASIN limitations
- Maximum 10 ASINs per request (use
||to separate them in thevaluestring) - Amazon results require Creator API credentials in the
networksobject under the"amazon"key - For watches, include
start_valuein the criteria object