TikTok Scraper — Profiles, Hashtags & Videos avatar

TikTok Scraper — Profiles, Hashtags & Videos

Pricing

Pay per usage

Go to Apify Store
TikTok Scraper — Profiles, Hashtags & Videos

TikTok Scraper — Profiles, Hashtags & Videos

Scrape TikTok profiles, hashtags, and individual videos without the official API. Extract followers, video stats, likes, comments. No API key needed.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

CryptoSignals Agent

CryptoSignals Agent

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Share

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.

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

Input Schema

ParameterTypeRequiredDefaultDescription
actionstringYes"profile"Action: profile, hashtag, or video
usernamestringFor profileTikTok username (without @)
hashtagstringFor hashtagHashtag to scrape (without #)
urlstringFor videoFull TikTok video URL
maxItemsintegerNo30Maximum number of videos to scrape (1–1,000)

Action Types

  • profile — Scrape a user's profile info and their recent videos. Requires username.
  • hashtag — Discover trending videos for a hashtag. Requires hashtag.
  • video — Get detailed information about a specific video. Requires url.

Example Inputs

Scrape a user profile:

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

Discover hashtag content:

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

Get video details:

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

Output Schema

Profile Result

{
"type": "profile",
"id": "107955",
"username": "tiktok",
"nickname": "TikTok",
"bio": "Every second counts",
"verified": true,
"privateAccount": false,
"avatarLarger": "https://...",
"profileUrl": "https://www.tiktok.com/@tiktok",
"bioLink": "https://newsroom.tiktok.com",
"followerCount": 93300000,
"followingCount": 3,
"heartCount": 455700000,
"videoCount": 1409,
"diggCount": 0
}

Video Result

{
"type": "video",
"id": "7349876543210",
"description": "POV: you finally learn to code #coding #tech",
"createTime": 1710000000,
"url": "https://www.tiktok.com/@user/video/7349876543210",
"playCount": 1500000,
"likeCount": 250000,
"commentCount": 3400,
"shareCount": 12000,
"collectCount": 45000,
"duration": 15,
"cover": "https://...",
"author": {
"id": "123456",
"uniqueId": "user",
"nickname": "Cool Creator",
"avatarThumb": "https://...",
"verified": false
},
"music": {
"id": "789",
"title": "Original Sound",
"authorName": "user"
},
"hashtags": [
{"id": "4504", "name": "coding"},
{"id": "9822", "name": "tech"}
]
}

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": 50
})
# Fetch results
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "profile":
print(f"Profile: @{item['username']} | Followers: {item['followerCount']:,}")
elif item["type"] == "video":
print(f"Video: {item['description'][:60]}...")
print(f" Views: {item['playCount']:,} | Likes: {item['likeCount']:,}")
# Discover trending hashtag content
run = client.actor("cryptosignals/tiktok-scraper").call(run_input={
"action": "hashtag",
"hashtag": "smallbusiness",
"maxItems": 100
})
videos = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(f"Found {len(videos)} videos for #smallbusiness")
# Sort by views to find top performers
videos.sort(key=lambda v: v.get("playCount", 0), reverse=True)
for v in videos[:5]:
print(f" {v['playCount']:,} views — {v['description'][:50]}...")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
// Scrape a TikTok profile
const run = await client.actor('cryptosignals/tiktok-scraper').call({
action: 'profile',
username: 'tiktok',
maxItems: 30
});
// Fetch results
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
if (item.type === 'profile') {
console.log(`@${item.username} | Followers: ${item.followerCount.toLocaleString()}`);
} else {
console.log(`Video: ${item.description?.substring(0, 60)} | Views: ${item.playCount?.toLocaleString()}`);
}
});
// Get details for a specific video
const videoRun = await client.actor('cryptosignals/tiktok-scraper').call({
action: 'video',
url: 'https://www.tiktok.com/@username/video/1234567890'
});
const { items: videoItems } = await client.dataset(videoRun.defaultDatasetId).listItems();
const video = videoItems[0];
console.log(`${video.description}`);
console.log(`Views: ${video.playCount} | Likes: ${video.likeCount} | Shares: ${video.shareCount}`);

Use Cases

Social Media Monitoring

Track competitors, influencers, or brand mentions. Monitor engagement rates and content performance across accounts. Set up scheduled runs to collect data over time.

Influencer Research & Vetting

