Tiktok Trending Videos Scraper avatar

Tiktok Trending Videos Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Tiktok Trending Videos Scraper

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

SimpleAPI

Maintained by Community

Actor stats

1

Bookmarked

29

Total users

1

Monthly active users

11 hours ago

Last modified

Share

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.

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 (discovery or video-url) and scrapedAt so 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

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.

FieldExample ValueUse 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
duration5Filter 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 nullTrending 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
likes128340Engagement ranking, only when includeDetailedVideoData is on
comments942Conversation volume, only when includeDetailedVideoData is on
bookmarks3110Save/collect count, only when includeDetailedVideoData is on
shares5602Repost 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
createTime1752300000Unix 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.

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.

FeatureTikTok Research APITikTok Trending Videos Scraper
Who can access itApproved academic/nonprofit researchers onlyAnyone with an Apify account
Approval time~4 weeks, per TikTok's documentationMinutes — set input, run
Commercial useExplicitly excludedNo such restriction
Trending/discovery feedNot part of the published endpoint setCountry + sort + period trending list, built in
Specific-video lookupNot applicablevideoUrls input fetches exact videos directly
Per-video engagement statsDefined by TikTok's own content-metadata schemalikes/comments/bookmarks/shares via one input flag
Output formatDelivered inside a restricted Virtual Compute EnvironmentStandard Apify dataset — JSON, CSV, Excel, XML, HTML

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).

ParameterRequiredTypeDescriptionExample Value
videoUrlsNoarrayDirect TikTok video URLs. When set, discovery inputs below are ignored entirely for that run.["https://www.tiktok.com/@username/video/7567957332919913736"]
countryCodeYesstring (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"
sortByYesstring (enum, default "vv")Sort order for the trending list: vv (views), like, comment, or repost (shares)."vv"
periodNostring (enum, default "7")Trending window: "7" or "30" days."7"
maxItemsNointeger (1–1000, default 10)Maximum videos to return in discovery mode.50
includeDetailedVideoDataNoboolean (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?

ScraperWhat it extracts
TikTok Trending Hashtags With Momentum Analytics ScraperRanked trending hashtags with rank-change labels, views velocity, and rank momentum tracked across repeat runs
TikTok Trending Videos Insights With Hashtag Trend Ad MatcherTikTok Creative Center Top Ads matched against trending hashtags — ad creative and CTR/cost data, not organic video engagement
Instagram Single Reels ScraperSingle Instagram Reel metadata and engagement by URL
Facebook Reels Scraper: by Keyword SearchFacebook Reels discovered by keyword search
Pinterest Pins Videos Search ScraperPinterest 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 ApifyClient
client = 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.

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.

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.

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.

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.

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.

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.