Tiktok Scraper avatar

Tiktok Scraper

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Tiktok Scraper

Tiktok Scraper

Extract TikTok data from profiles, videos, and hashtags using URLs or search queries. Scrape usernames, followers, likes, shares, videos, music, and post details. Export data, run via API, automate schedules, monitor runs, or integrate with your tools.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

Data Doping

Data Doping

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

All-in-one TikTok data extraction for profiles, videos, followers, comments, search, hashtags, and music — in a single Apify Actor.

Fill only the input sections you need. Empty sections are skipped automatically. Results are split into separate, labeled datasets so each data type has its own clean table.

Built for influencer research, competitor intelligence, social listening, content analytics, lead generation, and data pipelines.


Why Choose This Scraper?

  • One actor, seven workflows — profiles, videos, followers/following, comments, creator & video search, hashtags, and music
  • Structured output — separate datasets for posts, profiles, connections, comments, search, hashtags, music, and errors
  • Clockworks-style post views — Overview, Posts, Authors, Music, and Video tabs inside the Posts dataset
  • Flat, export-ready fields — captions, engagement, author info, music, and video URLs without nested JSON cleanup
  • Optional profile analytics — engagement rate, averages, posting frequency, and viral post count
  • Mixed inputs — usernames, profile URLs, video URLs, video IDs, hashtags, and music IDs in the same run
  • Partial success — one failed target does not stop the rest; errors are recorded in a dedicated dataset
  • Export to JSON, CSV, Excel, or integrate via the Apify API

Built for Real-World Use Cases

Influencer & Creator Research

Audit creator profiles, recent posts, engagement patterns, and audience connections in one run.

Competitor & Market Intelligence

Track what competitors post, which sounds they use, and how their content performs.

Social Listening & UGC Research

Scrape comments and replies on viral videos; search creators and videos by keyword.

Hashtag Monitoring

Measure hashtag reach and track related videos by tag.

Lead Generation & Audience Building

Export follower and following lists with profile metadata for outreach or enrichment.

Data & AI Pipelines

Feed structured TikTok datasets into dashboards, warehouses, or LLM workflows.


What You Can Scrape

SectionWhat you get
👤 ProfilesBio, followers, likes, video count, verification, region; optional recent posts and analytics
🎬 VideosFull video metadata, author, engagement, music, download URL; optional related videos
👥 Followers & FollowingFollower or following accounts with avatars and counts
💬 CommentsTop comments and optional replies per video
🔍 SearchCreator accounts by keyword; video search results go to Posts
#️⃣ HashtagsHashtag metadata plus videos using the tag
🎶 MusicSound metadata plus videos using the sound

Setup

This actor requires a DataDoping API key.

  1. In the Apify Console, open Settings → Environment variables for this Actor.
  2. Add API_KEY with your DataDoping API key.
  3. Save and run.

For local development, copy .env.example to .env and set API_KEY there.


Input

Only fill the sections you need. At least one section must have input or the run exits with an error.

Example — profiles + videos

{
"profiles": ["taylorswift", "https://www.tiktok.com/@tiktok"],
"includeRecentPosts": true,
"maxPostsPerProfile": 50,
"includeProfileAnalytics": true,
"videoUrls": [
"https://www.tiktok.com/@tiktok/video/7306132438047116586"
],
"includeRelatedVideos": true,
"maxRelatedVideos": 20
}

👤 Profiles

FieldDefaultDescription
ProfilesUsernames, profile URLs, or user IDs. One per line. Duplicates removed.
Include Recent PoststrueFetch recent videos for each profile.
Posts Per Profile50Max recent posts per profile (min. 10).
Include Profile AnalyticstrueCompute engagement rate, averages, posting frequency, viral post count.

🎬 Videos

FieldDefaultDescription
Video URLs or IDsTikTok video URLs or numeric video IDs.
Include Related VideostrueCollect videos related to each input video.
Related Videos Per Input20Max related videos per input (min. 10).

👥 Followers & Following

FieldDefaultDescription
Profiles for Followers / FollowingSource profiles to scrape connections from.
Scrape FollowerstrueCollect accounts that follow the profile.
Scrape FollowingfalseCollect accounts the profile follows.
Maximum Items Per Profile1000Max followers or following per source profile (min. 10). The DataDoping/TikTok API typically exposes only the first ~1,000 connections per profile regardless of this limit — large accounts like @tiktok cannot return all followers through this endpoint.

