TikTok Profile Scraper – Extract Posts, Stats, Videos & Music avatar

TikTok Profile Scraper – Extract Posts, Stats, Videos & Music

Pricing

from $5.00 / 1,000 posts

Go to Apify Store
TikTok Profile Scraper – Extract Posts, Stats, Videos & Music

TikTok Profile Scraper – Extract Posts, Stats, Videos & Music

Collect public TikTok posts from any profile as structured data: captions, engagement stats, video and image URLs, music metadata, hashtags, tagged users, and author profile info. Ideal for influencer analytics, content research, and social monitoring.

Pricing

from $5.00 / 1,000 posts

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

TikTok Profile Scraper collects public TikTok posts from any public profile and turns them into structured data for content analysis, influencer research, and competitor monitoring. Provide one or more profile URLs — or just @usernames — run the Actor, and export captions, engagement stats, video and music metadata, hashtags, and author profile details to JSON, CSV, Excel, or your preferred integration. Use it to build creator databases, track content performance, and monitor competitors on a schedule. Pricing starts from $0.005 per post, with no fixed subscription cost.

What can you automate with TikTok Profile Scraper?

  • Build creator and influencer databases — collect every public post from target profiles with author metadata, so you can qualify accounts by follower count, verified status, and posting volume.
  • Track content performance over time — capture likes, comments, shares, views, and saves per post to measure what resonates with an audience.
  • Monitor competitors — watch rival brands and creators, and surface the posts, hashtags, and music they rely on.
  • Enrich content research — pull captions, hashtags, tagged users, and music metadata to feed trend and creative briefs.
  • Schedule recurring collection — re-run the Actor automatically so your dataset stays current without manual exports.

Who is this scraper for?

TeamWorkflow
Influencer marketing agenciesQualify creators by follower count, engagement, and posting cadence before outreach.
Market researchersTrack a niche's top profiles and trending hashtags to identify audience interests.
Content and growth teamsBenchmark competitor posting patterns and reuse proven hashtags and sounds.
Social monitoring toolsFeed structured post and author data into dashboards, CRMs, or analytics pipelines.
E-commerce brandsStudy how competitor products are presented and which content drives engagement.

What data can you collect from TikTok?

Data groupExample fieldsHow it helps
Post identityid, url, description, createdAtISO, isImagePostA stable way to reference and deduplicate each post.
Engagementstats — likes (diggCount), comments, shares, views, savesMeasure reach and audience reaction per post.
Mediavideo (play/download URL, cover, duration, dimensions), imagesAccess the actual video or slideshow assets for review or reuse.
Audiomusic (title, artist, duration, play URL, cover)Identify the sounds a creator relies on.
Contexthashtags, taggedUsers, effectStickersUnderstand tagging strategy and trending topics.
AuthorauthorMeta (username, nickname, verified, avatar, follower/following counts, bio)Profile and qualify the account behind the content.
PermissionsitemControl (repost, duet, stitch)See whether a post can legally be re-shared or remixed.

Some fields are conditional — for example, taggedUsers, images, and effectStickers are empty when a post has none.

How to use TikTok Profile Scraper

  1. Open the Actor in the Apify Console.
  2. Enter one or more TikTok profile URLs in profileUrls (full www/m links or just @username work).
  3. Set maxPosts to limit the number of posts collected per profile, or leave 0 for unlimited.
  4. Run the Actor (the residential Apify proxy is on by default for reliable collection).
  5. Export the dataset to JSON, CSV, or Excel, or connect it to an integration.
{
"profileUrls": [
"https://www.tiktok.com/@fcbarcelona",
"@narins.beauty_"
],
"maxPosts": 100
}

Example workflow

Build a weekly report of competitor post performance

  1. Run the Actor every Monday on three competitor profiles with maxPosts set to 100.
  2. In your spreadsheet or CRM, filter posts by createdAtISO for the past week.
  3. Sort by stats (views or likes) to identify each brand's top-performing content.
  4. Deduplicate rows using the stable post id or url so repeat runs don't create copies.
  5. Send the highest-engagement posts to Slack for your content team to review.

The Actor collects and structures the posts; the filtering, sorting, and delivery steps above happen on your side in the tools you already use.

