TikTok Ultimate Scraper | Videos, Hashtags & Analytics
Pricing
from $3.50 / 1,000 results
TikTok Ultimate Scraper | Videos, Hashtags & Analytics
Scrape TikTok videos, profiles, hashtags, search, followers, Creative Center analytics and trends. Export views, likes, comments, music and author stats to JSON/CSV via Apify API.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Rémi Pelloux
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok Ultimate Scraper — Videos, Profiles, Hashtags, Analytics & Trends
The most complete TikTok scraper on Apify. Extract videos, profiles, hashtags, search results, follower graphs, Creative Center hashtag analytics, and trending sounds/creators/videos — with full engagement metrics, author stats, music metadata, subtitles, and location data.
Built for marketers, researchers, agencies, and growth teams who need structured TikTok data at scale without maintaining fragile scrapers.
Why choose this scraper?
| Feature | Basic TikTok scrapers | TikTok Ultimate Scraper |
|---|---|---|
| Hashtag scraping | ✅ | ✅ |
| Profile videos | ✅ | ✅ |
| Search (video/user) | Limited | ✅ Full |
| Followers / following lists | ❌ | ✅ |
| Related videos | ❌ | ✅ |
| Direct video URL extraction | ✅ | ✅ |
| Creative Center hashtag analytics | ❌ | ✅ Audience age, interests, countries |
| Trend discovery (hashtags, sounds, creators, videos) | ❌ | ✅ |
| Author stats (followers, hearts, verified) | Partial | ✅ Full |
| Music & subtitle metadata | Partial | ✅ Full |
| Date filtering | ❌ | ✅ |
| Pinned post exclusion | ❌ | ✅ |
| Apify Proxy support | Varies | ✅ Recommended |
| Pay-per-result pricing | Varies | ✅ Transparent |
What you can scrape
🎬 Content scraping (mode: scrape)
- Hashtags — all public videos under a tag
- Profiles — videos, reposts, followers, following
- Search — keyword search (all, videos only, users only)
- Video URLs — single post metadata + optional related videos
- Filters — date range, exclude pinned posts, max results per query
📊 Hashtag analytics (mode: hashtagAnalytics)
TikTok Creative Center data for any hashtag:
- Total views & post count
- Trend sparkline (7 / 30 / 120 days)
- Audience breakdown (age, interests, countries)
- Related hashtags & top videos
- Industry & longevity metrics
🔥 Trend discovery (mode: trendDiscovery)
Discover what's trending on TikTok right now:
- Trending hashtags (with industry filter & new-on-board)
- Trending sounds (popular / surging, business-approved filter)
- Trending creators (sort by followers, engagement, avg views)
- Trending videos (sort by views, likes, comments, reposts)
Output fields
Each dataset row includes rich metadata:
| Field | Description |
|---|---|
webVideoUrl | Direct link to the TikTok video |
text | Video caption / description |
playCount | View count |
diggCount | Like count |
commentCount | Comment count |
shareCount | Share count |
collectCount | Save/bookmark count |
authorMeta | Username, nickname, followers, verified, bio, avatar |
musicMeta | Sound name, author, play URL, cover |
videoMeta | Duration, resolution, cover, download URL, subtitles |
hashtags | Hashtags used in the video |
mentions | @mentions in caption |
locationMeta | POI / geo data when available |
createTimeISO | Publication timestamp |
isPinned / isSponsored / isAd | Content flags |
Analytics & trend rows add fields like videoViews, publishCnt, audienceAges, rank, trendingHistogram, and more.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | scrape | scrape, hashtagAnalytics, or trendDiscovery |
hashtags | string[] | — | Hashtags to scrape (no #) |
profiles | string[] | — | TikTok usernames |
search | string[] | — | Search keywords |
videoUrls | string[] | — | Direct video URLs |
resultsPerPage | integer | 20 | Max results per query (1–1000) |
maxProfilesPerQuery | integer | 10 | Max profiles to process |
excludePinnedPosts | boolean | false | Skip pinned videos |
scrapeRelatedVideos | boolean | false | Fetch related videos for URL inputs |
profileScrapeSections | string[] | ["videos"] | videos, reposts, followers, following |
profileSorting | string | latest | latest, popular, oldest |
oldestPostDateUnified | string | — | Min date (YYYY-MM-DD or days) |
newestPostDate | string | — | Max date (YYYY-MM-DD) |
searchSection | string | `` | "", video, or user |
adsCountryCode | string | US | Country for analytics/trends |
adsTimeRange | string | 7 | 7, 30, or 120 days |
adsScrapeHashtags/Sounds/Creators/Videos | boolean | varies | Trend discovery toggles |
proxyConfiguration | object | Apify Proxy | Strongly recommended |
Example output
{"resultType": "video","id": "7123456789012345678","text": "3 marketing hacks that actually work #marketing #growth","webVideoUrl": "https://www.tiktok.com/@brand/video/7123456789012345678","createTimeISO": "2026-05-20T14:30:00.000Z","playCount": 1250000,"diggCount": 98000,"commentCount": 4200,"shareCount": 15000,"collectCount": 8500,"authorMeta": {"name": "brand","nickName": "Brand Official","verified": true,"fans": 2500000,"following": 120,"heart": 45000000,"profileUrl": "https://www.tiktok.com/@brand"},"musicMeta": {"musicName": "original sound - Brand Official","musicAuthor": "Brand Official","musicOriginal": true},"hashtags": [{ "name": "marketing" },{ "name": "growth" }],"succeeded": true}
Pricing
| Tier | Price | Limit |
|---|---|---|
| Free trial | $0 | 10 results per run |
| Pay-per-result | Per video/result | Unlimited with subscription |
Billing event: video — one charge per dataset row (video, analytics item, or trend item).
Enable Pay-per-event monetization in Apify Console with the video custom event.
Quick start
Apify Console
- Open the actor and click Start
- Set
hashtags: ["marketing"]andresultsPerPage: 20 - Enable Apify Proxy
- Run and download JSON/CSV from the dataset
cURL
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "scrape","hashtags": ["fyp", "viral"],"resultsPerPage": 50,"proxyConfiguration": { "useApifyProxy": true }}'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("YOUR_ACTOR_ID").call(run_input={"mode": "scrape","profiles": ["nike", "adidas"],"resultsPerPage": 30,"profileScrapeSections": ["videos"],"proxyConfiguration": {"useApifyProxy": True},})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(f"Scraped {len(items)} items")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({mode: 'hashtagAnalytics',hashtags: ['skincare', 'beauty'],adsCountryCode: 'US',adsTimeRange: '30',proxyConfiguration: { useApifyProxy: true },});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use cases
- Social listening — monitor brand mentions and hashtag campaigns
- Competitor analysis — track rival profiles, engagement rates, posting cadence
- Influencer discovery — find creators by niche, followers, and engagement
- Trend research — spot rising hashtags and sounds before they peak
- Ad planning — Creative Center analytics for audience targeting
- Content repurposing — collect metadata, captions, and music info
- Academic research — structured datasets for social media studies
Integrations
Export results to your stack in one click:
- Google Sheets — Apify integration or webhook
- Zapier / Make — trigger workflows on run finish
- Webhooks — push dataset to your API
- REST API — poll runs and download JSON/CSV
- Airbyte / custom ETL — ingest into your data warehouse
FAQ
Do I need a proxy?
Yes, for production runs. TikTok rate-limits datacenter IPs. Apify Proxy with residential IPs gives the best results.
Can I scrape private accounts?
No. Only publicly visible content is accessible.
What's the free tier limit?
10 results per run without a paid Apify subscription.
Does it download video files?
This actor returns metadata and media URLs. Download files separately using the videoMeta.downloadAddr or mediaUrls fields.
Can I scrape comments?
Not in this version. Each row is a video, profile connection, analytics record, or trend item.
How often should I run it?
For trend monitoring, daily runs with mode: trendDiscovery work well. For profile tracking, weekly is usually enough.
Is this legal?
You are responsible for complying with TikTok's Terms of Service and applicable laws. Scrape only public data for legitimate purposes.
What countries are supported for analytics?
Any ISO 2-letter country code supported by TikTok Creative Center (e.g. US, GB, FR, DE, BR).
Tips for best results
- Always enable Apify Proxy — set
useApifyProxy: true - Start small — test with
resultsPerPage: 10before scaling - Use date filters —
oldestPostDateUnified: "30"for last 30 days only - Combine modes — run separate jobs for content vs analytics vs trends
- Monitor spend — set Apify budget limits in Console
Responsible use
This actor extracts publicly available TikTok data only. Users must:
- Respect TikTok's Terms of Service and robots directives
- Comply with GDPR, CCPA, and local privacy regulations
- Not use data for harassment, spam, or unauthorized surveillance
- Attribute data sources appropriately in published research
The actor owner provides tooling only — you are responsible for lawful use.
Support
Questions or feature requests? Open an issue on the actor page or contact the developer through Apify Console.
Keywords: TikTok scraper, TikTok API, scrape TikTok videos, TikTok hashtag scraper, TikTok profile scraper, TikTok analytics, TikTok trend discovery, TikTok data extraction, social media scraper, TikTok Creative Center, TikTok influencer scraper, TikTok search scraper, export TikTok data, TikTok JSON scraper.