Evaluate potential influencer partnerships by analyzing their follower counts, engagement rates, content themes, and posting frequency. Compare multiple influencers side by side.

Trend Analysis & Discovery

Discover what's trending in your niche by scraping hashtag feeds. Identify viral content patterns, popular sounds, and emerging creators before they go mainstream.

Content Strategy Research

Analyze top-performing content in your industry to inform your own content strategy. Find what resonates with your target audience — video length, style, hashtags, and posting times.

Academic Research

Study social media engagement patterns, content virality, and platform dynamics with structured, exportable data.

Market Research

Understand consumer sentiment and preferences by analyzing TikTok content and engagement in your market segment. Track product mentions and reviews.

Brand Monitoring

Monitor how your brand is mentioned on TikTok. Track user-generated content, reviews, and discussions about your products or services.

Integrations

Connect TikTok Scraper with your favorite tools:

  • Zapier — Trigger workflows when new data is scraped. Send TikTok data to Google Sheets, Slack, email, or 5,000+ apps.
  • Make.com (Integromat) — Build complex automation workflows with TikTok data as a trigger or data source.
  • Google Sheets — Export results directly to spreadsheets for collaborative analysis.
  • Webhooks — Send results to any HTTP endpoint in real-time.
  • API — Access results programmatically via the Apify API.
  • Scheduled runs — Set up daily or weekly scraping schedules to track trends.

FAQ

Do I need a TikTok API key?

No. This scraper works without any TikTok API key, developer account, or business verification. No API key needed — just provide your Apify API token and configure the input.

How many videos can I scrape per run?

Up to 1,000 videos per profile or hashtag. For single video details, each run returns one complete result.

Can I export to CSV or JSON?

Yes. Results are stored in an Apify dataset that can be exported to JSON, CSV, Excel (XLSX), XML, or RSS with a single click. You can also download results programmatically via the API.

Does the scraper work with private accounts?

No. The scraper only accesses publicly available content on TikTok. Private accounts and restricted content are not accessible.

Can I scrape video comments?

The current version extracts comment counts but not individual comment text. Full comment extraction may be added in future versions.

Why do I need residential proxies?

TikTok blocks video loading from datacenter IPs. Residential proxies are strongly recommended for scraping profile videos reliably.

What happens if TikTok blocks the scraper?

The actor uses Playwright with residential proxies and multiple fallback extraction methods. It includes automatic retries and graceful degradation.

Can I use this with Zapier or Make.com?

Yes! Apify has native integrations with both Zapier and Make.com. You can trigger Zaps or Make scenarios whenever a scraping run completes.

What output formats are available?

You can download results in JSON, CSV, Excel (XLSX), XML, HTML, or RSS format.

Is there a free trial?

Apify offers a free tier with $5 of monthly platform usage. The actor itself has no additional cost.

This actor scrapes only publicly available data from TikTok. It does not access private accounts, restricted content, or any data that requires authentication.

Important considerations:

  • Comply with TikTok's Terms of Service and your local data protection laws (GDPR, CCPA, etc.) when using scraped data.
  • Do not use this tool for spam, harassment, stalking, or any illegal purpose.
  • Scraped data should be used responsibly. If you collect personal information, ensure you have a lawful basis for processing it.
  • The actor does not download or store videos on Apify's servers — it only extracts metadata and statistics.
  • For commercial use, consult your legal team regarding compliance with applicable regulations.
  • Respect content creators' intellectual property rights.

This tool is intended for legitimate purposes such as market research, influencer analysis, academic study, competitive analysis, and content strategy.

Pricing

This actor runs on the Apify platform. You pay only for compute and proxy usage — there are no additional fees for the actor itself. Residential proxies are recommended and will incur additional proxy costs.

Technical Details

  • Engine: Playwright (Chromium) for reliable JavaScript rendering
  • Data Source: TikTok's __UNIVERSAL_DATA_FOR_REHYDRATION__ + network interception
  • Rate Limiting: Respectful scrolling with built-in delays
  • Error Handling: Graceful degradation with fallback data extraction methods
  • Output: JSON dataset with structured, typed results

Limitations

  • Only public profiles and videos can be scraped
  • TikTok may change their page structure — the actor uses multiple fallback extraction methods
  • Very large accounts (10,000+ videos) may hit TikTok's internal pagination limits
  • Live content and private videos are not accessible
  • Residential proxies are required for reliable profile video scraping