Automate and integrate your results

  • Schedules — set the Actor to run daily or weekly so your dataset tracks new posts automatically.
  • Webhooks — trigger a notification after each successful run to start your downstream pipeline.
  • Integrations — export directly to Google Sheets, or connect Make, Zapier, Slack, a CRM, a database, or cloud storage.
  • API — call the Actor from your own code for recurring pipelines and pass profileUrls and maxPosts programmatically.
  • Deduplication — use the stable post id (or full url) as your unique key when merging runs.

Input reference

FieldTypeRequiredDefaultWhat it controls
profileUrlsarrayYesOne or more TikTok profile URLs or @usernames to collect from.
maxPostsintegerNo0 (unlimited)Stop after this many posts per profile.
proxyobjectNoApify residentialProxy configuration used to avoid rate limiting and geo-restrictions.

What formats does profileUrls accept?

Any profile link format works — https://www.tiktok.com/@fcbarcelona, https://m.tiktok.com/@narins.beauty_, or a bare @username. Pass entries as plain strings or as objects with a url key.

Output example

Each post is saved as one structured JSON object in the dataset:

{
"id": "7678696633919524118",
"url": "https://www.tiktok.com/@fcbarcelona/video/7678696633919524118",
"description": "Hours before his home debut #fcbarcelona #barçaontiktok #rodrigo",
"createdAtISO": "2026-08-27T14:55:00+00:00",
"isImagePost": false,
"hashtags": [
{ "id": "26656", "title": "fcbarcelona" },
{ "id": "7051527303028801541", "title": "barçaontiktok" }
],
"stats": {
"diggCount": 112500,
"shareCount": 507,
"commentCount": 876,
"playCount": 384000,
"collectCount": 4948
},
"music": {
"id": "7678696648914799382",
"title": "sonido original - fcbarcelona",
"authorName": "fcbarcelona",
"duration": 10,
"playUrl": "https://v45.tiktokcdn-eu.com/...",
"isOriginal": true
},
"authorMeta": {
"id": "6594121926820872197",
"uniqueId": "fcbarcelona",
"nickname": "fcbarcelona",
"verified": true,
"avatar": "https://p19-common-sign.tiktokcdn-eu.com/...",
"signature": "One club. One rhythm.",
"followerCount": 71500000,
"followingCount": 35,
"videoCount": 6001
}
}

How much does it cost to scrape TikTok?

TikTok Profile Scraper uses Apify's pay-per-event model. The primary event is posts, charged at $0.005 per post, plus a one-time $0.00005 Actor start charge. There is no subscription fee.

For example, collecting 100 posts costs about $0.50, while a larger run of 10,000 posts costs about $50. Apify platform usage and residential proxy traffic are billed separately based on your plan and the data transferred. Check the Actor's pricing tab on Apify for your account's current rates.

Reliability and responsible use

  • Proxy — a residential Apify proxy is enabled by default; keep it on for reliable, geo-aware collection, especially at larger volumes.
  • Retries and concurrency — the Actor retries failed requests and continues to the next profile if one can't be reached.
  • Conditional fieldstaggedUsers, images, effectStickers, and some media URLs are present only when a post actually has them.
  • Public data — the Actor collects only content that is publicly visible on TikTok profiles; it does not bypass privacy settings.
  • Your responsibility — use the exported data lawfully and in line with TikTok's terms and any applicable data-protection rules.

Frequently asked questions

Can I scrape posts from any TikTok profile?

Yes — any public profile. The Actor follows the profile's publicly visible posts. Private accounts and content hidden by privacy settings are not accessible.

Can I schedule TikTok Profile Scraper to run automatically?

Yes. Configure a schedule in the Apify Console to run the Actor daily, weekly, or on a custom interval, so new posts are collected without manual runs.

What counts as one result?

One result equals one collected post. The pay-per-event charge is $0.005 per post, so the cost scales with how many posts you collect.

Why are some fields empty?

Fields such as taggedUsers, images, and effectStickers are only populated when a post actually contains them. A post with no tagged users will simply have an empty array.

How do I avoid duplicate records?

Use the post id (or the full url) as a stable unique key. Both stay the same across runs, so deduplicate on either when merging datasets.

Do I need a proxy?

A residential Apify proxy is enabled by default and recommended. It reduces rate limiting and lets you collect reliably at higher volumes.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, a sample profile URL, the fields you need, and your expected volume so we can assess the request.