Social & video
TikTok Scraper
tiktok.com
TikTok ships the whole payload in the page itself: a profile URL carries the follower, following, like and video counts, and a video URL carries plays, likes, comments, shares and saves. That means no browser and no rendering wait - calls come back in about a second and a half. What does go wrong is TikTok answering with something other than the page: a login wall, a WAF challenge, or the notice it serves to exits landing in Hong Kong, where it no longer operates. All of them arrive as a normal 200, so we match them explicitly and draw a different exit rather than handing the interstitial back as content. Add `parsed_data=true` to get all of it as JSON, with the exact counts: TikTok publishes each number twice, rounded for display and precise underneath, and we return the precise one.
What you can extract
- Creator profile: handle, display name, bio, verified badge
- Follower, following, total likes and video counts
- Per-video plays, likes, comments, shares and saves
- Video description, author and publish timestamp
- Creator avatar URL and numeric account id
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.tiktok.com%2F%40nasa&parsed_data=true"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/getPageSource",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://www.tiktok.com/@nasa", "parsed_data": True},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.getPageSource({
url: 'https://www.tiktok.com/@nasa',
parsedData: true,
});
console.log(results); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.