TikTok collection videos API
Videos saved in a public TikTok collection (also called a playlist).
GET /v1/tiktok/collection/videos
GET /v1/tiktok/collection/videos
Videos saved in a public TikTok collection (also called a playlist).
- Cost: 1 credit
- Cache: Results are kept up to 30 days; send
max_age_daysto reuse them for free. - Timeout: A request still running after about 25 seconds answers
202with a job to poll (Batch and jobs).
Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
url | URL | yes | Public collection URL (tiktok.com/@user/collection/<name>-<id>). Accepted hosts: tiktok.com. |
Every request also accepts:
cursor: the cursor from the previous page (Pagination).trim:truefor a smaller response withoutnullfields andextra.raw:trueto also get the platform's original object asraw.max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).
Example request#
Set your key in the environment first (see Authentication).
1curl -G "https://api.socialscrape.dev/v1/tiktok/collection/videos" \2 -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3 --data-urlencode "url=https://www.tiktok.com/@kibblemaster808/collection/Want-to-go-7665668414573546258"1import os2import requests34params = {5 "url": "https://www.tiktok.com/@kibblemaster808/collection/Want-to-go-7665668414573546258",6}7res = requests.get(8 "https://api.socialscrape.dev/v1/tiktok/collection/videos",9 headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},10 params=params,11)12body = res.json()1314if body["ok"]:15 print(body["data"])16else:17 print(body["error"]["code"], body["error"]["message"])1const url = new URL("https://api.socialscrape.dev/v1/tiktok/collection/videos");2url.search = new URLSearchParams({3 "url": "https://www.tiktok.com/@kibblemaster808/collection/Want-to-go-7665668414573546258"4}).toString();5const res = await fetch(url, {6 headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },7});8const body = await res.json();910if (body.ok) {11 console.log(body.data);12} else {13 console.error(body.error.code, body.error.message);14}1{2 "nodes": [3 {4 "name": "SocialScrape TikTok collection videos",5 "type": "n8n-nodes-base.httpRequest",6 "typeVersion": 4.2,7 "position": [8 0,9 010 ],11 "parameters": {12 "method": "GET",13 "url": "https://api.socialscrape.dev/v1/tiktok/collection/videos",14 "sendQuery": true,15 "queryParameters": {16 "parameters": [17 {18 "name": "url",19 "value": "https://www.tiktok.com/@kibblemaster808/collection/Want-to-go-7665668414573546258"20 }21 ]22 },23 "sendHeaders": true,24 "headerParameters": {25 "parameters": [26 {27 "name": "x-api-key",28 "value": "={{ $env.SOCIALSCRAPE_API_KEY }}"29 }30 ]31 }32 }33 }34 ],35 "connections": {}36}Example response#
This is a sample from a recorded response, lists and long text are shortened. Status 200.
200 OKSample response
1{2 "ok": true,3 "credits_charged": 1,4 "credits_remaining": 4999,5 "cached": false,6 "cached_at": null,7 "request_id": "req_f3a5b83da55f1f53cee63f8d",8 "data": {9 "object": "list",10 "items": [11 {12 "object": "post",13 "platform": "tiktok",14 "id": "7663018809392909588",15 "url": "https://www.tiktok.com/@miotravelapp/video/7663018809392909588",16 "type": "video",17 "author": {18 "id": "7506421330087576593",19 "handle": "miotravelapp",20 "name": "miotravelapp",21 "url": "https://www.tiktok.com/@miotravelapp",22 "avatar_url": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb230f3412263540ac627b98d71aa671~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=1edef707&x-expires=1793498400&x-signature=Cedulc%2BqXRVQsRCsrjmPnhp3BWc%3D&t=4d5b0474&ps...",23 "verified": false24 },25 "title": null,26 "text": "How often do you reckon they think about the Roman Empire? 🐈⬛ One of the most unusual ancient sites in Rome, and it's free to see from the street, a short walk from the Pantheon. 📍 Largo di Torre Argentina, Rome, Italy This sunken square h...",27 "published_at": "2026-07-16T07:06:47Z",28 "duration_seconds": 68.0,29 "language": "en",30 "hashtags": [31 "romanempire",32 "catsofrome",33 "rometravel"34 ],35 "mentions": null,36 "stats": {37 "views": 1000000,38 "likes": 134200,39 "comments": 429,40 "shares": 19100,41 "saves": 22248,42 "dislikes": null43 },44 "media": {45 "thumbnail_url": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/oUYM7iBIKB1BL5CGgwAtAiwJEfLCFXAiX9IAEA~tplv-tiktokx-origin.image?dr=9636&x-expires=1793498400&x-signature=J4fu3o2PdeO6zDLZ4%2B3uGtahIJ4%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43...",46 "video_url": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-ve-37c815-sg/osQzVUAcgIumofVDQDUIiGXCsRfdomveAAyLlj/?a=1988&bti=ODszNWYuMDE6&&bt=652&eid=20480&ft=4KJMyMzm8Zmo0KSSla4jVYfjQpWrKsd.&mime_type=video_mp4&rc=O2g6Mzg6PGk4OWc1ZDQ5M...",47 "audio_url": null,48 "image_urls": null,49 "width": 576,50 "height": 102451 },52 "song": {53 "id": "7419587624324713233",54 "title": "original sound",55 "artist": "Antzisocial",56 "url": "https://www.tiktok.com/music/original-sound-7419587624324713233"57 },58 "location": null,59 "is_pinned": null,60 "is_sponsored": false,61 "extra": {62 "ai_label_shown": true,63 "author_followers": 39300,64 "caption_languages": [65 "eng-US"66 ],67 "category_type": 116,68 "comments_disabled": false,69 "duet_enabled": true,70 "is_private": false,71 "music_is_original": true,72 "reposts": 0,73 "stitch_enabled": true,74 "video_definition": "540p"75 }76 },77 {78 "object": "post",79 "platform": "tiktok",80 "id": "7664493425168747796",81 "url": "https://www.tiktok.com/@miotravelapp/video/7664493425168747796",82 "type": "video",83 "author": {84 "id": "7506421330087576593",85 "handle": "miotravelapp",86 "name": "miotravelapp",87 "url": "https://www.tiktok.com/@miotravelapp",88 "avatar_url": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb230f3412263540ac627b98d71aa671~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=1edef707&x-expires=1793498400&x-signature=Cedulc%2BqXRVQsRCsrjmPnhp3BWc%3D&t=4d5b0474&ps...",89 "verified": false90 },91 "title": null,92 "text": "You can literally be Juliet from Romeo & Juliet 😭 💌 One of the most romantic things you can do in Italy, and almost no one visiting Verona knows it's a thing you can do. 📍 Juliet Club (Club di Giulietta), Verona, Italy Thousands of letters...",93 "published_at": "2026-07-20T06:29:10Z",94 "duration_seconds": 73.0,95 "language": "en",96 "hashtags": [97 "julietclub",98 "verona",99 "italytravel"100 ],101 "mentions": null,102 "stats": {103 "views": 27800,104 "likes": 3152,105 "comments": 10,106 "shares": 351,107 "saves": 1274,108 "dislikes": null109 },110 "media": {111 "thumbnail_url": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/okAADIGUoQpAAjTQBe78EWguCMWjS4IeBeQQFA~tplv-tiktokx-origin.image?dr=9636&x-expires=1793498400&x-signature=m%2FT1rNmvWRcHXg46bm1qHNm5K2U%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43...",112 "video_url": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-ve-37c815-sg/o0AQdLON0uvFGwhFje9C3bIpAoIlD1EEgU7eIf/?a=1988&bti=ODszNWYuMDE6&&bt=567&eid=20480&ft=4KJMyMzm8Zmo0KSSla4jVYfjQpWrKsd.&mime_type=video_mp4&rc=OGczNGkzaTNlaTc2aTwza...",113 "audio_url": null,114 "image_urls": null,115 "width": 576,116 "height": 1024117 },118 "song": {119 "id": "7419587624324713233",120 "title": "original sound",121 "artist": "Antzisocial",122 "url": "https://www.tiktok.com/music/original-sound-7419587624324713233"123 },124 "location": null,125 "is_pinned": null,126 "is_sponsored": false,127 "extra": {128 "ai_label_shown": true,129 "author_followers": 39300,130 "caption_languages": [131 "eng-US"132 ],133 "category_type": 120,134 "comments_disabled": false,135 "duet_enabled": true,136 "is_private": false,137 "music_is_original": true,138 "reposts": 0,139 "stitch_enabled": true,140 "video_definition": "540p"141 }142 }143 ],144 "cursor": null,145 "has_more": false,146 "parent": null147 },148 "cursor": null,149 "has_more": false150}Response#
A list of Post objects in data.items, with data.cursor and data.has_more.
See Data models for every field. The envelope around data is described in Responses.
Errors#
Failures are free: credits_charged is 0. Branch on error.code, never on the message.
| Code | HTTP | Retry | Meaning |
|---|---|---|---|
invalid_params | 400 | no | A parameter is missing, unknown or has the wrong type. |
unsupported_url | 400 | no | The URL is not one this endpoint accepts (wrong platform or form). |
not_found | 404 | no | The platform says this profile, post or item does not exist. |
Every request can also fail with the account and platform errors listed on the Errors page.
Related endpoints#
- TikTok profile (
GET /v1/tiktok/profile) - TikTok profile videos (
GET /v1/tiktok/profile/videos) - TikTok video details (
GET /v1/tiktok/video) - TikTok video transcript (
GET /v1/tiktok/video/transcript) - TikTok video comments (
GET /v1/tiktok/video/comments) - TikTok comment replies (
GET /v1/tiktok/video/comment/replies) - TikTok user search (
GET /v1/tiktok/search/users) - TikTok search suggestions (
GET /v1/tiktok/search/suggestions)