Read the videos a TikTok account has liked, on profiles where that list is public. The response carries the same item structure as a normal post feed, with captions, author blocks, sounds and engagement counts, so a liked feed can be handled by the same code path as an upload feed. Count and cursor page through the list, and hasMore tells you when to stop.
curl -X GET "https://api.primeapi.co/user-liked-posts?secUid=MS4wLjABAAAA-hnFaH9aGUYLRspPmUXT3nZOha3-CEyChdtqwlyFaG1M_kAi4MD0AaZkbuIsPIzc&count=30&cursor=0" \
-H "X-PrimeAPI-Key: YOUR_API_KEY"
import requests
url = "https://api.primeapi.co/user-liked-posts?secUid=MS4wLjABAAAA-hnFaH9aGUYLRspPmUXT3nZOha3-CEyChdtqwlyFaG1M_kAi4MD0AaZkbuIsPIzc&count=30&cursor=0"
headers = {"X-PrimeAPI-Key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
print("Credits left:", response.headers.get("X-PrimeAPI-Balance"))
{
"cursor": "1714255728000",
"extra": {
"fatal_item_ids": [],
"logid": "20250117005711B1A0A4F3B73CB61F8F40",
"now": 1737075432000
},
"hasMore": true,
"itemList": [
{
"AIGCDescription": "",
"CategoryType": 112,
"author": {
"avatarLarger": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/9b178dcbd55fd16421c567baa2f7d695~c5_1080x1080.jpeg?lk3s=a5d48078&nonce=12360&refresh_token=a1e3a02ec4e3ae419b9b953e2c2de42f&x-expires=1737244800&x-signature=HUCgcDHyJYwfeRPxjZbhp0dU10M%3D&shp=a5d48078&shcp=81f88b70",
"avatarMedium": "https://p77-sign-va.tiktokcdn.com/tos-maliva-avt-0068/9b178dcbd55fd16421c567baa2f7d695~c5_720x720.jpeg?lk3s=a5d48078&nonce=4091&refresh_token=f15640550e257fb80e502dc2b01aa0bf&x-expires=1737244800&x-signature=gHJfTT8tTJu1fom42DuB7oN81ZI%3D&shp=a5d48078&shcp=81f88b70",
"avatarThumb": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/9b178dcbd55fd16421c567baa2f7d695~c5_100x100.jpeg?lk3s=a5d48078&nonce=43157&refresh_token=399166e2a22d2523d8444efe0ffaf915&x-expires=1737244800&x-signature=wLP9G%2BO94EWqp4qs1pG4DYaU6is%3D&shp=a5d48078&shcp=81f88b70",
"commentSetting": 0,
"downloadSetting": 0,
"duetSetting": 0,
"ftc": false,
"id": "6916873898730963973",
"isADVirtual": false,
"isEmbedBanned": false,
"nickname": "Luiz Altair Tomaz",
"openFavorite": true,
"privateAccount": false,
"relation": 0,
"secUid": "MS4wLjABAAAAVoDLvip8IjR9eIzK5F_4Onv-F0VSnyyXM4fUCxMqza8VCRLzOS2Yx7uW39uboYbG",
"secret": false,
"signature": "\ud83d\udd79\ufe0f021\n \ud83d\udd25Atleta Profissional \ud83d\udd25\n\ud83e\udd2f Local Da Av1 \ud83d\udca3\u2620\ufe0f\n Aloha \ud83e\udd19\ud83c\udffe",
"stitchSetting": 0,
"uniqueId": "luizinhobodysurf",
"verified": false
},
"authorStats": {
"diggCount": 9123,
"followerCount": 40900,
"followingCount": 787,
"friendCount": 0,
"heart": 5300000,
"heartCount": 5300000,
"videoCount": 153
},
"backendSourceEventTracking": "",
"challenges": [
{
... (truncated)