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

Checkout

Purchase your carts via headless checkout or the hosted frame

Order Management

Track and manage every order through to completion and beyond

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

bash npm npm i @henrylabs/sdk bash bun bun add @henrylabs/sdk
bash pnpm pnpm add @henrylabs/sdk bash yarn yarn add           @henrylabs/sdk
3

Initialize the client

import HenrySDK from '@henrylabs/sdk';

const henry = new HenrySDK({
  apiKey: process.env.HENRY_SDK_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