Skip to content
ShortVid API
Video Parser Guide · 1080p HD6 min read·Updated 2026-10-29

How to Get TikTok Video Metadata & 1080p No-Watermark MP4 via API

Extract complete video metadata, play/digg/comment/share counts, author profile, sound track, photo mode image slides, and direct 1080p HD unwatermarked video streams in a single GET request.

$0.20 / 1K Videos · $0.10 / 1K Comments & Followers · No OAuth Needed

Instant Quickstart · Copy & Run in 30 Seconds

Get Video Detail & 1080p HD Stream (GET /v1/videos/detail)

Execute in Live Playground →
import requests

API_KEY = "tk_your_api_key_here"
VIDEO_URL = "https://www.tiktok.com/@tiktok/video/7231338487075638570"

# 1. Fetch video metadata & direct CDN links
res = requests.get(
    "https://api.shortvidapi.com/v1/videos/detail",
    params={"url": VIDEO_URL, "hd": 1},
    headers={"x-api-key": API_KEY},
    timeout=20,
)
res.raise_for_status()
body = res.json()

if body["code"] != 0:
    raise RuntimeError(f"Lookup failed (not charged): {body.get('msg')}")

video = body["data"]
mp4_url = video.get("hdplay") or video.get("play")
print(f"Title: {video['title']}")
print(f"Views: {video['play_count']:,} | Likes: {video['digg_count']:,} | Shares: {video['share_count']:,}")
print(f"1080p No-Watermark Stream: {mp4_url}")

# 2. Optional: Stream MP4 binary to disk for AI transcription / computer vision
with requests.get(mp4_url, stream=True, timeout=30) as r_mp4:
    r_mp4.raise_for_status()
    with open(f"{video['id']}.mp4", "wb") as f:
        for chunk in r_mp4.iter_content(chunk_size=65536):
            f.write(chunk)

Key Engineering Takeaways (TL;DR)

  • ✓Pass any TikTok full URL (tiktok.com/@user/video/123), short share link (vm.tiktok.com / vt.tiktok.com), or raw numeric video ID to GET /v1/videos/detail (or /v1/video/detail).
  • ✓Set hd=1 (enabled by default) to receive both the fast standard unwatermarked stream (data.play) and the 1080p original HD stream (data.hdplay).
  • ✓For TikTok Photo Mode (carousel posts), the endpoint automatically populates data.images[] with full-resolution unwatermarked image URLs alongside the background audio track.
  • ✓Each successful video lookup costs a flat 10 Credits ($0.001 base, or $0.0004 on Business Monthly). Invalid URLs or deleted videos return code != 0 and cost 0 Credits.

1. Supported TikTok Video URL & ID Formats

You do not need to pre-resolve short links or strip query parameters before calling the API. The gateway normalizes all TikTok link formats automatically.

Supported input formats for the url parameter on GET /v1/videos/detail
Input FormatExample ValueSupported
Standard Desktop URLhttps://www.tiktok.com/@tiktok/video/7231338487075638570Yes
Photo Mode Carousel URLhttps://www.tiktok.com/@creator/photo/7349182736451928374Yes (returns data.images[])
Mobile Short Share Linkhttps://vm.tiktok.com/ZM2abc123/ or https://vt.tiktok.com/ZS8xyz/Yes (auto-resolved)
Raw 64-Bit Video ID7231338487075638570Yes

2. Code Examples: Get Video Metadata & Download 1080p MP4

Below are complete, copy-pasteable examples in cURL, Python, and TypeScript/Node.js that fetch a TikTok video's metadata and stream the 1080p unwatermarked MP4 file.

Get Video Detail & 1080p HD Stream (GET /v1/videos/detail)

Pass url and hd=1. Check payload.code === 0, then read data.hdplay (1080p) or data.play (720p fast CDN).

curl -sS "https://api.shortvidapi.com/v1/videos/detail?url=https://www.tiktok.com/@tiktok/video/7231338487075638570&hd=1" \
  -H "x-api-key: tk_your_api_key_here"

3. Video Response Schema & Field Reference

Every video object returned by /v1/videos/detail, /v1/videos/search, and /v1/users/videos includes the following normalized fields:

