Need to download TikTok videos programmatically? The TikTok downloader API from SocialHolmes returns a watermark-free MP4 download URL for any public TikTok video in under 200ms — no browser automation, no scraping, just a simple REST call.
Get your free API key at tik.socialholmes.com, then:
curl -H "Authorization: Bearer YOUR_API_KEY" "https://tik.socialholmes.com/api/v1/video/info?url=https://www.tiktok.com/@user/video/7123456789"
Response:
{
"code": 0,
"data": {
"play": "https://v19-webapp.tiktok.com/video/...",
"wmplay": "https://v19-webapp.tiktok.com/video/...",
"desc": "Video caption here",
"author": { "nickname": "Creator Name" },
"stats": { "play_count": 1200000, "like_count": 89000 }
}
}
The play field is the watermark-free download URL. The wmplay field is the version with the TikTok watermark.
import requests
API_KEY = "your_key"
headers = {"Authorization": f"Bearer {API_KEY}"}
video_urls = [
"https://www.tiktok.com/@user1/video/111",
"https://www.tiktok.com/@user2/video/222",
"https://www.tiktok.com/@user3/video/333",
]
for url in video_urls:
r = requests.get(
"https://tik.socialholmes.com/api/v1/video/info",
headers=headers,
params={"url": url}
)
download_url = r.json()["data"]["play"]
print(f"Download URL: {download_url}")
const axios = require("axios");
const API_KEY = "your_key";
async function getTikTokVideo(url) {
const { data } = await axios.get("https://tik.socialholmes.com/api/v1/video/info", {
headers: { Authorization: `Bearer ${API_KEY}` },
params: { url }
});
return data.data.play; // watermark-free MP4 URL
}
getTikTokVideo("https://www.tiktok.com/@user/video/123")
.then(url => console.log("Download URL:", url));
The free plan is enough for small projects. For bulk downloads at scale, the Pro plan ($29/mo) gives you 60 requests/minute and 100,000 requests/month.
100 requests/day free. No credit card required. Instant API key.
Get your free API keyWe currently support TikTok. Which platforms would you like us to add?
Thanks! Your feedback helps us build the right thing next.