TikTok Public Hashtag and Search Video Scraper
Pricing
from $2.99 / 1,000 hashtag videos
TikTok Public Hashtag and Search Video Scraper
Scrape public TikTok hashtag or search result pages with Playwright and return visible video-card metadata, author, music, and engagement fields.
Pricing
from $2.99 / 1,000 hashtag videos
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape visible public TikTok video cards from either a hashtag page or a TikTok search page. The Actor uses Playwright, bounded scrolling, DOM selectors, and optional Apify Proxy settings to extract video IDs, URLs, creator information, captions, visible engagement text, music, duration, and thumbnails.
It does not use account cookies, access private content, or bypass authentication, CAPTCHAs, or other access controls.
Example input
Hashtag mode:
{"hashtag": "dance","maxItems": 10,"proxyConfiguration": {"useApifyProxy": true}}
Search mode:
{"query": "street food","maxItems": 10}
If both hashtag and query are supplied, hashtag mode takes precedence.
Example output
{"recordType": "tiktok-video","status": "success","dataAvailable": true,"source": "tiktok.com","provenance": "public_search_or_hashtag_page","sourceTransport": "playwright","extractionMethod": "search_card_dom","sourceUrl": "https://www.tiktok.com/tag/dance","videoId": "1234567890","url": "https://www.tiktok.com/@creator/video/1234567890","authorUsername": "creator","description": "A public caption #dance","hashtags": ["dance"],"playCount": "12K","likeCount": "900","commentCount": "45","shareCount": "20","searchType": "hashtag","scrapedAt": "2026-08-18T00:00:00.000Z"}
When TikTok returns a challenge, the page has no recognizable video cards, or the request fails, the dataset receives a tiktok-hashtag-access-diagnostic record. The OUTPUT key-value record reports the failure or partial status.
Input
hashtag(string): Hashtag without#; letters, numbers, underscores, and hyphens are accepted. Hashtag takes precedence over query.query(string): Public TikTok search phrase, maximum 120 characters.maxItems(integer, 1–200): Maximum unique video records to store. Default:30.proxyConfiguration(object, optional): Apify Proxy configuration for public TikTok page access.
At least one of hashtag or query is required.
Output and storage
Video records and access diagnostics are written to the default dataset. The Output tab links to the dataset and to OUTPUT in the default key-value store. A bounded debug_html key may also be written when the page is blocked or empty to aid troubleshooting.
OUTPUT contains the selected public URL, mode, query/hashtag context, requested limit, stored video count, failed URLs, empty-page count, blocked-page count, and final status.
Limitations and cost
The Actor reads what is visible in the public search or hashtag page after bounded scrolling. TikTok may return different markup, partial results, or a challenge page depending on region, time, and traffic. Engagement values are visible text and may include suffixes such as K or M; they are not silently converted.
Browser compute and proxy traffic are the main costs. Start with a small maxItems value, use a permitted proxy configuration only when needed, and avoid high-frequency retries.
FAQ and disclaimer
Does it scrape private videos or use a logged-in feed?
No. It uses public search or hashtag pages only.
Why are there no video rows?
TikTok may have returned a challenge, an empty page, or markup that no longer matches the DOM selectors. Check the diagnostic and OUTPUT record.
Does it bypass bot detection?
No. It detects challenge pages and records them; it does not solve or defeat them.
Use results only for a legitimate purpose, follow TikTok terms and robots guidance, and review privacy and data-protection obligations. Public video metadata can still contain personal data. For support, use the Actor Issues tab.