Skip to main content
The Henry SDK gives your application a full commerce stack out of the box. Search any merchant’s catalog, build multi-merchant carts, launch checkout in seconds, and track orders - all through a type-safe TypeScript SDK backed by a single API key.

Product Discovery

Search any merchant’s catalog and fetch rich product details with variants, pricing, and images

Universal Cart

Build carts with items from any merchant - create, add, update, remove, and fetch in one place

Order Management

Initiate headless checkout or use the hosted modal, then track every order through to completion

Merchants

Browse supported merchants - filter by host, name, or category to power merchant-selection UIs

Get started in minutes

1

Get your API key

Go to the Henry Dashboard and create an app to get your API key.
2

Install the SDK

npm i @henrylabs/sdk
3

Initialize the client

import HenrySDK from '@henrylabs/sdk';

const henry = new HenrySDK({
  apiKey: process.env.HENRY_API_KEY!,
});
Always initialize server-side. Your API key must never be exposed in browser or mobile code.
4

Make your first request

const search = await henry.products.search({ query: 'Nike Air Max' });

// poll until results are ready
let result = search;
while (result.status === 'pending' || result.status === 'processing') {
  await new Promise(r => setTimeout(r, 1000));
  result = await henry.products.pollSearch({ refId: search.refId });
}

console.log(result.result?.products[0]);

Explore the guides

Quickstart

End-to-end walkthrough - search → cart → checkout → order in one file

Core Concepts

Understand async jobs, cart lifecycle, and checkout modes

API Reference

Full endpoint reference with live playground