tiktok-downloader
Download TikTok videos without watermark and extract MP3 audio via the TikTok Video Downloader API on RapidAPI. Give it any TikTok URL (www.tiktok.com, vm.tiktok.com, vt.tiktok.com…
WangSirMe
@wangsirme
Install
$ openclaw skills install @wangsirme/tiktok-downloaderTikTok Downloader (No Watermark)
Resolve any public TikTok video URL into metadata and direct download links: no-watermark MP4 (HD/SD tiers), watermarked MP4, or MP3 audio-only.
When to use
The user shares a TikTok link (www.tiktok.com/@user/video/{id},
vm.tiktok.com/{code}, vt.tiktok.com/{code}, m.tiktok.com/v/{id}.html)
and wants to download the video — typically without the watermark — or extract
its audio. Short links are resolved automatically server-side.
Setup (once)
- Subscribe at https://rapidapi.com/fwelljson/api/tiktok-video-download-no-watermark2 (free BASIC plan: 10 requests/month; paid plans for more).
- Copy your key from the RapidAPI dashboard and export it:
export RAPIDAPI_KEY="your-rapidapi-key"
Parse a URL
curl -s -X POST "https://tiktok-video-download-no-watermark2.p.rapidapi.com/api/v2/parse" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: tiktok-video-download-no-watermark2.p.rapidapi.com" \
-d '{"url":"https://www.tiktok.com/@scout2015/video/6718335390845095173"}'
Every response is HTTP 200 — branch on the body success field, never on the
HTTP status code.
Success:
{
"success": true,
"data": {
"id": "6718335390845095173",
"title": "Cat does a backflip",
"author": "scout2015",
"author_name": "Scout",
"thumbnail": "https://.../cover.jpeg",
"duration": 14,
"filename": "tiktok_6718335390845095173",
"stats": { "plays": "1.2M", "likes": "340K" },
"downloads": [
{ "type": "no_watermark_hd", "quality": "HD", "ext": "mp4", "size": "8.1 MB", "url": "https://cdn.../video.mp4" },
{ "type": "no_watermark", "quality": "SD", "ext": "mp4", "size": "2.4 MB", "url": "https://cdn.../video.mp4" },
{ "type": "mp3", "quality": "128kbps", "ext": "mp3", "url": "https://cdn.../audio.mp3" }
]
}
}
Failure:
{ "success": false, "error": { "code": "VIDEO_PRIVATE", "message": "This video is private and can’t be downloaded." } }
Download the file
Pick the best entry from downloads[] — prefer no_watermark_hd >
no_watermark > watermark; use mp3 when the user wants audio only — then
fetch it directly. CDN links need no headers or cookies:
curl -L -o "tiktok_6718335390845095173.mp4" "https://cdn.../video.mp4"
Suggested filename is data.filename + . + ext. Download promptly — CDN
links have a limited lifetime.
Error codes
| code | meaning / action |
|---|---|
INVALID_URL | Not a TikTok URL — check the link. |
VIDEO_NOT_FOUND | Deleted or nonexistent video. |
VIDEO_PRIVATE | Private / age-restricted; cannot be downloaded. |
UNSUPPORTED_MEDIA | Resolved but not a downloadable video (e.g. a photo post). |
RATE_LIMITED | Plan quota or burst limit hit — wait (see Retry-After header), or suggest upgrading the RapidAPI plan. |
UPSTREAM_ERROR | TikTok-side failure — retry once after ~30 s. |
INTERNAL_ERROR | Unexpected server error — retry once. |
Notes
- One request per video: metadata and all download links come back together.
- Quotas are enforced by RapidAPI per subscription plan (BASIC free 10/month, PRO 10,000/month, ULTRA unlimited).
- Never log, echo, or embed the
RAPIDAPI_KEYvalue anywhere.
Top skills in this category
Nano Banana Pro
@steipeteGenerate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
AdMapix
@fly0pantsAdMapix raw data layer for ad creatives, apps, rankings, downloads/revenue, and market metadata. Returns structured JSON from the AdMapix API; the calling ag...
YouTube Watcher
@michaelgatharaFetch and read transcripts from YouTube videos. Use when you need to summarize a video, answer questions about its content, or extract information from it.
SuperDesign
@mpociotExpert frontend design guidelines for creating beautiful, modern UIs. Use when building landing pages, dashboards, or any user interface.
Video Frames
@steipeteExtract frames or short clips from videos using ffmpeg.