Tiktok Trending Videos Scraper
Pricing
$19.99/month + usage
Tiktok Trending Videos Scraper
TikTok Trending Videos Scraper collects data on trending TikTok videos, capturing captions, hashtags, creators, sounds, metrics, and timestamps. Perfect for tracking viral trends, analyzing content performance, researching creators, and automating structured TikTok trend data extraction
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
1
Bookmarked
29
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
TikTok Trending Videos Scraper — Views, Engagement and Publish Dates
TikTok Trending Videos Scraper pulls TikTok's country-level trending video feed — or fetches specific videos by URL — and returns structured JSON with each video's cover image, duration, caption/title, and TikTok video ID and URL. Turn on detailed mode to add likes, comments, bookmarks, shares, a direct video link, and publish date. Social media marketers, trend researchers, and content-strategy teams use it to track which video formats and topics are gaining traction in a given market, without manually scrolling TikTok or maintaining a browser extension.
What is TikTok Trending Videos Scraper?
TikTok Trending Videos Scraper is an Apify Actor that returns TikTok video records — either the country/sort/period trending list, or a specific set of videos you supply by URL — as a structured, exportable dataset. No TikTok account, login, or API key is required: every field is read from TikTok's publicly accessible, logged-out pages.
- Discovers videos two ways: by country + sort + time period (trending feed) or by direct video URL (bypasses discovery entirely)
- Returns core identifying fields for every row: video ID, cover image, duration, caption/title, and the video's TikTok URL
- Optionally adds engagement data — likes, comments, bookmarks, shares — plus a direct video file link and publish date, via one boolean flag
- Tags every row with
sourceMode(discoveryorvideo-url) andscrapedAtso you always know how and when a row was produced - Supports 24 country markets and both 7-day and 30-day trending windows
- Exports through Apify's standard dataset formats — JSON, JSONL, CSV, Excel (XLSX), XML, and HTML
What data can I extract with TikTok Trending Videos Scraper?
Every dataset row is a single TikTok video. The table below lists every field the Actor's row-building code can write — including createTime, which the Actor pushes to the dataset but which is not part of the default table view configured in .actor/actor.json.
| Field | Example Value | Use Case |
|---|---|---|
country_code | "US" | Market the video was collected for (requested country in discovery mode, echoed input in video-URL mode) |
cover | "https://p16-sign.tiktokcdn.com/.../cover.jpeg" | Thumbnail for a visual content calendar or report |
duration | 5 | Filter or group videos by length (seconds) |
id | "7567957332919913736" | Unique video identifier for deduplication |
item_id | "7567957332919913736" | TikTok's item identifier (same numeric ID, kept as a separate field) |
item_url | "https://www.tiktok.com/@username/video/7567957332919913736" | Canonical link back to the video on TikTok |
region | "US" or null | Trending region tag in discovery mode; always null in video-URL mode |
title | "Hips don't lie #halloween #shakira" | Caption/description text, including hashtags |
sourceMode | "discovery" or "video-url" | Which input mode produced this row |
scrapedAt | "2026-07-25T10:15:00.000Z" | When the row was collected |
likes | 128340 | Engagement ranking, only when includeDetailedVideoData is on |
comments | 942 | Conversation volume, only when includeDetailedVideoData is on |
bookmarks | 3110 | Save/collect count, only when includeDetailedVideoData is on |
shares | 5602 | Repost count, only when includeDetailedVideoData is on |
videoUrl | "https://v16-webapp-prime.tiktok.com/video/tos/..." | Direct (expiring) video file link, only when includeDetailedVideoData is on |
createTime | 1752300000 | Unix publish timestamp — only in video-URL mode with includeDetailedVideoData on; not surfaced in the default view |
createTimeISO | "2026-07-12T02:20:00.000Z" | ISO-8601 publish timestamp — only in video-URL mode with includeDetailedVideoData on |
Engagement and publish signals
likes, comments, bookmarks, and shares only populate when includeDetailedVideoData is enabled — the Actor visits each video's own public page to read them, in both discovery and video-URL mode. videoUrl (a direct, expiring file link), createTime, and createTimeISO are also part of this detailed pass, but the two publish-time fields only appear when the row came from video-URL mode — discovery-mode rows never carry a publish date, because TikTok's trending list response doesn't include one. A common workflow: pull a watchlist of competitor item_url values through videoUrls, enable detailed data, and re-run weekly to track how likes/shares move over time for the same videos.
Country, region and provenance signals
country_code and region let you segment rows by market — country_code is always populated, region only in discovery mode. sourceMode tells you whether a row came from the trending feed or a direct URL lookup, which matters because the two modes source different field sets (see above). scrapedAt (and createTimeISO where present) let you build a time axis across repeated runs — for example, filtering a combined export down to sourceMode == "discovery" rows from the last 7-day window to compare against a prior week's snapshot.
How does TikTok Trending Videos Scraper differ from the official TikTok API?
TikTok's official Research API is not a general-purpose route to trending-video data: per TikTok's own developer documentation (checked 2026-07-26), it is restricted to applicants from qualifying academic institutions in the US, EEA, UK, or Switzerland (or qualifying nonprofit research organizations), requires a multi-step application with an ethics-review and funding-disclosure component, takes roughly four weeks to approve, and explicitly excludes commercial use. Its published endpoints cover accounts, content metadata, and shop data — not a country/sort/period trending feed.
| Feature | TikTok Research API | TikTok Trending Videos Scraper |
|---|---|---|
| Who can access it | Approved academic/nonprofit researchers only | Anyone with an Apify account |
| Approval time | ~4 weeks, per TikTok's documentation | Minutes — set input, run |
| Commercial use | Explicitly excluded | No such restriction |
| Trending/discovery feed | Not part of the published endpoint set | Country + sort + period trending list, built in |
| Specific-video lookup | Not applicable | videoUrls input fetches exact videos directly |
| Per-video engagement stats | Defined by TikTok's own content-metadata schema | likes/comments/bookmarks/shares via one input flag |
| Output format | Delivered inside a restricted Virtual Compute Environment | Standard Apify dataset — JSON, CSV, Excel, XML, HTML |
Why isn't the Research API an option for most trending-video projects?
The Research API's approval gate is the real blocker: it is open only to vetted academic or nonprofit researchers with an approved research proposal and institutional ethics sign-off, and TikTok's documentation states it excludes commercial use outright. For a marketer, agency, or product team that just needs this week's trending videos in a country, that gate makes the Research API unusable regardless of technical fit — there is no self-serve path in. TikTok Trending Videos Scraper covers that gap by running directly on Apify with no approval process: supply a country/sort/period combination, or a list of video URLs, and get a structured dataset back the same run.
Use the Research API when your work is genuinely academic research requiring TikTok's institutional data-sharing agreement. Use TikTok Trending Videos Scraper when you need trending or specific-video data now, for commercial or operational use, without an approval process.
How to use data extracted from TikTok?
Social media marketers and brand teams
Set countryCode to your target market and sortBy to vv (views), like, comment, or repost to see which organic videos are winning on that specific axis this week or month. Turn on includeDetailedVideoData to pull likes, comments, bookmarks, and shares for each result, then compare those numbers against your own brand's recent posts to spot format or topic gaps — a caption pattern, video length (duration), or hashtag cluster that's overperforming in your market but missing from your content calendar. Because every row carries item_url, the trending list doubles as a direct swipe file your creative team can click through.
Agencies and trend-monitoring services
Agencies managing several client accounts can maintain a videoUrls watchlist per client (their own videos plus named competitors) and re-run it on a schedule with includeDetailedVideoData on. Because video-URL mode doesn't depend on the trending-list discovery feed, it produces the same guaranteed row set every run — useful for a recurring client report that tracks likes/comments/shares growth on the same set of videos week over week, rather than a shifting trending list that makes run-to-run comparison unreliable.
Market research and content intelligence
Run the same sortBy/period combination across several countryCode values to compare which video themes and caption/hashtag patterns (from title) are trending in each market, and how duration distributions differ by country. Aggregating likes/comments/shares across country runs surfaces which markets reward long-form versus short-form content, without needing separate tooling per market.
AI agents and automated pipelines
An agent can call this Actor as a tool to answer "what's trending on TikTok in Brazil this week" on demand, or to look up live engagement numbers for a specific competitor video by URL before drafting a report. The structured JSON output — title, likes, comments, shares, item_url — is small and clean enough to feed directly into a summarization or trend-report prompt without extra parsing.
🔼 Input sample
Every parameter below matches .actor/actor.json exactly — 6 parameters, 2 required (countryCode, sortBy).
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
videoUrls | No | array | Direct TikTok video URLs. When set, discovery inputs below are ignored entirely for that run. | ["https://www.tiktok.com/@username/video/7567957332919913736"] |
countryCode | Yes | string (enum, default "US") | Country to pull trending videos from (24 supported codes: AU, BR, CA, EG, FR, DE, ID, IL, IT, JP, MY, PH, RU, SA, SG, KR, ES, TW, TH, TR, AE, GB, US, VN). | "US" |
sortBy | Yes | string (enum, default "vv") | Sort order for the trending list: vv (views), like, comment, or repost (shares). | "vv" |
period | No | string (enum, default "7") | Trending window: "7" or "30" days. | "7" |
maxItems | No | integer (1–1000, default 10) | Maximum videos to return in discovery mode. | 50 |
includeDetailedVideoData | No | boolean (default false) | Fetch per-video engagement stats, direct video link, and publish date. | true |
{"countryCode": "US","sortBy": "vv","period": "7","maxItems": 50,"includeDetailedVideoData": true}
Common pitfall: if you fill in videoUrls, countryCode/sortBy/period/maxItems are silently ignored for that run — the Actor switches entirely to video-URL mode. If you want both a trending scan and a fixed watchlist, run them as two separate Actor calls rather than one combined input.
🔽 Output sample
Each run writes one JSON record per video to the default dataset, exportable as JSON, JSONL, CSV, Excel (XLSX), XML, or HTML through Apify's standard dataset export. This is a full record from video-URL mode with includeDetailedVideoData on:
{"country_code": "US","cover": "https://p16-sign.tiktokcdn.com/obj/tos-useast5-p-0068-tx/abc123~tplv-photomode-video-cover.jpeg","duration": 5,"id": "7567957332919913736","item_id": "7567957332919913736","item_url": "https://www.tiktok.com/@username/video/7567957332919913736","region": null,"title": "Hips don't lie #halloween #shakira #shake #wiggle","sourceMode": "video-url","scrapedAt": "2026-07-25T10:15:00.000Z","likes": 128340,"comments": 942,"bookmarks": 3110,"shares": 5602,"videoUrl": "https://v16-webapp-prime.tiktok.com/video/tos/useast5/tos-useast5-ve-0068/abc123def456/","createTime": 1752300000,"createTimeISO": "2026-07-12T02:20:00.000Z"}
How do you filter and target specific videos?
This Actor has two targeting axes, not a free-text search: the discovery feed (broad, country/sort/period-based) and direct video URLs (exact, guaranteed). Use discovery when you want "what's trending" for a market; use videoUrls when you already know which videos you want tracked — it's also the only reliable option right now, since TikTok's popular_trend/list discovery endpoint intermittently returns no usable data on TikTok's side (see the FAQ below).
Within discovery, scope precision comes from countryCode (24 markets) and period (7 or 30 days) — narrow the window to see recent spikes versus a month's worth of trend churn. Quality/ranking axis comes from sortBy: vv surfaces raw virality, like surfaces audience approval, comment surfaces conversation-driving content, and repost surfaces the most-shared videos — each answers a different "what's trending" question. Volume is controlled by maxItems (1–1000); internally the Actor paginates in batches of 20 and stops early once a page returns zero videos, so requesting more than the feed actually has won't produce padded or duplicate rows.
Three real examples:
{ "countryCode": "JP", "sortBy": "vv", "period": "7", "maxItems": 200 }
Broadest weekly view-count scan for Japan.
{ "countryCode": "US", "sortBy": "comment", "period": "30", "maxItems": 50, "includeDetailedVideoData": true }
Most talked-about US videos over a month, with full engagement stats.
{ "videoUrls": ["https://www.tiktok.com/@brand/video/7567957332919913736", "https://www.tiktok.com/@competitor/video/7550012345678901234"], "includeDetailedVideoData": true }
Exact-video tracking for a fixed brand + competitor watchlist.
▶️ Want to try other TikTok scrapers?
| Scraper | What it extracts |
|---|---|
| TikTok Trending Hashtags With Momentum Analytics Scraper | Ranked trending hashtags with rank-change labels, views velocity, and rank momentum tracked across repeat runs |
| TikTok Trending Videos Insights With Hashtag Trend Ad Matcher | TikTok Creative Center Top Ads matched against trending hashtags — ad creative and CTR/cost data, not organic video engagement |
| Instagram Single Reels Scraper | Single Instagram Reel metadata and engagement by URL |
| Facebook Reels Scraper: by Keyword Search | Facebook Reels discovered by keyword search |
| Pinterest Pins Videos Search Scraper | Pinterest pins and videos by search query |
How to extract TikTok data programmatically
This Actor runs as a standard Apify Actor call: one API request with your Apify token, structured JSON back — no separate TikTok credentials involved.
Python example
from apify_client import ApifyClientclient = ApifyClient("<APIFY_API_TOKEN>")run = client.actor("simpleapi/tiktok-trending-videos-scraper").call(run_input={"countryCode": "GB","sortBy": "like","period": "7","maxItems": 50,"includeDetailedVideoData": True,})for video in client.dataset(run["defaultDatasetId"]).iterate_items():print(video["title"], video.get("likes"), video["item_url"])
MCP for AI agents
TikTok Trending Videos Scraper is reachable through Apify's hosted MCP server at https://mcp.apify.com. Register it with a preconfigured tools list: https://mcp.apify.com?tools=simpleapi/tiktok-trending-videos-scraper. Compatible clients — Claude.ai, Claude Code, VS Code, and other MCP-aware agents — can then call it as a tool, passing countryCode/sortBy/videoUrls and grounding a report in the live result set.
Export to spreadsheets or CRM
From the dataset view, export directly to CSV or Excel and import into a spreadsheet or CRM. Map title to a Content/Caption column, likes/comments/bookmarks/shares to engagement columns, item_url to a Source URL column, and scrapedAt to a Date Collected column.
Is it legal to scrape TikTok?
Yes — this Actor only reads TikTok's publicly accessible, logged-out video and trending pages, the same pages any visitor sees without an account. These are public listings by design: TikTok's trending feed and individual video pages exist to be viewed. The output is video-level content and engagement data (likes, comments, bookmarks, shares, cover, duration, title); it does not extract private account information, and no login step is involved. Note that item_url and any videoUrls you supply contain the video creator's public @handle as part of the URL — a lower-sensitivity but still identifying signal if you plan to store results in bulk and link them to a person. Treat that under standard ToS and database-rights framing for public content; consult legal counsel for commercial applications involving bulk storage of personal data.
❓ FAQ
Why did my run return 0 videos in discovery mode?
TikTok's popular_trend/list endpoint (the source behind discovery mode) is returning no usable data on TikTok's side for some requests — a platform-side condition, not a bug in this Actor. The run log states this explicitly when it happens. Use the videoUrls input to fetch specific videos directly instead; that path doesn't depend on the discovery endpoint at all.
Can I get engagement stats along with the trending list?
Yes. Set includeDetailedVideoData to true and every row also gets likes, comments, bookmarks, shares, and a direct videoUrl. In video-URL mode you also get createTime/createTimeISO. This adds a per-video page fetch, so detailed runs take longer than the base trending list.
How accurate is the engagement and publish-date data?
The Actor returns each video's public counts exactly as they appear on TikTok's page at the moment of the request. Engagement numbers change continuously after a video is posted, so treat a scrape as a point-in-time snapshot and re-run on a schedule if you need to track change over time.
How many videos can I get per run?
Up to maxItems (1–1000) in discovery mode. Internally the Actor requests pages of 20 videos with a small buffer and stops as soon as a page returns zero results, so the actual count can be lower than maxItems if TikTok's feed has fewer available.
What's the most reliable way to target exact videos instead of the trending list?
Use the videoUrls input. It fetches each supplied URL directly from the video's own public page and ignores the country/sort/period discovery pipeline entirely, so it isn't affected by the discovery endpoint's current availability issue.
Does TikTok Trending Videos Scraper work with Claude, ChatGPT, and AI agent frameworks?
Yes. It's callable as an HTTP endpoint by any agent framework via the Apify API, and it's also reachable through Apify's MCP server at https://mcp.apify.com?tools=simpleapi/tiktok-trending-videos-scraper for MCP-aware clients.
How does TikTok Trending Videos Scraper compare to other TikTok trending-video scrapers?
As observed on their own Apify Store listings on 2026-07-26, competing TikTok trending scrapers advertise additional fields such as creator handle/follower counts and engagement-rate metrics, and publish figures like "99.8% runs succeeded" / "2,714 users" or a $39/month rental fee on top of usage charges. This Actor doesn't publish uptime or user-count figures; its differentiator is the built-in videoUrls fallback mode, which keeps returning data even while the shared Creative Center discovery endpoint is degraded — several competing scrapers rely on that same endpoint for their core trending list.
Can I use TikTok Trending Videos Scraper without a TikTok account or API key?
Yes. No TikTok login, cookies, or developer API key are needed — every field comes from TikTok's public, logged-out pages. You only need an Apify account to run the Actor.
Does this scraper collect private or personal data?
No. It collects publicly visible video metadata and engagement counts only — no private profile data, DMs, or login-gated information. The video creator's public @handle is visible only as part of the item_url link, not as a separate extracted field.
Conclusion
TikTok Trending Videos Scraper turns TikTok's country trending feed — or any list of video URLs you already have — into a structured, exportable dataset of engagement and publish-time data, with an honest fallback for when TikTok's discovery endpoint itself is unavailable. It's built for marketers, agencies, and researchers who need repeatable TikTok video data without manual browsing or a fragile browser script. Set your country and sort order, or paste your video watchlist, and run it directly on Apify to get JSON, CSV, or Excel output in the same run.