The Cruva REST API
The Cruva API is a JSON-over-HTTPS API at https://api.cruva.com. It covers shop stats and products, the affiliate CRM, videos and LIVEs, sample requests, creator DMs and outreach automations, email campaigns, lists, groups, tags, workflows, creator briefs, community campaigns, TikTok and Meta ads, and halo-effect reporting.
The Cruva API reference documents every endpoint with examples; the same content is published as an OpenAPI 3.1 specification with a unique operationId, typed request and response schemas, and a description for every operation — ready for client generation or LLM function calling.
API keys and the shop header
Create API keys in the dashboard under API (/dashboard/api). Every request sends the key in x-api-key and the Cruva shop it acts on in x-shop-id:
curl -X POST https://api.cruva.com/shop/products \
-H "x-api-key: <your_api_key>" \
-H "x-shop-id: <your_shop_id>" \
-H "Content-Type: application/json" \
-d '{"sort_by": "units_sold", "sort_direction": "desc"}'The x-shop-id header is a Cruva internal shop ID — it is not the same as your TikTok shop ID/code. To find it: (1) go to cruva.com/dashboard/my-shops, (2) click the dropdown on the right of the shop and choose View Info, (3) copy the Shop ID from the popup. GET /account/shops lists the shop IDs a key can use.
Scoped keys
Each key can be limited to specific routes and specific shops, so an integration gets only the access it needs. A route permission is named <METHOD> <path> (for example POST /affiliate/samples/approve). The OpenAPI spec lists every permission in the apiKey security scheme’s x-scopes and names the one each operation needs in its securityrequirement. Calls outside a key’s routes or shops return 403.
Standard endpoints are included with a Standard API subscription. Enterprise endpoints add cross-shop market intelligence on brands, products, and creators, take a region (us, uk, mx, es, de, ie, it, fr, nl, pt, gr, be, at, pl, hu, cz, br, jp), and need an Enterprise plan.
Rate limits, pagination, and idempotency
Each key may make up to 10 requests per second and 1,000,000 requests per day, measured per shop; over either limit returns 429, so back off and retry. The unauthenticated GET https://api.cruva.com/health reports whether the API is up. Pagination stops at 10,000 rows — narrow with filters rather than paging deeper. Supported writes accept an Idempotency-Key header so retries never double-act. Details are in the usage limits and idempotency docs.
The Cruva MCP server
The Cruva MCP server at https://mcp.cruva.com connects Claude, ChatGPT, Cursor, and other Model Context Protocol clients to a Cruva account. Add it as a custom connector; the client registers itself and sends you through Cruva sign-in (OAuth authorization code with PKCE). On the consent screen you choose which shops and which tools the assistant may use, and you can revoke the connection from the dashboard at any time. MCP is free on every plan.
Setup steps for each client are in Connecting Cruva to your LLM. Actions taken through an API key or an MCP client are recorded in your account’s activity log.
Questions
Email support@cruva.com about API access, plans, or integration problems, or see the contact page for other teams.