TikTok Profile Scraper avatar

TikTok Profile Scraper

Pricing

from $2.00 / 1,000 scraped results

Go to Apify Store
TikTok Profile Scraper

TikTok Profile Scraper

Extract usernames, display names, bios, followers, following, likes, video counts, profile photos, verification status, and privacy status from profile URLs or usernames. Supports , Apify Proxy, and batch exports.

Pricing

from $2.00 / 1,000 scraped results

Rating

0.0

(0)

Developer

Data Pilot

Data Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

🎡 TikTok Profile Scraper is a powerful Apify Actor designed to discover, track, and collect public TikTok Profile data directly from TikTok's own profile pages using a full browser engine. This tool provides comprehensive TikTok Profile intelligence including nickname, bio, follower count, following count, likes, video count, verification status, and profile picture for any accessible TikTok Profile. Whether you're building a creator dashboard, tracking competitor accounts, or conducting social media research, the TikTok Profile Scraper delivers actionable TikTok Profile insights efficiently.

With direct browser automation, embedded JSON state extraction, HTML metadata fallback, and reliable Apify Dataset delivery, the TikTok Profile Scraper ensures comprehensive TikTok Profile coverage across any list of usernames or profile links. It focuses on key TikTok Profile signals including followers, following, likes, and video count, making it an essential tool for social media research and creator intelligence.


πŸ“‹ Table of Contents


πŸ”₯ Features

  • Real Browser Rendering – Uses with headless Chromium to load each TikTok Profile exactly as a real visitor would.
  • Flexible Input Handling – Accepts plain usernames, @handles, or full TikTok Profile URLs and normalizes them automatically.
  • Embedded JSON State Extraction – Reads TikTok's own __UNIVERSAL_DATA_FOR_REHYDRATION__ script tag for accurate, structured TikTok Profile data.
  • HTML Metadata Fallback – Falls back to OpenGraph meta tags when the embedded JSON state isn't available on a TikTok Profile page.
  • Full Engagement Metrics – Captures followers, following, likes, and video count for each TikTok Profile.
  • 404 Detection – Automatically detects and skips TikTok Profile pages that no longer exist.
  • Residential Proxy Support – Apify residential proxy routed through for reliable TikTok Profile access.
  • Realistic Browser Fingerprint – Custom user agent and viewport to reduce detection while loading each TikTok Profile.
  • Batch Processing – Scrape any number of TikTok Profile entries in a single run.
  • Human-Like Pacing – Built-in delay between TikTok Profile page loads to reduce blocking.
  • Real-Time Dataset Push – Pushes all collected TikTok Profile records to Apify Dataset in a single batch.
  • Graceful Error Handling – Skips a failing TikTok Profile without stopping the whole run.

πŸ“Š Data Source

TikTok Public Profile Pages

  • Authority: TikTok's own public-facing profile pages
  • Access Method: Headless Chromium browser via , rendering tiktok.com/@{username}
  • Coverage: Any public TikTok Profile reachable without login
  • Data: Embedded JSON user/stats state, with OpenGraph metadata as fallback
  • Access: Public pages, no API key required
  • Update Frequency: Reflects each TikTok Profile's current live state at time of run

βš™οΈ How It Works

The TikTok Profile Scraper accepts a list of usernames or profile URLs, normalizes each into a clean handle, and drives a real headless Chromium browser to each TikTok Profile page. Once the page loads, the Actor evaluates JavaScript in the browser context to read TikTok's __UNIVERSAL_DATA_FOR_REHYDRATION__ script tag, extracting the structured userInfo object with full user and stats details. If that embedded state isn't available, the Actor falls back to parsing OpenGraph meta tags with BeautifulSoup. Every successfully scraped TikTok Profile record is collected and pushed to the Apify Dataset in a single batch at the end of the run.

