Overview
Every productlink belongs to a merchant host (e.g. nike.com). The merchants resource lets you:
merchants.list- browse all merchants Henry lists publicly, with filtersmerchants.search- free-text merchant search over name + host (typeahead-grade)merchants.retrieve- fetch a single merchant by host
Prerequisites
List merchants
Callmerchants.list to retrieve all merchants available to your app.
Retrieve a single merchant
When you already know thehost, merchants.retrieve fetches that merchant directly - no filtering, no pagination.
404 Not Found if the host is unknown to Henry or isn’t publicly listed.
Search merchants
When all you have is what a user typed - a name fragment, a host fragment -merchants.search resolves it to ranked merchants. It partial-matches the query against merchant name and host (case- and accent-insensitive), ranking prefix matches first, and returns a single ranked page.
coverage - so you can scope a product search to a result’s host or gate checkout affordances without a second lookup.
Search is built for typeaheads: results are one ranked page with no cursor. Narrow the query instead of paging.
Discover search filters
merchants.retrieve also returns searchFilters - the categories and variant-option filter axes (option name → display values) that merchant-scoped product search accepts for this merchant.
category is listed for Shopify stores and zara.com. searchFilters is null until either is available - options refresh with the weekly catalog sync. Matching is case-insensitive and best-effort: option filters are honored for merchants served from Henry’s search index and ignored by live search methods.
Filter merchants
1
Filter by host
Look up a specific merchant by domain:
2
Filter by name
Partial-match search on merchant display name:
3
Filter by coverage
Restrict results to merchants Henry actively supports (vs. still being onboarded), per method:One filter per method:
checkoutCoverage, productDetailsCoverage, productSearchCoverage.coverageStatus is a deprecated alias of checkoutCoverage and is ignored when checkoutCoverage is also provided.Coverage
Every merchant record includes per-method coverage statuses. Use them to gate features per-merchant and pick the right merchants for each capability.Experimental merchants
Atesting status means Henry is actively bringing that capability online but
does not yet guarantee it. Each app decides whether it may use those merchants,
with the Experimental merchants switch in Settings → App → General →
Merchant coverage.
With the switch off, a request whose merchant is not
supported is rejected
with a 403 naming the merchant and the capability. The status is checked
per capability, so a merchant that is supported for product search and
testing for checkout can be searched but not purchased from. The three
gates are merchant-scoped products.search (product search),
products.details (product details), and cart.create / cart.item.add /
cart.item.update (checkout). The checkout gate runs again when the order is
placed, so a cart built before the switch was turned off cannot be purchased
either.
Global product search is never gated — it spans the whole web, and its results
are already ordered supported before testing before unsupported. Pass
filters.supportedOnly when you only want merchants Henry fully supports.
Every app has it on by default, so a new integration sees the whole
catalog until its owner narrows it. Apps created before this setting existed
keep exactly the behavior they already had.
Checkout is never allowed for a merchant that is
unsupported for checkout, whatever the switch says: cart.create, cart.item.add, cart.item.update, and placing the order all return a 403.Affiliate rates
When one of Henry’s affiliate networks covers a merchant, the record includes anaffiliate object with the highest commission rate our coverage pays there — as a percentage of order value (6 means 6%). Use it to decide which merchants to promote.
Filter reference (merchants.list)
Error handling
Next steps
Product Discovery
Search products from a specific merchant using the
merchant filterUniversal Cart
Add product links from supported merchants to a cart