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.
Base URL
GET /products means GET https://api.quickshops.app/v1/products.
Versioning
The API is currently at versionv1, 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 anAuthorization header with a bearer token containing your headless API key.
Rate limiting
Rate limits are enforced per key and per endpoint. If you exceed a limit you will receive a429 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.