The TikTok Research API is the only official way to read any public TikTok account: its videos, comments, followers and liked videos. It’s for non-commercial research by universities in the US, Europe and Canada, EU not-for-profits and Brazilian youth-safety researchers. TikTok’s own FAQ asks whether creators, advertisers and commercial users can get it, and answers “No.”
Academics can apply, and TikTok usually replies within four weeks. A company tracking competitors, vetting creators or building a product on TikTok data has no official API for accounts it doesn’t own. LurkAPI’s TikTok endpoints read those accounts’ public tiktok.com pages and return them as JSON, with one API key, at 1 credit a call.
Any public account’s videos, comments and followers
Research API
The profile and videos of users who sign in to your app
Display API
Ads shown in the EU, EEA, UK and Switzerland
Commercial Content API
Your own ad campaigns and reports
Marketing API
Your own shop’s orders and products
TikTok Shop Partner API
Another brand’s or creator’s videos, comments and stats, for a business
No official API
Researchers get in after a review of about four weeks
You need to work at an eligible institution in an eligible country: a university in the US, the EEA, the UK, Canada or Switzerland, a youth-safety study in Brazil, or an EU not-for-profit, which gets TikTok’s Virtual Compute Environment (your script runs on TikTok’s servers) instead of the API. You apply from your university email with a research proposal, your funding and evidence of an ethics review.
Even approved, the Research API runs up to two days behind
Video search doesn’t read TikTok as it is right now. TikTok says new videos take up to 48 hours to reach the search index, and view and follower counts up to 10 days to update. Only the user info call reads live data.
That window is when a video’s numbers move fastest. After one day, a TikTok typically has about 40% of the views the creator’s videos usually end up with, and 75% after a week. By the time a new video is searchable, much of its launch is over.
Each video search covers at most 30 days, so a year of one hashtag takes 13 separate searches. The quota is 1,000 requests a day at up to 100 records each, reset at midnight UTC, and TikTok says it “can’t grant exceptions.”
A TikTok API key reads only accounts that sign in to your app
Apart from the Research and Commercial Content APIs, TikTok for Developers gives each app a client key and secret that read nothing on their own. Every call needs a token from a user who signed in to your app with Login Kit and granted it access. The Display API then returns that user’s profile, counts and public videos.
App review takes several days to two weeks, and TikTok’s review rules say “Apps must not be for private or personal use” and “Apps that are still in development or testing will not be approved.” You also need a public website with a privacy policy and terms, and a demo video of the full flow. An internal dashboard that tracks other brands fails twice: it’s private, and the accounts it wants never signed in.
For accounts you don’t own, one request returns the public page
LurkAPI reads public tiktok.com pages, the ones anyone sees logged out, and returns them as JSON. There’s no app to review and nobody has to sign in: send a handle with your API key and pay 1 credit a call ($0.59 to $0.93 per 1,000).
Profile gives exact counts where the page rounds them, like @tiktok’s 96.1M followers. Profile videos returns up to 15 posts a page, newest first, and the newest comes back minutes after it goes up: the kind of post the Research API’s search can miss for two days.
API=https://api.lurkapi.com curl -G $API/v1/tiktok/profile \--data-urlencode "handle=tiktok" \-H "x-api-key: $LURK_KEY" curl -G $API/v3/tiktok/profile/videos \--data-urlencode "handle=tiktok" \-H "x-api-key: $LURK_KEY"Both responses, trimmed
{"success": true,"credits_charged": 1,"user": {"uniqueId": "tiktok","nickname": "TikTok","signature": "Your next discovery is waiting on TikTok.","verified": true,"privateAccount": false,"bioLink": "tiktok.com/discovermore","isOrganization": true},"stats": {"followerCount": 96146558,"followingCount": 1,"heartCount": 465284863,"videoCount": 1512}}{"success": true,"credits_charged": 1,"videos": [{"id": "7694797676306615583","url": "https://www.tiktok.com/@tiktok/video/7694797676306615583","desc": "this summer gave us pop songs, glam routines, and a few main-character habits. …","createTime": 1791584711,"stats": {"playCount": 12200,"diggCount": 349,"commentCount": 55,"shareCount": 14,"collectCount": 13}},{"id": "7694307066965396766","url": "https://www.tiktok.com/@tiktok/video/7694307066965396766","desc": "@Adam Barrera captures what made this summer feel straight out of the 2000s","createTime": 1791470488,"stats": {"playCount": 109900,"diggCount": 2168,"commentCount": 678,"shareCount": 157,"collectCount": 186}}],"has_more": true,"max_cursor": "1788307387000"}The same key reads comments and their replies, transcripts, hashtag and sound feeds, TikTok Shop products and the EU ad library: 17 TikTok endpoints in all. Private accounts return the profile with privateAccount: true and no videos.
To try it without writing code, the free TikTok transcript generator and TikTok comment viewer run on the same endpoints.