Key Processing Steps:

  1. Input Parsing – Accept a list of usernames, handles, or full TikTok Profile URLs
  2. Username Normalization – Strip @ symbols and extract the username from full URLs
  3. Proxy Setup – Configure Apify residential proxy and pass credentials into
  4. Browser Launch – Start headless Chromium with a realistic user agent and viewport
  5. Profile Loop – Iterate through each normalized TikTok Profile username
  6. Page Navigation – Load tiktok.com/@{username} and wait for DOM content
  7. 404 Check – Detect and skip missing TikTok Profile pages
  8. JSON State Extraction – Read the embedded userInfo object via in-page JavaScript
  9. HTML Fallback – Parse OpenGraph metadata if the JSON state is unavailable
  10. Timestamp Tagging – Record scrape time per entry
  11. Rate Limiting – Apply a short delay between TikTok Profile loads
  12. Dataset Push – Push all collected records from the run in a single batch

Key Benefits:

  • Pull TikTok Profile data for any public account without manual visits
  • Detect missing or deactivated TikTok Profile pages automatically
  • Monitor creator and brand accounts' TikTok Profile metrics over time
  • Feed social media dashboards, research pipelines, or influencer-tracking tools
  • Automate recurring TikTok Profile checks as follower or like counts change

πŸ“₯ Input

The Actor accepts the following input parameters:

FieldTypeDefaultDescription
profilesarray(required)List of TikTok Profile usernames, @handles, or full profile URLs.
useApifyProxybooleantrueEnable Apify residential proxies.
apifyProxyGroupsarray["RESIDENTIAL"]Proxy group configuration.

Example Input:

{
"profiles": [
"tiktok",
"@nasa",
"https://www.tiktok.com/@natgeo"
],
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}

Scrape a Single TikTok Profile:

{
"profiles": ["natgeo"]
}

Scrape from Full Profile URLs:

{
"profiles": [
"https://www.tiktok.com/@nasa",
"https://www.tiktok.com/@natgeo"
]
}

πŸ“€ Output

The Actor pushes TikTok Profile records with the following structure:

FieldTypeDescription
usernamestringThe normalized TikTok Profile username used for the request
full_namestringNickname (or unique ID) extracted from the TikTok Profile
profile_urlstringThe full TikTok Profile URL
descriptionstringBio/signature text on the TikTok Profile
followersinteger/nullFollower count for the TikTok Profile
followinginteger/nullFollowing count for the TikTok Profile
likesinteger/nullTotal likes (hearts) received on the TikTok Profile
video_countinteger/nullNumber of videos posted on the TikTok Profile
profile_picstringURL of the TikTok Profile picture
is_verifiedbooleanWhether the TikTok Profile has a verified badge
is_privatebooleanWhether the TikTok Profile is private
scraped_atstringISO 8601 timestamp of when the record was scraped

Example TikTok Profile Record:

{
"username": "natgeo",
"full_name": "National Geographic",
"profile_url": "https://www.tiktok.com/@natgeo",
"description": "Experience the world through the eyes of National Geographic.",
"followers": 5200000,
"following": 120,
"likes": 48000000,
"video_count": 1450,
"profile_pic": "https://p16-sign-va.tiktokcdn.com/...",
"is_verified": true,
"is_private": false,
"scraped_at": "2026-08-05T09:00:00+00:00"
}

🧰 Technical Stack

  • Browser Automation: Playwright with headless Chromium for real TikTok Profile rendering
  • State Extraction: In-page JavaScript evaluation of TikTok's __UNIVERSAL_DATA_FOR_REHYDRATION__ state
  • HTML Parsing: BeautifulSoup for OpenGraph metadata fallback
  • Date Handling: datetime with timezone-aware UTC timestamps
  • Async: asyncio for non-blocking, multi-profile processing
  • Proxy: Apify Proxy with RESIDENTIAL configuration, wired into Playwright's proxy settings
  • Logging: Apify Actor logging system
  • Platform: Apify Actor serverless environment

πŸ“Š Data Fields Explained

Identity

  • username: The normalized handle used to build the TikTok Profile URL
  • full_name: The nickname or unique ID shown on the TikTok Profile

Engagement Metrics

  • followers / following / likes / video_count: Core TikTok Profile growth and activity metrics pulled from the embedded stats object

Profile Details

  • description: The bio/signature text on the TikTok Profile
  • profile_pic: Direct link to the TikTok Profile picture
  • is_verified / is_private: Account verification and privacy status

