TikTok Ultimate Scraper | Videos, Hashtags & Analytics avatar

TikTok Ultimate Scraper | Videos, Hashtags & Analytics

Pricing

from $3.50 / 1,000 results

Go to Apify Store
TikTok Ultimate Scraper | Videos, Hashtags & Analytics

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

Rémi Pelloux

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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?

FeatureBasic TikTok scrapersTikTok 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 metadataPartial✅ Full
Date filtering
Pinned post exclusion
Apify Proxy supportVaries✅ Recommended
Pay-per-result pricingVaries✅ 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:

FieldDescription
webVideoUrlDirect link to the TikTok video
textVideo caption / description
playCountView count
diggCountLike count
commentCountComment count
shareCountShare count
collectCountSave/bookmark count
authorMetaUsername, nickname, followers, verified, bio, avatar
musicMetaSound name, author, play URL, cover
videoMetaDuration, resolution, cover, download URL, subtitles
hashtagsHashtags used in the video
mentions@mentions in caption
locationMetaPOI / geo data when available
createTimeISOPublication timestamp
isPinned / isSponsored / isAdContent flags

Analytics & trend rows add fields like videoViews, publishCnt, audienceAges, rank, trendingHistogram, and more.


Input parameters

ParameterTypeDefaultDescription
modestringscrapescrape, hashtagAnalytics, or trendDiscovery
hashtagsstring[]Hashtags to scrape (no #)
profilesstring[]TikTok usernames
searchstring[]Search keywords
videoUrlsstring[]Direct video URLs
resultsPerPageinteger20Max results per query (1–1000)
maxProfilesPerQueryinteger10Max profiles to process
excludePinnedPostsbooleanfalseSkip pinned videos
scrapeRelatedVideosbooleanfalseFetch related videos for URL inputs
profileScrapeSectionsstring[]["videos"]videos, reposts, followers, following
profileSortingstringlatestlatest, popular, oldest
oldestPostDateUnifiedstringMin date (YYYY-MM-DD or days)
newestPostDatestringMax date (YYYY-MM-DD)
searchSectionstring``"", video, or user
adsCountryCodestringUSCountry for analytics/trends
adsTimeRangestring77, 30, or 120 days
adsScrapeHashtags/Sounds/Creators/VideosbooleanvariesTrend discovery toggles
proxyConfigurationobjectApify ProxyStrongly 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

TierPriceLimit
Free trial$010 results per run
Pay-per-resultPer video/resultUnlimited 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

  1. Open the actor and click Start
  2. Set hashtags: ["marketing"] and resultsPerPage: 20
  3. Enable Apify Proxy
  4. 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 ApifyClient
client = 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().items
print(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

  1. Always enable Apify Proxy — set useApifyProxy: true
  2. Start small — test with resultsPerPage: 10 before scaling
  3. Use date filtersoldestPostDateUnified: "30" for last 30 days only
  4. Combine modes — run separate jobs for content vs analytics vs trends
  5. 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.