TikTok Scraper v2 avatar

TikTok Scraper v2

Pricing

$400.00 / 1,000 result scrapeds

Go to Apify Store
TikTok Scraper v2

TikTok Scraper v2

Scrape TikTok profiles, hashtags, and videos.

Pricing

$400.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Web Data Labs

Web Data Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

TikTok Scraper — Profiles, Hashtags & Video Data

Scrape TikTok data without the official API — no API key needed. Extract user profiles, video statistics, hashtag content, and individual video details. Export to JSON, CSV, Excel, or connect via Zapier / Make.com integration.

Why Use This TikTok Scraper?

TikTok's official API has strict rate limits, requires business verification, and doesn't expose all the data available on the web. This scraper extracts data directly from TikTok's web interface, giving you access to complete profile data, video statistics, and hashtag content — all without any API key.

No API key needed. No TikTok developer account or business verification required. Just configure your input, run the actor, and download structured data.

Key Features

  • Profile scraping — extract user info, follower counts, bio, verification status, and recent videos
  • Hashtag discovery — find trending videos for any hashtag with full engagement data
  • Video details — get complete stats for any specific TikTok video
  • Engagement metrics — views, likes, comments, shares, saves for every video
  • Music & hashtag data — track name, artist, and all hashtags used in videos
  • No API key needed — zero setup, no TikTok developer account required
  • JSON & CSV export — download results in JSON, CSV, Excel, XML, or RSS
  • Zapier / Make.com integration — connect to 5,000+ apps via webhooks
  • Up to 1,000 videos per profile or hashtag scrape
  • Anti-bot handling — built with Playwright and residential proxies for reliable access

Use Cases

1. Influencer Research & Vetting

Evaluate potential influencer partners with hard data. Analyze follower counts, engagement rates, posting frequency, and content themes before committing to partnerships. Compare multiple creators side-by-side.

2. Competitor Content Analysis

Monitor what content your competitors are posting on TikTok. Track their video performance, posting cadence, hashtag strategy, and audience engagement to inform your own content strategy.

3. Hashtag & Trend Discovery

Identify trending hashtags and viral content in your niche. Discover emerging trends early by monitoring hashtag video counts and engagement metrics. Time your content to ride trending waves.

4. Social Media Reporting & Analytics

Build automated reporting dashboards for your TikTok presence or your clients'. Pull engagement data on a schedule and feed it into Google Sheets, Looker, or any BI tool via the API.

5. Music & Audio Trend Tracking

Track which songs and audio clips are trending across TikTok. Invaluable for music labels, brand campaigns, and content creators looking to leverage popular audio in their videos.

6. Market Research & Consumer Insights

Understand what resonates with specific audiences on TikTok. Analyze video content, comments, and engagement patterns to derive insights about consumer preferences and cultural trends.

7. Brand Monitoring & Reputation Tracking

Monitor mentions of your brand on TikTok by searching hashtags and keywords. Track sentiment, engagement, and reach of user-generated content featuring your products or services.

8. Academic & Journalism Research

Collect TikTok data for research on social media behavior, content virality, platform dynamics, or cultural trends. Export clean, structured datasets for statistical analysis.

9. Content Performance Benchmarking

Analyze top-performing videos in your niche to understand what works. Study video lengths, posting times, hashtag counts, and engagement ratios to optimize your own content strategy.

Input Parameters

