TikTok API
Scrape TikTok videos by keyword, hashtag, profile or sound, and find creator profiles by keyword. Get views, likes, comments, shares, captions, hashtags, music, country code and author ID, bio and followers. No login or cookies needed. Export to JSON, CSV or Excel.
TikTok API in one table
| Official public API for people outside China | No. This tool collects the publicly visible data instead. |
|---|---|
| What you send | A keyword, a link or an ID, depending on the request type |
| What you get back | JSON rows with English field names; 21 request types |
| Login, cookies, Chinese phone number | None needed |
| Output formats | JSON, CSV, Excel, or the Apify API |
| Price | $0.003 per result on the Bronze tier, no subscription |
| Last verified with a real run | 2026-11-09 |
21 kinds of TikTok request
- Search videos by keyword
- Videos of a hashtag
- Videos of a profile
- Search profiles by keyword
- Videos using a sound
- Video details
- Profile details
- Comments of a video
- Followers of a profile
- Accounts a profile follows
- Search suggestions for a keyword
- Video analytics and fake-view check
- Videos a profile reposted
- Videos in a profile's playlists
- Profiles similar to a profile
- Search sounds by keyword
- Search photo posts by keyword
- Search places by keyword
- Explore videos by category
- Sounds of a profile
- AI article of a video
A real run, 38 fields per record
Run on 2026-10-27 with input {"mode": "search", "keywords": ["air fryer recipes"], "sortType": "most-liked", "publishTime": "month", "maxResults": 3}. Personal fields of ordinary users are masked here.
| musicTitle | keyword | textLanguage | description | createdAt | durationSeconds |
|---|---|---|---|---|---|
| Talk of the Town | air fryer recipes | en | cheeseburger wraps 🌯🍔 ingredients you’ll need: 1 small on... | 2026-09-30T14:48:57Z | 60.8 |
| Never Gonna Give You Up - Remastered 2022 | air fryer recipes | en | 🌮 NO-DOUGH CHEESE TACOS! These crispy corn wraps are SO g... | 2026-08-28T15:33:33Z | 30.7 |
All 38 fields in one record
typevideovideoId7691340241692658975urldescriptioncheeseburger wraps 🌯🍔 ingredients you’ll need: 1 small on...hashtagscreatedAt2026-09-30T14:48:57ZdurationSeconds60.8playCount23061505likeCount2579458commentCount3110shareCount389502collectCount751833downloadCount7080authorHandleauthorNameauthorFollowerCountauthorVerifiedauthorIdauthorSecUidauthorAvatarUrlauthorBioauthorRegionmusicTitleTalk of the TownmusicAuthorcoverUrlhttps://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-00...videoUrlhttps://v16m.tiktokcdn-us.com/107157026fc2c426a714f2b461e...textLanguageenisPinnedisSlideshowmentionswidth720height1280musicId7055417725014771714musicOriginalauthorFollowingCountisPaidContentisAdkeywordair fryer recipes
Call the TikTok API
Every run is one HTTP call: send the input as JSON, get the rows back. The same works from Make, Zapier or n8n.
Pay per result
Bronze tier prices from the tool's listing; higher Apify tiers pay less. Free Apify users get two trial runs with their own input.
Full price table and worked examples
The Actor uses pay-per-event pricing. You pay for these events:
| Event | Price | When it is charged |
|---|---|---|
Start fee (run-start) |
$0.00005 | For each keyword, hashtag, profile, sound or category you give it, and for each video (comments), profile (followers, following) or keyword (keywordSuggest) in those modes. In videoDetail, profile and videoAnalytics it is charged once per run, not per input. The first one is charged when the first request succeeds, even if that request returns nothing. Each further one is charged before that input's first request and is kept even if that input then fails or returns nothing. |
Result (result) |
$0.003 | For each video or profile-search record returned (search, hashtag, userPosts, userSearch, music, userReposts, userPlaylists, similarUsers, soundSearch, photoSearch, userSounds) and each videoAnalytics record. |
Detail (detail) |
$0.002 | For each videoDetail record, profile record and keywordSuggest suggestion, and for each aiArticle, creatorMilestones and profileCountry record, each sound detail record (includeSoundDetail, only when the details are delivered). |
Lite (lite) |
$0.001 | For each comment or reply (comments), follower (followers) and followed account (following; also each match of a searchKeyword search), place (placeSearch) and explore video (explore). |
Audit (audit) |
$0.03 | For each fake-view score (includeFakeViewScore); only charged when a score is delivered. |
The start fee is not charged when the run fails from the start or rejects the inputs, or when your spending limit cannot cover it.
Worked examples:
- 100 videos for one keyword cost $0.00005 + 100 x $0.003 = $0.30005.
- 3 hashtags with 100 videos each cost 3 x $0.00005 + 300 x $0.003 = $0.90015.
- 20 videos from one profile cost $0.00005 + 20 x $0.003 = $0.06005.
- 500 comments of one video cost $0.00005 + 500 x $0.001 = $0.50005.
- 60 reposts of one profile cost $0.00005 + 60 x $0.003 = $0.18005.
- 100 explore videos of one category cost $0.00005 + 100 x $0.001 = $0.10005.
- Details of 10 videos cost $0.00005 + 10 x $0.002 = $0.02005 (one start fee for the whole run).
- Analytics with a fake-view check for one video cost $0.00005 + $0.003 + $0.03 = $0.03305.
On the free Apify plan you get 2 free trial runs of this Actor with your own input, up to 10 results each, and nothing is charged; after that, runs return a stored sample dataset (a real result of the prefilled input). Use any paid Apify plan for full runs.
The search filters (sort by relevance, most liked or latest, and limit to the last day, week, month, 3 or 6 months) cost nothing extra per video. You never pay for more than maxResults items per keyword, hashtag, profile or sound, and the run stops by itself if your spending limit is reached. The price of each event is also shown on the Actor page.
A keyword with no matches, a hashtag or sound that does not exist, or a profile with no public videos returns nothing but still costs its start fee, because the request was made. You are never charged for items the Actor did not deliver. If a run fails from the start, nothing is charged; a start fee already paid is not refunded.
TikTok API questions
Do I need a TikTok account or login?
No. No TikTok account, API keys, proxies or cookies are needed.
Is it legal to scrape TikTok?
The Actor returns only public content: the video, its numbers and the author's public profile (@handle, display name, ID, profile picture, bio, country code of the video, follower count). It does not return private messages. Commenters, followers and followed accounts come with the public profile fields TikTok shows next to them. The bio is returned as published, including any business contact info the creator put there. You are responsible for how you use the data and for following the laws that apply to you.
How fresh is the data?
The data is read live during the run. Views, likes and follower counts are what TikTok shows at that moment.
Why are some fields empty?
Most fields TikTok does not send are `null`; lists such as `hashtags` and `mentions` are empty `[]`. Search results don't carry the author's bio, and profile search results usually have no bio and no country code. Run `userPosts` on a handle to get the bio.
How many results can I get?
Up to 1,000 items per keyword, hashtag, profile or sound, set with `maxResults`, for up to 50 inputs per run. Search and profile search can end earlier when TikTok runs out of new results.
Does it scrape TikTok comments?
Yes, with mode `comments`: comments, and optionally the replies of comments that have 3 or more, with the commenter's public profile fields.