Every other "official API" guide on the web tells you to go register an app. For TikTok that advice quietly fails, because TikTok's two public APIs are built for purposes that have nothing to do with reading data at scale. Before you waste a week on an approval form, here's what each one actually does — and why scraping the public app is the only path to video, profile and hashtag data for almost everyone.
The three doors, and which are locked
Research API
Gated to approved academic and non-profit researchers, usually tied to a verified institution and a stated research aim. Quotas and usage restrictions apply. Marketers and most devs never get in.
Content Posting API
Write-only. It publishes or schedules content to an account your app is authorized for. It returns nothing about other people's public videos or profiles.
Scraping the public app
The public web and app surfaces expose video, profile and hashtag data to anyone viewing them. That's the only door that fits research, discovery and competitive work.
So the real decision isn't "API or scraping." It's "do you happen to be an approved academic researcher?" If not, you're scraping — and the next thing to understand is why TikTok is one of the hardest targets on the public web.
The anti-bot reality — this is not a static HTML site
TikTok defends its surfaces harder than almost any consumer site. If you try to roll your own scraper, here's the wall you hit, roughly in order:
- Signed request parameters. Internal endpoints expect device- and session-derived signatures that change and are obfuscated. Replaying a captured request from yesterday returns errors today.
- Aggressive IP reputation checks. Datacenter ranges get challenged or fed empty payloads almost immediately. You need residential or mobile egress to look like a real viewer.
- Rendered, not served. Engagement counts are hydrated by client-side JavaScript, so a naive HTML fetch returns a shell with no numbers in it.
- Shifting internal schema. Field names and payload shapes move without notice, so hand-written parsers rot fast.
This is exactly the work a maintained actor absorbs: rotating residential proxies, request signing kept current, headless rendering, and parser upkeep. You send a username or hashtag; you get clean JSON back, and you don't get paged at 2 a.m. because TikTok shipped a change.
Three things you can scrape, and what each is for
By profile
A handle's account stats — followerCount, followingCount, heartCount (total likes), videoCount, bio, verified flag — plus a feed of their recent videos. This is the backbone of influencer vetting: you can't judge a creator without their follower base to divide engagement against.
By hashtag or keyword
Videos under a tag or matching a search term. This is your trend-discovery surface: pull the videos riding a hashtag, sort by recency or play count, and watch what's accelerating. Pair it with the sound/music ID to catch trends that travel by audio rather than tag.
By video URL
Deep stats for specific posts you already care about — your own, a competitor's, a campaign's. This is the measurement surface for benchmarking content performance.
The engagement fields that matter
| Field | What it is | Why you care |
|---|---|---|
playCount | Total views on the video | Reach. The denominator for most ratios. |
diggCount | Likes (TikTok's internal name) | The core of engagement rate. |
commentCount | Comments on the video | Depth of engagement; conversation signal. |
shareCount | Shares / sends | Virality signal — shares spread reach. |
collectCount | Saves, where exposed | Intent and re-watch value. |
musicId + musicTitle | The sound used | Audio-driven trend tracking. |
createTime | Unix timestamp of post | Freshness and time-series analysis. |
A worked example — finding real micro-influencers, not vanity accounts
Follower count alone lies; plenty of large accounts get dead engagement. The number that matters is engagement rate. Here's the pipeline to surface creators worth a partnership pitch:
- Scrape by hashtag in your niche (say
#smallbusiness) to collect a pool of recent videos and their authors. - Scrape each author's profile to get
followerCount. - Compute engagement rate per video:
(diggCount + commentCount + shareCount) / playCount, and audience rate against followers. - Filter to the 5k–80k follower band with engagement above your niche median — the micro-creators who actually move audiences and are reachable.
- Export handle, followers, mean engagement rate and a sample video link to a CSV your outreach team works from.
That's a defensible shortlist, built from data the official APIs would never have handed you.
Running it as an API call
curl -X POST "https://api.apify.com/v2/acts/renzomacar~tiktok-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"hashtags": ["smallbusiness"],
"resultsPerPage": 100,
"scrapeAuthorStats": true,
"shouldDownloadVideos": false
}'
You get one JSON object per video with the engagement fields above and, with scrapeAuthorStats on, the author's follower data attached so you can compute rates without a second pass. Append &format=csv for a flat file.
Gotchas to plan around
- Counts are point-in-time. A video's
playCountkeeps climbing. If you're tracking growth, re-scrape on a schedule and store snapshots with timestamps rather than treating one pull as final. - Don't download videos unless you need them. Pulling the media files is slow and storage-heavy. Keep
shouldDownloadVideosoff when you only need metrics. - Private and region-locked content won't appear. You only get what a public viewer in the actor's region can see — that's a feature, not a bug.
- Keep it to aggregate analysis. Trends, benchmarks and creator discovery are fair game; building profiles of private individuals for targeting is not. Stay on the public-metrics side.
Get TikTok video, profile and hashtag data — no approval wall
Our maintained TikTok Scraper handles the request signing, residential proxies and rendering, and returns play, like, comment and share counts plus author stats as clean JSON or CSV. Free Apify credits to start.
Get the TikTok Scraper → Or get done-for-you leadsDisclosure: the links to Apify on this page are affiliate links. If you create a paid account through them we may earn a commission, at no extra cost to you. We recommend Apify because we build and ship the TikTok Scraper on it ourselves.