🎯 Use Cases

  • Creator Research – Evaluate follower and engagement metrics before an influencer partnership
  • Competitor Tracking – Monitor a competitor's TikTok Profile growth over time
  • Social Media Auditing – Verify account authenticity, verification, and privacy status
  • Marketing Analytics – Feed TikTok Profile metrics into campaign dashboards
  • Trend Research – Study public TikTok Profile activity across a niche
  • Brand Monitoring – Track how partner or affiliate accounts present themselves
  • OSINT Research – Gather publicly available TikTok Profile metadata for investigations

πŸš€ Quick Start

1. Prepare Input

Go to Apify Console and enter:

{
"profiles": ["nasa", "natgeo"]
}

2. Run the Actor

Click Start. The Actor will:

  • Normalize each username or URL into a clean TikTok Profile handle
  • Launch a headless browser and visit each TikTok Profile page
  • Extract embedded JSON state or fall back to OpenGraph metadata
  • Push all results to the Dataset

3. Monitor Progress

Console shows:

Initializing TikTok Scraper for 2 account(s)...
[TikTok Scraper] Navigating to profile: '@nasa'
-> Successfully extracted JS state for @nasa
[TikTok Scraper] Navigating to profile: '@natgeo'
-> Successfully extracted JS state for @natgeo
Done! Successfully saved 2 TikTok profile(s) to Dataset.

4. View & Download Results

  • Results Tab: All TikTok Profile records
  • Export: JSON, CSV, Excel, or HTML
  • Filter: By follower count, verification, or privacy status
  • API Access: Available via the Apify API

βš™οΈ Configuration

Single TikTok Profile:

{
"profiles": ["natgeo"]
}

Mixed usernames and URLs:

{
"profiles": [
"@nasa",
"https://www.tiktok.com/@natgeo"
]
}

Run without proxy:

{
"profiles": ["natgeo"],
"useApifyProxy": True
}

πŸ“ˆ Performance

Processing Speed

  • One full browser page load per TikTok Profile
  • Fixed ~4 second settle time per page load plus a 2 second delay between profiles
  • Scales linearly with the number of usernames/URLs submitted

Resource Usage

  • Memory: Moderate, due to running a real Chromium browser instance
  • Network: One page navigation per TikTok Profile, plus associated page assets
  • Proxy: One residential proxy session shared across the browser context for the run

⚠️ Important Notes

  • Fair Use: Respects TikTok's public pages and applies pacing delays between requests
  • Public Data Only: Retrieves only publicly visible TikTok Profile data exposed on the rendered page
  • Privacy: Collecting profile data may be subject to privacy regulations and TikTok's Terms of Service β€” use only for legitimate purposes
  • Legal: Not legal advice β€” consult qualified professionals before using this data for compliance-sensitive decisions

Data Quality

  • Freshness: Reflects each TikTok Profile's live state at time of run
  • Completeness: Follower/likes/video counts depend on the embedded JSON state being available; the HTML fallback returns fewer fields
  • Accuracy: Sourced directly from TikTok's own rendered pages
  • Verification: Cross-check high-stakes figures against the live TikTok app or website

Best Practices

  • Always configure a residential proxy for the most reliable TikTok Profile access
  • Use full profile URLs when a username alone is ambiguous
  • Keep batch sizes reasonable, since each TikTok Profile requires a full browser page load
  • Re-run periodically to track changes in engagement metrics
  • Expect followers, following, and likes to be null when the run falls back to HTML parsing

Terms of Use:

  • Use for legitimate research, marketing, and analytics purposes
  • Respect TikTok's Terms of Service
  • Do not use for unsolicited contact, harassment, or unlawful surveillance
  • Use TikTok Profile data responsibly and in compliance with applicable privacy laws

Disclaimer: TikTok Profile Scraper is provided as-is for research and analytics purposes. Users are responsible for compliance with TikTok's ToS and all applicable laws. This is not legal advice.


βš–οΈ TikTok Profile Excellence

This Actor is optimized for TikTok Profile research with:

  • βœ… Real browser rendering for accurate data
  • βœ… Flexible username/URL input handling
  • βœ… Embedded JSON state extraction with HTML fallback
  • βœ… 404 and missing-profile detection
  • βœ… Real-time Dataset push
  • βœ… Production-ready code