Open in ChatGPT
Coding with AI?
Connect your agent to our MCP and let it integrate any endpoint for you in one shot.

TikTok Playlist Videos

Get a playlist’s videos in playlist order by playlist URL or numeric playlist ID. Returns the same fields as User Videos for each video, 30 per page.

Endpoint

GET /v1/tiktok/playlist/videos

Price: $0.006 per page Free tier: 50 requests/month

Parameters

Provide exactly one of url or playlist_id.

Parameter Required Description
url One required TikTok playlist URL, e.g. https://www.tiktok.com/@natgeo/playlist/Cinematic-7509464647364283178 (max 500 characters).
playlist_id One required Numeric playlist ID: the number at the end of a playlist URL.
pages No Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos.
get_sentiment No Set to true to add AI emotion analysis (Plutchik’s Wheel) to each result. Adds +$0.001 per page to the cost. Returns emotion scores, dominant emotion, intensity, and polarity.

Response Fields

Field Type Description
videos array Array of the playlist’s videos in playlist order
videos[].video_id string Numeric video ID
videos[].title string Video caption
videos[].url string Direct link to the video
videos[].date string Publication date and time
videos[].date_timestamp integer/null Publication date as a Unix timestamp
videos[].author string Author’s TikTok username
videos[].source string "TikTok"
videos[].domain string "tiktok.com"
videos[].snippet string Video caption text
videos[].region string 2-letter region code the video was posted from
videos[].play_count integer Number of plays/views
videos[].likes integer Number of likes
videos[].comments integer Number of comments
videos[].shares integer Number of shares
videos[].downloads integer Number of downloads
videos[].saves integer Number of saves (favorites)
videos[].duration integer Video duration in seconds (0 for photo posts)
videos[].is_ad boolean Whether the video is an ad
videos[].is_pinned boolean Whether the video is pinned to the author’s profile
videos[].author_name string Author’s display name
videos[].author_id string Author’s numeric user ID
videos[].author_avatar string Author’s avatar URL
videos[].author_url string Link to the author’s profile
videos[].cover string Video cover/thumbnail URL
videos[].dynamic_cover string Animated cover URL
videos[].origin_cover string Original cover frame URL
videos[].video_url string Watermark-free playback/download URL (temporary)
videos[].video_url_watermarked string Watermarked playback URL (temporary)
videos[].size integer File size of the watermark-free video in bytes
videos[].size_watermarked integer File size of the watermarked video in bytes
videos[].images string[] Image URLs for photo posts; empty for videos
videos[].music_url string Playback URL of the sound
videos[].mentioned_user_ids string[] Numeric IDs of the users mentioned in the caption
videos[].sentiment object/null Emotion analysis results. Only present when get_sentiment=true. Returns null if analysis fails.
videos[].sentiment.emotions object Plutchik emotion scores (0-100) for: joy, trust, fear, surprise, sadness, disgust, anger, anticipation.
videos[].sentiment.dominant_emotion string The emotion with the highest score.
videos[].sentiment.emotional_intensity integer Overall emotional intensity on a scale of 0-10.
videos[].sentiment.polarity string Overall sentiment polarity: positive, negative, or neutral.
playlist_id string The playlist’s numeric ID
pages integer Number of pages returned
count integer Number of results returned

Example Request

cURL

curl "https://apidirect.io/v1/tiktok/playlist/videos?url=https://www.tiktok.com/@natgeo/playlist/Cinematic-7509464647364283178" \
  -H "X-API-Key: YOUR_API_KEY"

Python

import requests

response = requests.get(
    "https://apidirect.io/v1/tiktok/playlist/videos",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"url": "https://www.tiktok.com/@natgeo/playlist/Cinematic-7509464647364283178"}
)
print(response.json())

Example Response

{
  "videos": [
    {
      "video_id": "7509066418168597791",
      "title": "Spring in Patagonia is a time of abundance, and this puma mother has cubs to feed",
      "url": "https://www.tiktok.com/@natgeo/video/7509066418168597791",
      "date": "2025-05-27 10:14:17",
      "date_timestamp": 1748340857,
      "author": "natgeo",
      "source": "TikTok",
      "domain": "tiktok.com",
      "snippet": "Spring in Patagonia is a time of abundance, and this puma mother has cubs to feed",
      "region": "GB",
      "play_count": 31112,
      "likes": 1268,
      "comments": 31,
      "shares": 44,
      "downloads": 1,
      "saves": 51,
      "duration": 20,
      "is_ad": false,
      "is_pinned": false,
      "author_name": "National Geographic",
      "author_id": "6780344874811442181",
      "author_avatar": "https://p16-common-sign.tiktokcdn-eu.com/.../avatar.jpeg",
      "author_url": "https://www.tiktok.com/@natgeo",
      "cover": "https://p16-common-sign.tiktokcdn-eu.com/.../cover.jpeg",
      "dynamic_cover": "https://p16-common-sign.tiktokcdn-eu.com/.../dynamic_cover.webp",
      "origin_cover": "https://p16-common-sign.tiktokcdn-eu.com/.../origin_cover.jpeg",
      "video_url": "https://v19.tiktokcdn-eu.com/.../video.mp4",
      "video_url_watermarked": "https://v19.tiktokcdn-eu.com/.../video_wm.mp4",
      "size": 3008834,
      "size_watermarked": 0,
      "images": [],
      "music_url": "https://sf16-music.tiktokcdn-eu.com/.../music.mp3",
      "mentioned_user_ids": [
        "6763618106315375621"
      ]
    }
  ],
  "playlist_id": "7509464647364283178",
  "pages": 1,
  "count": 27
}