Paste a link
A post or video link.
Paste a TikTok link. Get the video file.
A post or video link.
The media link comes back with the post.
Save the video or the images, or request them from the API.
Paste a link and get the file. No signup and nothing to install.
The media link is the one the post already exposes.
Keep a copy of a post you can already watch.
Download the video and open it in an editor.
Store the file before the link expires.
The same media link is one API request.
1curl -G "https://api.socialscrape.dev/v1/tiktok/video" \2 -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3 --data-urlencode "url=https://www.tiktok.com/@khaby.lame/video/7137423965982592302"1import os2import requests34params = {5 "url": "https://www.tiktok.com/@khaby.lame/video/7137423965982592302",6}7res = requests.get(8 "https://api.socialscrape.dev/v1/tiktok/video",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/video");2url.search = new URLSearchParams({3 "url": "https://www.tiktok.com/@khaby.lame/video/7137423965982592302"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}{ "ok": true, "credits_charged": 1, "credits_remaining": 4999, "cached": false, "cached_at": null, "request_id": "req_3ab8d8ed45508298004ebe2e", "data": { "object": "post", "platform": "tiktok", "id": "7137423965982592302", "url": "https://www.tiktok.com/@charlidamelio/video/7137423965982592302", "type": "video", "author": { "id": "5831967", "handle": "charlidamelio", "name": "charli d’amelio", "url": "https://www.tiktok.com/@charlidamelio", "avatar_url": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ee31de49ddf64b45c5b2e3c55fbd0ea4~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=276d5eb7&x-expires=1793498400&x-signature=BHW4ihhCJIG2Qlp4K4ENUsq9tAM%3D&t=4d5b0474...", "verified": true }, "title": null, "text": null, "published_at": "2022-08-29T22:10:18Z", "duration_seconds": 11, "language": null, "hashtags": null, "mentions": null, "stats": { "views": 22000000, "likes": 2100000, "comments": 19500, "shares": 17300, "saves": 83186, "dislikes": null }, "media": { "thumbnail_url": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/c1844bce7c5a4b07b0e4ae2301a1996a~tplv-tiktokx-origin.image?dr=9636&x-expires=1793498400&x-signature=VJp6FMqZSTXhVeS62gXUxGJ%2ByFk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f...", "video_url": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast5/tos-useast5-ve-0068c001-tx/0641e3a6387a49e4a2c8c4de2c457fe8/?a=1988&bti=ODszNWYuMDE6&&bt=1991&ft=4KJMyMzm8Zmo0FASla4jV-OhQpWrKsd.&mime_type=video_mp4&rc=ZmhlZGY8NTQ0OWk8ZWQ8O0BpM2w8N2...", "audio_url": null, "image_urls": null, "width": 576, "height": 1024 }, "song": { "id": "7090403288818584347", "title": "Streets x Kiss it better", "artist": ":p", "url": "https://www.tiktok.com/music/Streets-x-Kiss-it-better-7090403288818584347" }, "location": null, "is_pinned": null, "is_sponsored": false, "extra": { "ai_label_shown": false, "author_followers": 160300000, "category_type": 113, "comments_disabled": false, "duet_enabled": true, "is_private": false, "music_is_original": true, "reposts": 0, "stitch_enabled": true, "video_definition": "540p" } }, "cursor": null, "has_more": null }
We add none. The file is whatever TikTok serves for that video.
Downloading does not give you the rights to it. Use videos you made, or have permission to use.
Media addresses are time limited and some are served once. Run the lookup again for a fresh one.
Yes. No account and no card. Each visitor gets a limited number of lookups an hour, so it stays free for everyone.
Send GET /v1/tiktok/video with your key in the x-api-key header. A request costs 1 credit. A repeat of something fetched recently costs 0 credits, and failed requests are free. See the reference.