Key fields in the TikTok video response object (data)
Field PathTypeDescription
data.idstring64-bit TikTok video ID serialized as a string to prevent IEEE-754 precision loss.
data.titlestringFull video caption including hashtags (#fyp) and @mentions.
data.playstring (URL)Direct CDN link to the 720p no-watermark MP4 video stream.
data.hdplaystring (URL)Direct CDN link to the 1080p original HD no-watermark MP4 stream (when hd=1).
data.imagesstring[] | undefinedPresent on Photo Mode carousel posts: array of full-resolution image slide URLs.
data.play_countintegerTotal video views / impressions.
data.digg_countintegerTotal like (heart) count.
data.comment_countintegerTotal comment count.
data.share_countintegerTotal share count.
data.collect_countintegerTotal bookmark / favorite count.
data.create_timeintegerUnix epoch timestamp (seconds) when the video was published.
data.authorobjectCreator summary object (id, unique_id, nickname, avatar).
data.music_infoobjectSound track metadata including direct MP3 stream (music_info.play).

Interactive Engineering Workbench · GET /v1/video/detail

Verify real-time latency, pagination math & JSON schema

5,000 videos/day
10,000 comments/day
20,000 followers/day
Our HTTP Calls/Day
452
Large page sizes
Legacy Provider Calls
1,334
30-item small pages
Official Research API
Within 1K Cap
1,000 req/day limit
Estimated Monthly Pipeline Cost (30 Days)
$72.73/ mo with Business bonus ($120.00 base rate)
Daily consumption: 40,000 Credits ($4.00/day)
ShortVid API (with volume bonus):$72.73 / mo
Legacy Scrapers ($1.50 / 1K calls):$60.03 / mo
Failed / 404 request fee:$0.00 (0 Credits)

Frequently Asked Questions

How long do the returned CDN video URLs (data.play / data.hdplay) remain valid?
TikTok CDN signed URLs typically include an x-expires parameter valid for 4 to 24 hours. If you are building an archive or AI training dataset, download the MP4 binary or audio stream to your own S3/R2 bucket rather than storing the temporary CDN URL indefinitely.
How do I detect whether a TikTok URL is a video or a Photo Mode image carousel?
Check Array.isArray(data.images) && data.images.length > 0. For photo carousels, data.images contains the unwatermarked slide images and data.play / data.music_info.play contains the background audio track.
Am I charged if a user passes an invalid URL or a deleted/private TikTok video?
Never. If a video is private, deleted, or malformed, the API returns code: -1 and x-credits-cost: 0.

More engineering guides

View all guides →

Architecture Guide · 2026

Unofficial TikTok API vs Official TikTok API: Complete 2026 Developer Guide

8 min read →

Search & Discovery Guide

TikTok Search API Guide: Search Videos, Creators & Commercial Ads by Keyword

7 min read →

Pricing & Cost Analysis · 2026

TikAPI Pricing Breakdown (2026): Real Cost per 1,000 Videos & Pay-As-You-Go Comparison

6 min read →

Troubleshooting · HTTP Error 403 & WAF Fix

Fix TikTok HTTP Error 403 ("Access to www.tiktok.com Was Denied") — Working Python & API Bypass

8 min read →

Ad Intelligence Tutorial

TikTok Ads Library & Creative Center API: Scrape Winning Ads, CTR & Keywords

8 min read →

Social Listening Tutorial

TikTok Comments & Replies Scraper API: Extract Threads at $0.10/1K

7 min read →

Creator & Follower Graph Guide

TikTok Profile & Followers Scraper API: Fetch User Data, Videos & 200-Item Follower Lists

8 min read →

Analytics & Python SDK · 2026

TikTok Analytics API & Python Guide: Creator Engagement, Video Velocity & Studio Metrics

8 min read →

Creator Discovery · 2026

TikTok Influencer Search API: Find Creators by Niche & Follower Tier

8 min read →

Lead Generation · 2026

How to Extract Creator Emails & Bio Leads from TikTok via API (Python & Node.js)

7 min read →

Trend Intelligence · 2026

TikTok Hashtag, Sound & Viral Trends API: Track Breakout Topics in Real Time

8 min read →

No-Code & AI Workflows · 2026

n8n & Make.com TikTok API Integration: Automate Video & Creator Workflows

7 min read →

E-Commerce & Affiliates · 2026

TikTok Shop Affiliate & E-Commerce Product Intelligence via API

8 min read →

Official API Architecture · 2026

TikTok Research API: Academic Eligibility, 1,000/Day Quota & Commercial REST Endpoints

8 min read →

OAuth & Scopes Reference · 2026

TikTok Display API: OAuth 2.0 Scopes, Limitations & How to Fetch Public Profiles

6 min read →

Python SDK & Asyncio Hub · 2026

Python TikTok API Tutorial (2026): requests, asyncio & Why Playwright Libraries Break

9 min read →

Scraper Architecture · $0.20/1K Videos

TikTok Scraper API: Extract Public Videos, Profiles, Comments & Ads at Scale

8 min read →