Get Shops
Required headers: X-App-Key X-App-Secret
Retrieves every active TikTok Shop connected to your Kixmon app key, with its region, seller type, and timezone. This is the first call in any integration: it returns the shop id that all other endpoints require.
Every other Kixmon Profit API endpoint is scoped to one shop and requires an X-Shop-Id header. Use this API first: call it once, read the id of each shop in the response, and send that value as X-Shop-Id on all other requests. Results are paginated with page and limit.
For how the headers work, refer to Authentication. Rate limit: 60 requests per minute per app key.
Request
Header
| Properties | Type | Description |
|---|---|---|
X-App-KeyRequired |
string | App key created when REST APIs are enabled in Settings. Example: km_your_app_key. |
X-App-SecretRequired |
string | App secret created when REST APIs are enabled in Settings. Store it on your server only — never send it from a browser or mobile app. |
Query
| Properties | Type | Description |
|---|---|---|
idOptional |
string | Return only the shop with this id. |
nameOptional |
string | Return shops whose name contains this text. Not case-sensitive. Example: serum. |
pageOptional |
integer | Page number. Defaults to 1. |
limitOptional |
integer | Results per page. Defaults to 10, maximum 100. |
Example
curl 'https://api.kixmon.io/api/v1/shops?page=1&limit=10' \
-H "X-App-Key: $KIXMON_APP_KEY" \
-H "X-App-Secret: $KIXMON_APP_SECRET"
const res = await fetch("https://api.kixmon.io/api/v1/shops?page=1&limit=10", {
headers: {
"X-App-Key": process.env.KIXMON_APP_KEY,
"X-App-Secret": process.env.KIXMON_APP_SECRET,
},
});
const data = await res.json();
import os, requests
resp = requests.get(
"https://api.kixmon.io/api/v1/shops",
headers={
"X-App-Key": os.environ["KIXMON_APP_KEY"],
"X-App-Secret": os.environ["KIXMON_APP_SECRET"],
},
params={"page": 1, "limit": 10},
timeout=30,
)
resp.raise_for_status()
data = resp.json()
Response
Parameters
| Properties | Type | Description |
|---|---|---|
success |
boolean | true when the request succeeds |
data |
object | Response payload |
items |
array | Shops on this page |
id |
string | Kixmon shop id. Send this value as the X-Shop-Id header on other APIs |
shopName |
string | Shop display name |
shopId |
string | TikTok Shop id |
shopCode |
string | TikTok Shop code |
shopSellerType |
string | Seller type, for example CROSS_BORDER |
shopRegion |
string | Shop region code, for example US |
timezone |
string | Shop timezone, for example America/Los_Angeles |
pagination |
object | Pagination details |
page |
integer | Current page number |
limit |
integer | Results per page |
total |
integer | Total matching results |
totalPages |
integer | Total number of pages |
Example
{
"success": true,
"data": {
"items": [
{
"id": "64f1c2a0b8d1e2f3a4b5c6d7",
"shopName": "Kixmon US",
"shopId": "7496000000000000000",
"shopCode": "USABC123",
"shopSellerType": "CROSS_BORDER",
"shopRegion": "US",
"timezone": "America/Los_Angeles"
}
],
"pagination": { "page": 1, "limit": 10, "total": 1, "totalPages": 1 }
}
}
Error Code
| HTTP status | Code | Description |
|---|---|---|
400 |
INVALID_REQUEST |
A header or query parameter is invalid. |
401 |
MISSING_CREDENTIALS |
X-App-Key or X-App-Secret is missing. |
401 |
INVALID_CREDENTIALS |
App key or app secret is wrong. |
403 |
FEATURE_UNAVAILABLE |
REST APIs are not on the current plan. |
429 |
RATE_LIMITED |
More than 60 requests were sent in one minute for this app key, or the IP limit was reached. Wait, then retry. |
500 |
INTERNAL_ERROR |
An unexpected error occurred. Retry later. |
Kixmon makes it so easy to know your numbers. See all hidden costs, track every penny, and avoid profit headaches—it’s all at your fingertips.
START YOUR 7 DAY FREE TRIAL