Followers & following at scale: Connections are fetched from DataDoping with max_time pagination. Duplicates are skipped by user id. If the API returns an error-shaped empty page after partial results, the run exits with what was collected so far.

💬 Comments

FieldDefaultDescription
Video URLs or IDs for CommentsVideos to scrape comments from.
Include RepliestrueCollect replies for each comment.
Comments Per Video100Max comments per video (min. 10).
Replies Per Comment20Max replies per comment (min. 10).
FieldDefaultDescription
Creator Search KeywordsKeywords to find TikTok creators (e.g. fitness, ai).
Video Search KeywordsKeywords to find TikTok videos.
Results Per Search Query100Max results per keyword (min. 10).

#️⃣ Hashtags

FieldDefaultDescription
HashtagsHashtag names or URLs, with or without #.
Posts Per Hashtag50Max videos per hashtag (min. 10).

🎶 Music

FieldDefaultDescription
Music URLs or IDsTikTok sound URLs or numeric music IDs.
Videos Per Sound50Max videos per sound (min. 10).

Output

Results are stored in typed datasets in the Output dropdown, and every row is also mirrored into All results (the default dataset used by Export).

DatasetContents
📦 All resultsEvery scraped row — used by Export
📱 PostsVideos/posts from Profiles, Videos, Hashtags, Music, Video Search
🎞️ Related VideosRelated videos when Include Related Videos is enabled
👤 ProfilesProfile rows and optional analytics
👥 Followers & FollowingFollower and following accounts
💬 CommentsComments and replies
🔍 SearchCreator search results (video search → Posts)
#️⃣ HashtagsHashtag metadata (videos → Posts)
🎶 MusicSound metadata (videos → Posts)
⚠️ ErrorsFailed inputs with error messages

Profile example

{
"type": "profile",
"sourceInput": "taylorswift",
"username": "taylorswift",
"nickname": "Taylor Swift",
"bio": "This is pretty much just a cat account",
"profileUrl": "https://www.tiktok.com/@taylorswift",
"avatar": "https://...",
"verified": true,
"followerCount": 33400000,
"followingCount": 0,
"likeCount": 273700000,
"videoCount": 83,
"scrapedAt": "2026-06-25T12:04:47.692Z"
}

Post / video example

{
"type": "post",
"sourceInput": "taylorswift",
"videoId": "7606213554449992991",
"videoUrl": "https://www.tiktok.com/@taylorswift/video/7606213554449992991",
"captionPreview": "I never want to forget a single detail of this hysterical shoot…",
"playCount": 16200000,
"likeCount": 1700000,
"commentCount": 71300,
"shareCount": 47900,
"collectCount": 51100,
"authorUsername": "taylorswift",
"authorNickname": "Taylor Swift",
"authorVerified": true,
"musicTitle": "original sound",
"musicAuthor": "Taylor Swift",
"musicOriginal": true,
"durationSeconds": 26,
"createdAt": "2026-02-12T...",
"scrapedAt": "2026-06-25T12:04:47.692Z"
}

Comment example

{
"type": "comment",
"videoId": "7306132438047116586",
"textPreview": "The way her voice has matured still gets me",
"likeCount": 41678,
"replyCount": 54,
"authorUsername": "kyler",
"authorNickname": "Kyler<3",
"createdAt": "2023-11-27T...",
"scrapedAt": "2026-06-25T12:39:10.000Z"
}

Error example

{
"type": "error",
"sourceInput": "https://www.tiktok.com/@tiktok/video/7234567890123456789",
"error": "Video not found",
"workflow": "videos",
"scrapedAt": "2026-06-25T12:39:12.000Z"
}

Notes

  • Public data only — only publicly available TikTok content is returned.
  • Empty sections are skipped — you do not need to clear unused workflow fields.
  • Freemium limits apply on the free plan (caps on list sizes and per-section maximums). Paid Apify users receive full configured limits.
  • Duplicate inputs are removed automatically within each list.
  • Numeric minimums — most limit fields require at least 10.
  • Related videos depend on upstream API availability; some video IDs may return errors (check ⚠️ Errors).
  • Per-target failures are logged and written to the errors dataset; other targets continue processing.

Prefer a focused single-purpose scraper? These actors cover individual workflows:


Responsible Data Use

Use this actor only for lawful and ethical processing of publicly available data. Respect TikTok's terms of service and applicable privacy and data-protection regulations in your jurisdiction.