Endpoint Playground
Returns the app's music-collection LIST (`mc_list` of collection objects with covers), the browse list of curated music collections. This is a different route from `/api/v1/tiktok/mobile/music/collections`, which is the collection FEED (`mcf_list`, with each entry's music inline). The upstream is `/aweme/v1/music/collection/`. Unlike the feed, this route PAGES for real: `count` is honoured (measured 1 -> 1 item with `cursor: 1, has_more: 1`; 5 -> 5 items with `cursor: 5`; 10/100 -> all 8 collections) and `cursor` advances (measured `count=5&cursor=5` -> the remaining 3 with `has_more: 0`). A negative count answers upstream status 5, which is rejected locally. Measured 2026-10-21 with the pure-Go (device-free) signer: 8 collections total. The route is not signature-gated, so it does not need the device-backed signer.
curl 'https://api.crawlora.net/api/v1/tiktok/mobile/music/collection-list' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| count | integer | No | Page size: honoured (1-50 measured, capped by the collection set) | |
| cursor | integer | No | Next-page token from the previous response (0 = first page) |
{
"code": 200,
"msg": "OK",
"data": {
"mc_list": [
{
"mc_id": "6572392040036829954",
"title": "Summer Hits",
"cover": {
"url_list": [
"https://p16-...tiktokcdn-us.com/..."
]
},
"aweme_cover": {
"url_list": [
"..."
]
}
}
],
"cursor": 10,
"has_more": false,
"msg": "",
"status_code": 0,
"status_msg": ""
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.