TikTok Scraper: Which Endpoint for Which Question?
Profiles, videos, comments and search are four jobs with four cost curves. And the creator arrives nested inside every post, which changes the design.

Copy this line to your agent to pull a TikTok creator's catalogue with engagement metrics.
set up https://monid.ai/SKILL.md and use apify /apidojo/tiktok-profile-scraper to pull a creator's post history
TikTok scraping is four jobs with four different cost curves, and the roundups price them as one. Profiles are bounded and cheap. Videos are bounded and dearer per row. Comments are unbounded and will surprise you. Search is unbounded and open-ended. Route each to the shape that matches its uncertainty and the bill stops being a question. This guide does that with a live response, running through Monid, the OpenRouter for agent tools.
What does a TikTok scraper actually return?
More than the roundups suggest, and the surprise is in what arrives attached to what.
One live record, field by field
Running apify/apidojo/tiktok-profile-scraper against a public account on 2026-08-27 returned records shaped like this: id, title, views, likes, comments, shares, bookmarks, a hashtags array, uploadedAt with a formatted twin, video, song, subtitleInformation, collabInfo, postPage, poi, and a nested channel object carrying the creator's id, name, username, bio and avatar.
Five of those are worth calling out because they are not obvious from any feature list.
bookmarks is saves, and it is the most underrated engagement signal on the platform. A video with modest likes and heavy saves is being kept for later, which is a different and often more commercially interesting behaviour than a like.
song is the audio track. Trend work on TikTok is frequently audio work, and having the track identified per post rather than inferring it from the caption is the difference between a real trend analysis and a guess.
poi is a point of interest, present when the post is tagged to a place. For anything local, that is a join key you did not expect to get.
subtitleInformation carries caption data, which is the cheapest route to what a video actually says without transcribing it yourself.
collabInfo flags collaborative posts, which otherwise show up as two creators' analytics disagreeing about the same video.
The channel arrives inside every video
That nested channel object is the structural point. Every video record carries the creator's identity and bio with it, so a catalogue pull gives you the creator dimension for free rather than as a second lookup.
This is the same pattern we found on the YouTube side, where subscriber count arrives on every video row and the official API charges a separate call for it. We wrote that up in YouTube Scraper: What the Data API Will Not Give You. It is worth knowing because it changes how you design the pull: you do not need a creators table populated first.
📖 See also Pull Any TikTok Profile or Video From One Endpoint
Why are profiles, videos and comments three different prices?
Because the number of rows you are asking for is knowable in one case and not in the others, and billing follows knowability.
A profile is bounded
You asked for one creator. The answer is one record, or one record plus a capped number of recent posts. The provider knows the size of the answer before running, you know it too, and per-call billing is the honest shape. This is the cheapest surface by a wide margin.
A catalogue is bounded but larger
A creator's post history is finite but you do not know its size in advance, and it can be hundreds of videos. Per-result billing is the honest shape here and the number that controls your bill is the cap you set, not the query. Running without a cap on a prolific account is the classic first mistake.
Comments are unbounded
One popular video can carry tens of thousands of comments. There is no natural stopping point and no way to know the count before you start. Comment endpoints bill per result for exactly this reason, and the discipline is to set a per-video cap before the first run rather than after the first invoice. The trade-offs there are worked through in TikTok Comment Scraper 2026: Buy vs Build.
Search is unbounded and open-ended
You asked what exists about a topic. Nobody knows. Search bills per result and the useful control is relevance filtering rather than volume, because the tail of a TikTok search degrades faster than the tail of a web search.
The four surfaces, side by side
| Surface | Size known in advance | Billing that fits | The knob that controls cost |
|---|---|---|---|
| Profile lookup | Yes, one | Per call | Number of creators |
| Creator catalogue | No, but finite | Per result | The cap you set |
| Comments | No, and large | Per result | Per-video cap |
| Search | No, open-ended | Per result | Relevance filter |
The pattern: the less you know about the size of the answer, the more the cap matters and the less the per-row price does.
How do you pull a creator's whole catalogue?
Three steps, two of them free.
For agents
Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:
set up https://monid.ai/SKILL.md
It learns the whole discover, inspect, run workflow itself. More in the agent quickstart.
For humans
npm install -g @monid-ai/cli
monid keys add -k <your-api-key> -l main
Step 1. Find the endpoint that matches the surface
What it does. Shows which providers cover which TikTok surface and how each bills, which is the real decision.
The endpoints. apify/apidojo/tiktok-profile-scraper for catalogues, apify/clockworks/tiktok-video-scraper for specific videos, tikhub analytics endpoints for per-call stats.
The call.
monid discover -q "tiktok profile and video data"
monid inspect -p apify -e /apidojo/tiktok-profile-scraper
What comes back. A ranked list with provider, price, billing shape and a verified flag, then the schema. Note the spread: the profile scraper and the video scraper differ by more than an order of magnitude per result, because they are doing different amounts of work.
What it costs. Nothing. Discovery and inspection never bill.
Step 2. Pull the catalogue, with the cap set first
What it does. Returns the creator's posts with engagement metrics and the channel attached.
The endpoints. apify/apidojo/tiktok-profile-scraper, billed per result.
The call.
monid run -p apify -e /apidojo/tiktok-profile-scraper -w -i '{
"startUrls": ["https://www.tiktok.com/@nasa"],
"maxItems": 50
}'
What comes back. The field set from the section above, one record per post, with channel nested in each.
What it costs. A small fraction of a cent per result, so a fifty-post pull is small change and a two-thousand-post pull is a decision. Set maxItems on the first run and raise it once you have seen the shape. Current figures at monid.ai/tools.
Step 3. Compute the baseline before you judge anything
What it does. Turns raw view counts into a signal, which is the only reason to pull a catalogue rather than a single video.
The call. No endpoint. The arithmetic that makes the data useful:
views = sorted(p["views"] for p in posts)
median = views[len(views) // 2]
outliers = [p for p in posts if p["views"] >= median * 5]
What comes back. The posts that genuinely outperformed this creator's own normal, rather than the posts with big absolute numbers. A million views on an account that averages two million is a failure, and no absolute threshold will tell you that.
This is why the catalogue matters more than the video. One video has no baseline, and a scraper that returns a single post cannot answer the question you actually had.
📖 See also I Pulled 10k TikTok Profiles Without Building a Scraper
Give this to your agent![]()
Set up https://monid.ai/SKILL.md, and then use Monid to pull the last 60 posts for these 12 tiktok handles, compute each creator's median views, and give me every post that beat its own creator's median by 5x with the hashtags and the song.What is the best API for TikTok data?
It depends on which of the four surfaces you need, and on one question the roundups never ask: do you want the official one.
The official Research API exists
TikTok publishes a Research API for academic and approved research use, with an application process and eligibility requirements. It is the correct answer if you qualify, because it is sanctioned access with a defined scope. It is not available for commercial product work, which is why almost every roundup skips it entirely and why most readers arrive at the unofficial options by elimination rather than by choice.
The unofficial providers split by shape, not by quality
Per-call providers are right for bounded lookups: a profile, a video's stats, an account's follower count. Per-result providers are right for unbounded pulls: catalogues, comments, search. Most vendors do both and price them differently, so the question "which vendor" matters less than "which endpoint", and running both shapes on one balance removes the question entirely.
There is a fuller vendor-by-vendor comparison, with measured costs on both sides, in Apify vs TikHub for TikTok Scraping, Priced Honestly, and the cross-platform version of the same sorting is in What Is the Best API for Social Media Scraping in 2026?.
What actually decides it
Coverage of the specific surface you need, tested on your own accounts rather than on a demo, and the billing shape matching the boundedness of your question. Everything else in the ranked lists is noise, and the lists disagree with each other because they are averaging four different products into one score.
Which endpoint should I use for which job?
| Endpoint | What it does | Input | Output | Best for | Billing |
|---|---|---|---|---|---|
apify/apidojo/tiktok-profile-scraper | Creator catalogue | Profile URLs | Posts with metrics and nested channel | Baselines and outlier work | Per result |
apify/clockworks/tiktok-video-scraper | Specific videos | Video URLs | Full metadata and engagement | You have the URLs | Per result |
apify/scraptik/tiktok-api | Mobile API surface | Varies by call | Users, videos, search | Mixed lookups | Per call |
tikhub video stats | Per-video statistics | A video id | Detailed stats | Bounded, high volume | Per call |
| TikTok Research API | Sanctioned research access | An approved application | Defined research fields | Academic work | Free, if eligible |
Every Monid row was verified with monid inspect on 2026-08-27. The table gives billing shape rather than figures; shape drives design and current numbers live on monid.ai/tools.
Worked through: a competitive scan of twelve creators at sixty posts each is roughly seven hundred rows on a per-result endpoint, which lands in small change. The same twelve creators' comment threads is an unbounded ask that can be two orders of magnitude larger. Same platform, same afternoon, and the difference is entirely which surface you chose.
When should you not scrape TikTok at all?
Three cases.
You qualify for the Research API. If your work is academic or otherwise eligible, apply. Sanctioned access with a defined scope beats an unofficial route on every axis that matters for publication, and the application cost is lower than the alternative's ongoing risk.
You need private or non-public data. Nothing here reaches it, nothing should, and the legal picture around logged-in access is materially different from public collection. We set out the four axes that actually decide that in Is Web Scraping Legal?.
Your question is about your own account. TikTok's own analytics and the business tools give you reach, audience and traffic-source data that was never rendered publicly and that no scraper can reconstruct. Use them.
There is also a case for a specialist over a catalog. If TikTok is your entire product and you need deep coverage of one surface at high volume, a vendor who does only TikTok will out-cover a generalist and will negotiate. Per-call access is optimised for the opposite shape: several platforms, unpredictable volume, no contract each.
And the disclosure: you are reading Monid's blog, we sell per-call access to tools, and the argument we make best is the mixed, bursty one. If you are pulling one surface at industrial volume, go direct and pay less.
Conclusion
There is no best TikTok scraper because there are four TikTok scraping jobs and they have different cost curves. Profiles are bounded and cheap, catalogues are finite and controlled by the cap you set, comments are unbounded and need a per-video limit decided in advance, and search is open-ended and controlled by relevance rather than volume. Choosing the endpoint that matches the boundedness of your question decides more than choosing the vendor.
The detail worth keeping is that the creator arrives inside every post record. That removes an entire lookup stage from the design and it makes the catalogue pull, rather than the single-video pull, the natural unit of work. Which is fortunate, because a single video has no baseline and the question you actually had was almost certainly a comparative one.
Free next step: run monid discover -q "tiktok profile and video data" and monid inspect the top two results. Both are free, and the per-result prices will differ by more than you expect, which is the whole lesson. Start at monid.ai.
FAQ
Does TikTok have an official API for research?
Yes, a Research API with an application process and eligibility requirements, aimed at academic and approved research use rather than commercial products. If you qualify it is the right answer and the application is worth the time, because sanctioned access with a defined field set removes an entire category of risk from published work. Most roundups omit it because most of their readers cannot use it, which is a reason to check your own eligibility rather than to assume.
How much does it cost to scrape TikTok comments?
More than people budget, because comments are the only unbounded surface here and a single popular video can carry tens of thousands. The controlling number is the per-video cap you set before the run, not the per-comment price, and the honest way to plan is to cap at a few hundred per video and check whether the sample answers your question before raising it. The build versus buy version of that decision is in TikTok Comment Scraper 2026.
Should I pass a TikTok handle or a video URL?
Depends on whether you have a baseline yet. A handle gets you the catalogue, which is what lets you compute what normal looks like for that creator and therefore what counts as a hit. A video URL gets you one row with no context, which is only useful when you already know the creator's median. Start from handles for research, use URLs when you are enriching a list somebody else produced, and there is a worked handle-first pipeline in From a TikTok Handle to a Full Dataset in One Script.
How do you track TikTok trends on a schedule?
Trends are a search-surface job rather than a profile job, so it bills per result and the discipline is a relevance filter plus a schedule rather than a big one-off pull. The audio track is usually the better trend key than the hashtag, which is why the song field in the response above matters. There is a full scheduled setup, including where to store yesterday's run so you can diff it, in How to Track TikTok Trends on a Schedule.
Last updated August 2026.


