API Reference

Make your first authenticated SellApp request, then build and operate a production integration safely.

Build your own checkout, manage your catalog, or connect SellApp to the tools your business already uses. Start with a read-only request below, then follow one purchase from product setup to webhook delivery.

The base URL is https://sell.app/api. Requests operate on the real data of the store selected by X-STORE; there is no separate API sandbox.

Make a harmless request

  1. Create a secret key in your store developer settings.
  2. Copy the store slug from its storefront URL. For launch-lab.sell.app, the slug is launch-lab.
  3. Give your key the listing ability (permission to access the catalog), replace the values below, and run this in your terminal:
List the first product
export SELLAPP_API_BASE_URL='https://sell.app/api'
export SELLAPP_API_KEY='replace-me'
export SELLAPP_STORE_SLUG='launch-lab'

curl --fail-with-body --request GET \
  --url "${SELLAPP_API_BASE_URL}/v2/products?limit=1" \
  --header "Authorization: Bearer ${SELLAPP_API_KEY}" \
  --header "X-STORE: ${SELLAPP_STORE_SLUG}" \
  --header 'Accept: application/json'

A successful response is 200 OK and includes an X-Request-ID response header for debugging. The data array contains your products, one page at a time. Your product names and IDs will differ from this example:

Response — abbreviated
{
  "data": [
    {
      "id": 120,
      "title": "Founder memo circle",
      "slug": "founder-memo-circle",
      "visibility": "HIDDEN"
    }
  ],
  "links": {
    "first": "https://sell.app/api/v2/products?page=1",
    "last": "https://sell.app/api/v2/products?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "per_page": 1,
    "total": 1
  }
}

No products yet? An empty data array still means the request worked. A 401 means the key is missing or invalid. A 403 means the key or account lacks access. A 404 after changing X-STORE usually means that slug is wrong or unavailable to the authenticated account.

Build the first sale

The usual integration path is:

Register and test webhook → create product → configure variant → create invoice → checkout → process events

Follow the complete subscription quickstart, then use the workflow and operating guides below before letting your integration change live data.

On this page