TikTok Profile Scraper avatar

TikTok Profile Scraper

Pricing

from $5.00 / 1,000 posts

Go to Apify Store
TikTok Profile Scraper

TikTok Profile Scraper

Scrape posts from any public TikTok profile. Extracts posts with video/CDN URLs, engagement stats (likes, comments, shares, views), music metadata, hashtags, tagged users, author profile info, and more.

Pricing

from $5.00 / 1,000 posts

Rating

0.0

(0)

Developer

Rigel Bytes

Rigel Bytes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Extract all posts from any public TikTok profile. Get video/CDN URLs, engagement stats (likes, comments, shares, views), music metadata, hashtags, tagged users, author profile info, and more — perfect for content analysis, influencer research, or competitive intelligence.

For just $5 per 1,000 posts, you can scrape TikTok profiles with ease.


Features

  • Extract all posts from any public TikTok profile:
    • Post ID & URL
    • Description / caption
    • Creation date (Unix + ISO 8601)
    • Video URLs (play, download, best quality) + cover images
    • Image/slideshow post support (extracts all images)
    • Engagement stats: likes, comments, shares, views, saves
    • Music metadata: title, artist, duration, play URL, cover art
    • Hashtags with IDs and descriptions
    • Tagged users with positions
    • Effect stickers used
    • Author profile metadata: username, nickname, avatar, bio, verified, follower/following/heart/video counts
    • Item controls: can repost, can duet, can stitch
  • Fast two-phase extraction: SSR parsing for instant first batch, stealth browser for complete pagination
  • Proxy support for geo-restrictions and rate-limit avoidance
  • Reliable with retry mechanisms

Pricing

  • $5 per 1,000 posts
  • No hidden fees or limits on usage.

Input

The actor accepts the following input:

  • profileUrls (array, required): TikTok profile URLs. Supports any format (e.g. https://www.tiktok.com/@fcbarcelona, https://m.tiktok.com/@narins.beauty_, or just a username).
  • maxPosts (integer, optional): Max posts to scrape per profile. 0 = unlimited. Default: 0.
  • proxy (object, optional): Proxy configuration. Highly recommended for large-scale scraping.

Input Example

{
"profileUrls": [
{"url": "https://www.tiktok.com/@fcbarcelona"},
{"url": "https://www.tiktok.com/@narins.beauty_"}
],
"maxPosts": 100,
"proxy": {
"useApifyProxy": true
}
}

Output

Each post is saved as a structured JSON object in the dataset. Example:

{
"id": "7639302892674944278",
"url": "https://www.tiktok.com/@fcbarcelona/video/7639302892674944278",
"description": "#fcbarcelona #barçaontiktok 🔵🔴",
"createdAt": 1778663821,
"createdAtISO": "2026-05-12T19:57:01+00:00",
"isImagePost": false,
"hashtags": [
{"id": "26656", "title": "fcbarcelona", "description": ""},
{"id": "12345", "title": "barçaontiktok", "description": ""}
],
"taggedUsers": [],
"video": {
"duration": 30,
"cover": "https://p16-common-sign.tiktokcdn-eu.com/...",
"dynamicCover": "https://p16-common-sign.tiktokcdn-eu.com/...",
"playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/...",
"downloadUrl": "https://v16-webapp-prime.tiktok.com/video/tos/...",
"bestQualityUrl": "https://v16-webapp-prime.tiktok.com/video/tos/...",
"width": 1080,
"height": 1920,
"ratio": "9:16"
},
"stats": {
"diggCount": 26200,
"shareCount": 141,
"commentCount": 364,
"playCount": 149800,
"collectCount": 847
},
"music": {
"id": "7420525641043855361",
"title": "New Skills",
"authorName": "Prodbyecho",
"duration": 59,
"playUrl": "https://sf16-ies-music-sg.tiktokcdn.com/...",
"coverLarge": "https://p77-sg.tiktokcdn.com/...",
"isOriginal": false
},
"authorMeta": {
"id": "6594121926820872197",
"uniqueId": "fcbarcelona",
"nickname": "FC Barcelona",
"verified": true,
"avatar": "https://p16-common-sign.tiktokcdn-eu.com/...",
"signature": "🏆 Get the OR jersey 🏆",
"followerCount": 66800000,
"followingCount": 31,
"heartCount": 2700000000,
"videoCount": 5681
},
"itemControl": {
"canRepost": true,
"canDuet": true,
"canStitch": true
}
}

Running via Apify Console

Go to the Apify Console, find the TikTok Profile Scraper actor, enter your profile URLs, and click Run.

Running via API (Python)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"profileUrls": [
{"url": "https://www.tiktok.com/@fcbarcelona"}
],
"maxPosts": 100
}
run = client.actor("rigelbytes/tiktok-profile-scraper").call(run_input=run_input)

Running via API (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const input = {
profileUrls: [{ url: 'https://www.tiktok.com/@fcbarcelona' }],
maxPosts: 100,
};
const run = await client.actor('rigelbytes/tiktok-profile-scraper').call(input);

Running with cURL

API_TOKEN=<YOUR_API_TOKEN>
cat > input.json <<'EOF'
{
"profileUrls": [{"url": "https://www.tiktok.com/@fcbarcelona"}],
"maxPosts": 100
}
EOF
curl "https://api.apify.com/v2/acts/rigelbytes/tiktok-profile-scraper/runs?token=$API_TOKEN" \
-X POST -d @input.json -H 'Content-Type: application/json'

Why Choose This Scraper?

  • Affordable: Just $10 for 1,000 posts.
  • Comprehensive: Extracts every post with full metadata, engagement stats, music info, and author profile.
  • Fast: SSR parsing for instant first batch, optimized browser for pagination.
  • Easy to Use: Simple input format, runs with one click.
  • Reliable: Built with retry mechanisms and stealth browser technology.

Shifter

  • Reliable residential proxies worldwide
  • Competitive rates
  • Order Shifter Now
  • Get 10% Off with coupon rigelbytes-YoBB

OxyLabs

  • 100M+ Proxies
  • Fastest proxies in the market
  • Real profile, human-like Residential IPs
  • Get Proxies

DataImpulse

About Rigel Bytes

Rigel Bytes specializes in web scraping, automation, and data analytics. We help businesses extract and leverage valuable data for informed decision-making.

Contact Us

Ready to unlock the power of data? Reach out to us at (contact@rigelbytes.com) or book an appointment.