TikTok Profile & Video Data Scraper | $0.25 / 1K avatar

TikTok Profile & Video Data Scraper | $0.25 / 1K

Pricing

from $0.25 / 1,000 profile scrapeds

Go to Apify Store
TikTok Profile & Video Data Scraper | $0.25 / 1K

TikTok Profile & Video Data Scraper | $0.25 / 1K

TikTok profile data (followers, likes, bio, verified) and video stats by URL (plays, likes, shares, saves, hashtags, music). No login. Does not list a profile's videos or scrape comments or search. $0.25 per 1,000 results.

Pricing

from $0.25 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Hriday Rungta

Hriday Rungta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

TikTok Profile & Video Data Scraper | Followers, Plays, Likes, Hashtags

Get TikTok profile data and video stats from public pages, without a login or a TikTok API key. Paste usernames and get followers, following, total likes, video count, bio, bio link and verified badge. Paste video URLs and get plays, likes, comments, shares, saves, hashtags, music and author details for each video. Export as JSON, CSV or Excel, or send it to Google Sheets, Make, n8n or Zapier.

It reads TikTok's public pages over plain HTTP: no browser, no login, no cookies. $0.25 per 1,000 results (flat, same price on every Apify plan) plus a $0.0002 start fee per run.

What it does not do: it cannot list a profile's videos, and it cannot scrape comments, hashtag pages, search results or follower lists. TikTok only serves those through signed requests, which this Actor does not forge. It works by profile (stats) and by single video URL (details). See the limits below.

What can you do with TikTok profile and video data?

  • Check TikTok follower counts and profile data. Get followers, following, likes, video count, verified badge, private flag, organization flag and bio link for any public profile.
  • Vet creators before outreach. Compare followers, likes and videos across a list of creators, and read the bio link they list.
  • Get TikTok video stats by URL. Plays, likes, comments, shares and saves for the videos in a campaign, a competitor study or a content audit.
  • Calculate TikTok engagement rate. The stats are in the rows, so you can compute (likes + comments + shares + saves) / plays in a spreadsheet.
  • Research hashtags and music on videos you already have. Each video row lists its hashtags, mentions and music.
  • Monitor stats over time. Schedule the same list of profiles or videos daily or weekly and compare the datasets to track growth.

Ready-made versions of these jobs are available as saved tasks on this Actor's page: profile stats check and video stats by URL.

What it does, and what it does not do

You give itYou get
TikTok usernames or profile URLsOne row per profile: followers, following, likes, videos, friends, bio, bio link, verified, private flag, organization flag, language, account creation date, avatar
TikTok video URLs or video IDsOne row per video: caption, creation date, plays, likes, comments, shares, saves, duration, size, hashtags, mentions, author with follower count, music, ad and AI flags, cover and video links

Honest limits, please read:

  • It does not list a profile's videos. TikTok only serves a profile's video list through signed API calls, and this Actor does not forge signatures. To scrape specific videos, paste their URLs.
  • No comments, no hashtag pages, no search, no followers or following lists (all need signed or logged-in requests).
  • No video downloading. The videoUrl field is the link TikTok shows publicly on the video page. It expires within hours.
  • Private accounts and private or deleted videos return a row with status: "private" or "not-found". Those rows are free.
  • Numbers are what TikTok shows at the moment of the request. Large video stats can be rounded by TikTok.

Input

