Skip to main content
Developers only. If you sell through the built-in Quickshops storefront, you don’t need this section — use the Quickstart and Integrations guides instead.Headless API access requires a Pro plan and an API key from Settings → API keys.
The Quickshops Headless API is a REST API that lets you build fully custom storefronts on top of your Quickshops store. Instead of using a Quickshops-managed template, you fetch store data, manage carts, and initiate checkout from your own frontend or backend using standard HTTP requests. All responses are JSON.

Base URL

All examples prepend this base URL to the endpoint paths below. For example, GET /products means GET https://api.quickshops.app/v1/products.

Versioning

The API is currently at version v1, included in the base URL. Breaking changes will ship under a new base URL (for example https://api.quickshops.app/v2), and v1 will continue to work during a deprecation window.

Routes

The table below lists every available endpoint and whether authentication is required. Every protected route uses the same headless API key in the Authorization header. Missing or invalid keys return 401.

Authentication

Every protected request requires an Authorization header with a bearer token containing your headless API key.
See Authentication for how to create and use your key.

Rate limiting

Rate limits are enforced per key and per endpoint. If you exceed a limit you will receive a 429 response with code RATE_LIMITED. Back off and retry after a short delay.

Error format

All errors return a JSON body with the following shape:
Common error codes include UNAUTHORIZED, FORBIDDEN, NOT_FOUND, INVALID_REQUEST, RATE_LIMITED, CONFLICT, and INTERNAL_ERROR.

API reference

Authentication

API keys and how to authenticate requests.

Products

Fetch store and product data.

Cart

Create and manage carts.

Checkout

Create Stripe Checkout sessions.

Subscriptions

Manage subscription portal sessions.

TypeScript SDK

Use the TypeScript SDK instead of raw HTTP requests.