TikTok API endpoint
Lists a creator's public collections (the profile's Collections tab) unmodified in `item_archive_detail_list`: each row carries the collection `id`, `name`, cover images and `statistic.total` video count. Use the returned `id` with the collection detail and collection videos endpoints. Requires the numeric `user_id` (a sec_user_id alone is rejected upstream).
/tiktok/mobile/collection/listQuery parameters:
user_id: required. The creator's numeric user id. A sec_user_id alone is rejected by the upstream with
status_code 5 "Invalid parameters".cursor: optional. Server paging token for the collections list. Default: 0.count: optional. Collections per page, bounded at 30. Default: 10.Measured 2026-10-22 (aggr16-normal.tiktokv.us edge /
api16-normal-useast5.tiktokv.us origin), uid 107955 (@tiktok): one collection, Summer of Sports,
id 7394627756635573022, statistic.total 139 videos, has_more: false (1.5 KB).
Example request:
GET /api/v1/tiktok/mobile/collection/list?user_id=107955&count=10
Example response (truncated):
{
"code": 200,
"msg": "OK",
"data": {
"item_archive_detail_list": [
{
"id": "7394627756635573022",
"name": "Summer of Sports",
"uid": "107955",
"statistic": {"total": 139},
"covers": [{"uri": "tos-useast5-p-0068-tx/...", "url_list": ["https://p16-common-sign.tiktokcdn-us.com/..."]}]
}
],
"cursor": 0,
"has_more": false,
"status_code": 0,
"status_msg": ""
}
}
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required | ||
| user_id | string | Yes | Creator's numeric user id | 107955 | |
| cursor | integer | No | Pagination cursor (server token) | ||
| count | integer | No | Collections per page (max 30) |
curl -X GET "https://api.crawlora.net/api/v1/tiktok/mobile/collection/list?user_id=107955&count=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"item_archive_detail_list": [
{
"id": "7394627756635573022",
"name": "Summer of Sports",
"uid": "107955",
"statistic": {
"total": 139
},
"covers": [
{
"uri": "tos-useast5-p-0068-tx/...",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/..."
]
}
]
}
],
"cursor": 0,
"has_more": false,
"status_code": 0,
"status_msg": ""
}
}Request schema
No body schema
Response schema
#/definitions/tiktokmobile.collectionListResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tiktokmobile.CollectionListResponse | No | ||||
| data.cursor | integer | No | ||||
| data.extra | unknown | No | ||||
| data.has_more | boolean | No | ||||
| data.item_archive_detail_list | array | No | ||||
| data.log_pb | unknown | No | ||||
| data.status_code | integer | No | ||||
| data.status_msg | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tiktok/mobile/collection/list?user_id=107955&count=10" \
-H "x-api-key: $CRAWLORA_API_KEY"