FieldTypeDescription
profileslistUsernames (nasa, @nasa) or profile URLs
videoUrlslistVideo URLs (https://www.tiktok.com/@user/video/123...) or numeric video IDs
maxItemsnumberCost cap: at most this many profiles + videos are processed (default 100)
maxConcurrencynumberParallel requests, 1 to 10 (default 5)
useProxyFallbackbooleanRe-try refused pages on fresh Apify datacenter proxy sessions (default on, no extra price)

Duplicates are merged and invalid entries are skipped with a warning.

Input example

{
"profiles": ["nasa", "khaby.lame"],
"videoUrls": ["https://www.tiktok.com/@dearmebeauty/video/6893431881816149250"],
"maxItems": 10
}

Output

Profile row

type, username, url, userId, secUid, nickname, bio, bioLink, verified, privateAccount, isOrganization, isShopSeller, language, accountCreatedAt, followers, following, likes, videos, friends, avatarUrl, status, scrapedAt.

Example (real run):

{
"type": "profile",
"username": "nasa",
"url": "https://www.tiktok.com/@nasa",
"userId": "7664638705177150477",
"nickname": "NASA",
"bio": "Making the seemingly impossible, possible.✨",
"bioLink": "science.nasa.gov/feature/artemis-ii-preliminary-lunar-science-report",
"verified": true,
"privateAccount": false,
"isOrganization": true,
"isShopSeller": false,
"language": "en",
"accountCreatedAt": "2026-07-20T15:55:49.000Z",
"followers": 2110051,
"following": 23,
"likes": 11211716,
"videos": 57,
"friends": 17,
"status": "ok",
"scrapedAt": "2026-10-20T04:00:04.005Z"
}

Video row

type, id, url, text, createdAt, plays, likes, comments, shares, saves, durationSec, width, height, coverUrl, videoUrl, isPhotoPost, hashtags, mentions, author{username, nickname, userId, verified, followers, url}, music{id, title, author, isOriginalSound, durationSec, url}, isAd, isAiGenerated, commentsAllowed, locationCreated, language, categories, status, scrapedAt.

Example (real run, links shortened):

{
"type": "video",
"id": "6983617148866268422",
"url": "https://www.tiktok.com/@vangie.kay/video/6983617148866268422",
"text": "Holiday themed birthday party for Morgan, Shaye and I! #fypシ #holidayparty #birthday #newyears #valentines",
"createdAt": "2021-07-11T10:41:23.000Z",
"plays": 10600000,
"likes": 2500000,
"comments": 17900,
"shares": 32100,
"saves": 91288,
"durationSec": 70,
"coverUrl": "https://p16-common-sign.tiktokcdn-us.com/...",
"videoUrl": "https://v16-webapp-prime.us.tiktok.com/video/tos/...",
"isPhotoPost": false,
"hashtags": ["fypシ", "holidayparty", "birthday", "newyears", "valentines"],
"mentions": [],
"author": { "username": "vangie.kay", "nickname": "Vangie", "verified": false, "followers": 24600 },
"music": { "title": "original sound", "author": "Vangie", "isOriginalSound": true, "durationSec": 70 },
"isAd": false,
"isAiGenerated": false,
"locationCreated": "US",
"language": "en",
"status": "ok",
"scrapedAt": "2026-10-20T04:00:30.938Z"
}

Pricing

EventPrice
Actor start (once per run)$0.0002
Profile scraped$0.00025 ($0.25 / 1,000)
Video scraped$0.00025 ($0.25 / 1,000)

You are only charged for rows that return data. Private, deleted, not-found and blocked rows are free.

Worked examples:

  • 100 profiles: $0.0002 + 100 x $0.00025 = $0.0252
  • 1,000 videos: $0.0002 + 1,000 x $0.00025 = $0.2502
  • 10,000 profiles: $2.50

The price is the same on the Free, Starter, Scale and Business plans. maxItems caps the number of rows, so a run never costs more than the start fee plus maxItems x $0.00025.

How to use it

  1. Open the Actor and paste usernames into Profiles and/or video URLs into Video URLs.
  2. Set Max items as a cost cap and click Start.
  3. Download the dataset as JSON, CSV or Excel, or call it from the API.

Integrations and scheduling

  • Apify Schedules: run the same list of profiles or videos every day or week and compare datasets to track follower and play growth.
  • Google Sheets, Make, n8n, Zapier: push every run's dataset to your tools, for example by webhook when the run succeeds.
  • API: start runs and read the dataset over the Apify API, or use the Apify client for JavaScript or Python.
  • MCP and AI agents: call it from AI agents through Apify's MCP server.

FAQ

Is this a TikTok API alternative?

For reading public profile stats and single-video stats, yes: you do not need a TikTok developer account or API key. It is not a full replacement. It cannot list a profile's videos, read comments, search or pull hashtag pages, and it cannot post or read private data.

Can I get all the videos of a profile?

No. See the limits above. Give the video URLs you need.

Can I scrape TikTok comments, hashtags or search results?

No. Those need signed or logged-in requests, which this Actor does not use. For those jobs, use a full TikTok scraper such as TikTok Scraper by clockworks.

Can I download TikTok videos without a watermark?

No. This Actor returns data about videos, not video files. The videoUrl field is a public link from the video page and it expires within hours.

How do I get TikTok follower counts for a list of creators?

Put the usernames in profiles. Each row has followers, following, likes and videos. Schedule it to track change over time.

How do I calculate TikTok engagement rate?

Use the video stats: (likes + comments + shares + saves) divided by plays, per video. The Actor returns all four numbers and the plays, so the calculation is a single spreadsheet column.

Why did some rows come back as not-found or private?

The username or video does not exist, was deleted, or is private. These rows are free. If most of your list is invalid, the run stops early.

Will TikTok block it?

TikTok can change or restrict access at any time. The Actor fetches directly first and retries refused pages on fresh proxy sessions. If TikTok refuses 12 requests in a row it stops and charges nothing for those.

It reads public pages only: no login, no private data. You are responsible for using the data in line with TikTok's Terms of Service and privacy laws such as GDPR. Do not use it to profile private individuals.