ParameterTypeRequiredDefaultDescription
actionstringYes"profile"What to scrape: profile, hashtag, or video.
usernamestringFor profileTikTok username (without @). Required when action is profile.
hashtagstringFor hashtagHashtag to scrape (without #). Required when action is hashtag.
urlstringFor videoFull TikTok video URL. Required when action is video.
maxItemsintegerNo5Maximum number of videos to scrape per run. Range: 1–1,000.
proxyConfigurationobjectNoApify ResidentialProxy settings. Residential proxies are strongly recommended — TikTok blocks datacenter IPs aggressively.

Action Types

ActionDescriptionRequired Input
profileScrape a user's profile info and recent videosusername
hashtagDiscover trending videos for a hashtaghashtag
videoGet detailed stats for a specific videourl

Input Examples

Scrape a user profile:

{
"action": "profile",
"username": "tiktok",
"maxItems": 50
}

Discover hashtag content:

{
"action": "hashtag",
"hashtag": "coding",
"maxItems": 100
}

Get specific video details:

{
"action": "video",
"url": "https://www.tiktok.com/@username/video/1234567890"
}

Output Format

Profile Scrape Output

Each profile scrape returns the user's profile data plus their recent videos.

Profile fields:

FieldTypeDescription
typestringAlways "profile"
idstringTikTok user ID
usernamestringUsername (handle)
nicknamestringDisplay name
biostringProfile biography text
verifiedbooleanWhether the account is verified
privateAccountbooleanWhether the account is private
followersintegerTotal follower count
followingintegerNumber of accounts followed
totalLikesintegerTotal likes received across all videos
totalVideosintegerTotal number of videos posted
avatarLargerstringURL of the profile avatar (large)
profileUrlstringFull URL to the TikTok profile

Video fields (within profile or hashtag results):

FieldTypeDescription
videoIdstringUnique video identifier
descriptionstringVideo caption / description
viewsintegerTotal view count
likesintegerTotal like count
commentsintegerTotal comment count
sharesintegerTotal share count
savesintegerTotal bookmark/save count
durationintegerVideo length in seconds
videoUrlstringDirect URL to the TikTok video
coverUrlstringVideo thumbnail image URL
musicNamestringName of the audio track used
musicAuthorstringArtist/creator of the audio track
hashtagsarrayList of hashtags used in the video
createTimestringVideo creation timestamp

Sample Output — Profile

{
"type": "profile",
"id": "107955",
"username": "tiktok",
"nickname": "TikTok",
"bio": "Every second counts",
"verified": true,
"privateAccount": false,
"followers": 85200000,
"following": 1032,
"totalLikes": 2900000000,
"totalVideos": 542,
"avatarLarger": "https://p16-sign-va.tiktokcdn.com/...",
"profileUrl": "https://www.tiktok.com/@tiktok",
"videos": [
{
"videoId": "7350000000000000000",
"description": "The feels when your FYP just gets you 🥹",
"views": 4500000,
"likes": 320000,
"comments": 8500,
"shares": 12000,
"saves": 45000,
"duration": 15,
"videoUrl": "https://www.tiktok.com/@tiktok/video/7350000000000000000",
"coverUrl": "https://p16-sign-va.tiktokcdn.com/...",
"musicName": "original sound",
"musicAuthor": "TikTok",
"hashtags": ["fyp", "tiktok", "viral"],
"createTime": "2026-03-15T14:30:00.000Z"
}
],
"scrapedAt": "2026-04-09T10:30:00.000Z"
}

Sample Output — Hashtag

{
"type": "hashtag",
"hashtag": "coding",
"videoCount": 15000000,
"videos": [
{
"videoId": "7340000000000000000",
"description": "Day 30 of learning Python 🐍 #coding #learnpython",
"views": 890000,
"likes": 95000,
"comments": 2300,
"shares": 5600,
"saves": 28000,
"duration": 45,
"videoUrl": "https://www.tiktok.com/@coder123/video/7340000000000000000",
"author": "coder123",
"musicName": "Aesthetic",
"musicAuthor": "Tollan Kim",
"hashtags": ["coding", "learnpython", "tech", "developer"]
}
],
"scrapedAt": "2026-04-09T10:30:00.000Z"
}

Code Examples

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
# Scrape a TikTok profile
run = client.actor("cryptosignals/tiktok-scraper").call(run_input={
"action": "profile",
"username": "charlidamelio",
"maxItems": 20,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item.get("type") == "profile":
print(f"@{item['username']} | {item['followers']:,} followers | {item['totalLikes']:,} likes")
for video in item.get("videos", []):
print(f" 📹 {video['views']:,} views | {video['likes']:,} likes | {video['description'][:60]}...")

Compare engagement across hashtags:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
hashtags = ["fitness", "cooking", "coding", "fashion"]
for tag in hashtags:
run = client.actor("cryptosignals/tiktok-scraper").call(run_input={
"action": "hashtag",
"hashtag": tag,
"maxItems": 10,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
for item in items:
videos = item.get("videos", [])
if videos:
avg_views = sum(v.get("views", 0) for v in videos) / len(videos)
avg_likes = sum(v.get("likes", 0) for v in videos) / len(videos)
print(f"#{tag}: {len(videos)} videos | avg {avg_views:,.0f} views | avg {avg_likes:,.0f} likes")

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
// Scrape hashtag content
const run = await client.actor('cryptosignals/tiktok-scraper').call({
action: 'hashtag',
hashtag: 'smallbusiness',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
for (const video of item.videos || []) {
console.log(`${video.views?.toLocaleString()} views | ${video.description?.slice(0, 60)}...`);
}
}

cURL (Apify API)

Start a profile scrape:

curl -X POST "https://api.apify.com/v2/acts/cryptosignals~tiktok-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "profile",
"username": "nasa",
"maxItems": 30
}'

Start a hashtag scrape:

curl -X POST "https://api.apify.com/v2/acts/cryptosignals~tiktok-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "hashtag",
"hashtag": "techreview",
"maxItems": 50
}'

Fetch results:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

Integrations

Connect this scraper to 5,000+ apps via Apify's built-in integrations:

  • Google Sheets — export TikTok data to spreadsheets for reporting and analysis
  • Zapier — trigger workflows when new viral content is detected
  • Make (Integromat) — build automated influencer monitoring pipelines
  • Slack / Email — get alerts on trending hashtags or competitor activity
  • Webhooks — send results to any HTTP endpoint in real-time
  • Google BigQuery / Snowflake — load TikTok data into your data warehouse

Pricing

This actor uses pay-per-result pricing. You only pay for data successfully extracted — no charge for failed runs.

UsageEstimated Cost
1 profile + 10 videos~$0.25–$0.75
50 hashtag videos~$1.00–$3.00
100 videos~$2.00–$5.00
1,000 videos (max per run)~$8.00–$15.00

Costs include Apify platform compute time and residential proxy usage (required for TikTok). Check the Apify pricing calculator for exact estimates.

Free tier available: Apify's free plan includes $5/month in platform credits — enough to scrape dozens of profiles and hundreds of videos.

Tips for Best Results

  • Use residential proxies — TikTok aggressively blocks datacenter IPs. The default configuration uses Apify's residential proxy group, which is recommended.
  • Start with smaller batches — test with 10–20 videos first, then scale up. This saves credits while you validate your workflow.
  • Schedule recurring runs — set up daily or weekly runs via Apify Schedules to build a historical engagement database.
  • Combine actions — use profile to identify creators, then hashtag to discover related content and trends.
  • Monitor engagement rates — likes/views ratio is more meaningful than raw view counts for influencer evaluation.

Frequently Asked Questions

Do I need a TikTok account or API key?

No. This scraper works without any TikTok credentials. No developer account, API key, or business verification required.

How many videos can I scrape per run?

Up to 1,000 videos per profile or hashtag scrape. For larger datasets, run multiple scrapes with different inputs.

Can I scrape private accounts?

No. Only publicly available profiles and content can be scraped. Private accounts return only basic profile metadata.

What's the difference between profile and hashtag scraping?

Profile scraping extracts a specific user's profile data and their recent videos. Hashtag scraping discovers trending videos for a given hashtag across all creators.

How fresh is the engagement data?

Data is scraped in real-time from TikTok's web interface. View counts, likes, and comments reflect the current state at the time of the scrape.

Can I export results to CSV or Excel?

Yes. Apify datasets support export to JSON, CSV, Excel (XLSX), XML, and RSS. Use the export buttons in the Apify console or append ?format=csv to the API endpoint.

Why do some videos show zero views?

TikTok occasionally delays public view count updates for recent videos. Videos posted in the last few hours may show 0 views temporarily.

Can I track a hashtag over time?

Yes. Use Apify Schedules to run the hashtag scrape daily or weekly. Compare results across runs to track trending content and engagement changes.

Is this compliant with TikTok's terms?

This scraper accesses only publicly available content displayed on TikTok's website. Users are responsible for ensuring their use case complies with applicable laws and platform policies.

Why are residential proxies required?

TikTok employs aggressive anti-bot measures that block most datacenter IP addresses. Residential proxies simulate real user connections and are essential for reliable data extraction.

Limitations

  • Maximum 1,000 videos per run
  • Only public profiles and content can be scraped
  • TikTok's anti-bot measures may occasionally cause partial results — retry with a fresh run
  • Video download URLs are not provided (only metadata and statistics)
  • Comment text extraction is not included in the current version (engagement counts only)
  • TikTok's page structure changes frequently — actor updates are released promptly

Support

Found a bug or have a feature request? Reach out through Apify's messaging system on the actor page, or leave a review with your feedback.


⭐ Found this useful?

If this actor saved you time, please leave a review on the Apify Store — it takes 30 seconds and helps other developers find it.

Questions or issues? Drop a comment below and I'll respond within 24 hours.