
TikTok Profile Scraper
Pricing
$2.70 / 1,000 results

TikTok Profile Scraper
Extract TikTok profile data including follower count, bio, verification status, and engagement metrics. Perfect for influencer research, competitor analysis, and market research. Fast, reliable, and affordable.
0.0 (0)
Pricing
$2.70 / 1,000 results
1
2
2
Last modified
3 days ago
Extract comprehensive TikTok profile data including follower counts, bio, verification status, and engagement metrics. Perfect for influencer research, competitor analysis, and market research.
Features
✅ No TikTok login required - Scrape public profiles without authentication
✅ Bulk scraping - Process multiple profiles in one run
✅ Rich data extraction - Followers, following, videos, likes, bio, and more
✅ Fast & reliable - Built on enterprise-grade infrastructure
✅ Affordable pricing - Pay only for what you use
✅ Easy to use - Simple input, JSON/CSV output
What data can you extract?
For each TikTok profile, you'll get:
- 👤 Profile Info: Username, display name, bio, profile picture
- 📊 Stats: Follower count, following count, total videos, total likes
- ✅ Verification: Verified badge status
- 🔗 Links: External website links
- 📅 Metadata: Account creation info, scraping timestamp
Input
The actor accepts the following input parameters:
{"handles": ["khaby.lame","@charlidamelio","https://www.tiktok.com/@stoolpresidente","https://tiktok.com/@bellapoarch"]}
Input Parameters
Parameter | Type | Required | Description |
---|---|---|---|
handles | Array | Yes | List of TikTok handles/URLs to scrape. Supports multiple formats (see below) |
Supported Handle Formats
The actor intelligently handles multiple input formats:
✅ Plain handle: khaby.lame
✅ With @ symbol: @khaby.lame
✅ Full TikTok URL: https://www.tiktok.com/@khaby.lame
✅ Short TikTok URL: https://tiktok.com/@khaby.lame
✅ With URL parameters: https://www.tiktok.com/@khaby.lame?lang=en
All formats are automatically cleaned and processed correctly!
Output
The actor stores results in the default dataset. You can export data in JSON, CSV, Excel, or other formats.
Example Output
{"handle": "khaby.lame","success": true,"user": {"id": "127905465618821121","shortId": "","uniqueId": "khaby.lame","nickname": "Khabane lame","avatarLarger": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-avt-0068-euttp/e755d298d36b3175a2ca87d603b5dc2d~tplv-tiktokx-cropcenter:1080:1080.jpeg?...","avatarMedium": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-avt-0068-euttp/e755d298d36b3175a2ca87d603b5dc2d~tplv-tiktokx-cropcenter:720:720.jpeg?...","avatarThumb": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-avt-0068-euttp/e755d298d36b3175a2ca87d603b5dc2d~tplv-tiktokx-cropcenter:100:100.jpeg?...","signature": "Se vuoi ridere sei nel posto giusto😎 If u wanna laugh u r in the right place😎","createTime": 1470866554,"verified": true,"secUid": "MS4wLjABAAAAwAg0rSzO65WQfz4RzQgGv2Xdv108BgPXhRrrmNVIHQZ9PO8-flwwRtEppYTS0OjA","ftc": false,"relation": 0,"openFavorite": false,"bioLink": {"link": "https://bit.ly/3Zn5cDf","risk": 3},"commentSetting": 0,"commerceUserInfo": {"commerceUser": false},"duetSetting": 0,"stitchSetting": 0,"privateAccount": false,"secret": false,"isADVirtual": false,"roomId": "","uniqueIdModifyTime": 0,"ttSeller": false,"downloadSetting": 0,"profileTab": {"showMusicTab": false,"showQuestionTab": false,"showPlayListTab": false},"followingVisibility": 1,"recommendReason": "","nowInvitationCardUrl": "","nickNameModifyTime": 0,"isEmbedBanned": false,"canExpPlaylist": true,"profileEmbedPermission": 1,"language": "en","eventList": {},"suggestAccountBind": false,"isOrganization": 0,"UserStoryStatus": 0},"statsV2": {"followerCount": "161207758","followingCount": "83","heartCount": "2544543374","videoCount": "1289","diggCount": "0","friendCount": "74"},"itemList": {}}
Output Fields
Main Fields
Field | Type | Description |
---|---|---|
handle | String | TikTok handle you searched for |
success | Boolean | Whether the scrape was successful |
User Object Fields
Field | Type | Description |
---|---|---|
user.id | String | Unique TikTok user ID |
user.uniqueId | String | TikTok username (handle) |
user.nickname | String | Display name |
user.signature | String | Bio/description |
user.verified | Boolean | Verified badge status |
user.privateAccount | Boolean | Whether account is private |
user.avatarLarger | String | Large profile picture URL (1080x1080) |
user.avatarMedium | String | Medium profile picture URL (720x720) |
user.avatarThumb | String | Small profile picture URL (100x100) |
user.bioLink | Object | External link in bio (link, risk) |
user.createTime | Integer | Account creation timestamp (Unix) |
user.secUid | String | Secure user ID |
user.language | String | Account language |
user.commentSetting | Integer | Comment settings (0 = everyone) |
user.duetSetting | Integer | Duet settings |
user.stitchSetting | Integer | Stitch settings |
user.downloadSetting | Integer | Download settings |
user.commerceUserInfo | Object | Commerce/shop information |
user.profileTab | Object | Profile tab visibility settings |
user.followingVisibility | Integer | Following list visibility |
Stats Object (statsV2)
Field | Type | Description |
---|---|---|
statsV2.followerCount | String | Total followers (accurate for large numbers) |
statsV2.followingCount | String | Total following |
statsV2.heartCount | String | Total likes received across all videos |
statsV2.videoCount | String | Total videos posted |
statsV2.diggCount | String | Total likes given by user |
statsV2.friendCount | String | Total friends |
Note: Stats are returned as strings to preserve accuracy for very large numbers (billions+).
Additional Fields
Field | Type | Description |
---|---|---|
itemList | Object | May contain additional profile items (usually empty) |
Error Response Format
When a profile fails to scrape, you'll receive an error object:
{"handle": "invalid_handle","success": false,"error": "Account doesn't exist"}
Note: Failed profiles are still included in your dataset so you can see which handles had issues.
Use Cases
📈 Influencer Research
Find and analyze influencers in your niche. Compare follower counts, engagement rates, and content strategies.
🔍 Competitor Analysis
Track your competitors' growth over time. Monitor their follower counts and content performance.
🎯 Market Research
Identify trending creators and content in your industry. Discover emerging influencers before they go mainstream.
📊 Data Analysis
Build datasets for social media analytics. Export to Excel or Google Sheets for further analysis.
🤖 Automation
Integrate with other tools via API. Automate your influencer outreach workflow.
Tips & Best Practices
⚡ Faster Scraping
- Process profiles in parallel (actor does this automatically with batches of 10)
- Scrape during off-peak hours for better performance
- Remove duplicate handles before scraping
💰 Cost Optimization
- Set
maxProfiles
to limit costs when testing - Remove duplicate handles from your list
- Monitor your usage in Apify Console
🎯 Better Results
- Supports all input formats (URLs, @handles, plain handles)
- Actor automatically cleans and normalizes all inputs
- Verify handle accuracy before scraping
- Use exact TikTok usernames (case-insensitive)
- Check the
success
field to identify failed scrapes
Error Handling
The actor handles errors gracefully and includes failed profiles in your dataset with clear error messages. Simply filter by the success
field to see which profiles failed and why.
Support
Need help? Have questions?
- 📧 Email: support@sociavault.com
- 💬 Discord: Join our community
- 📚 Documentation: docs.sociavault.com
Related Actors
Check out our other social media scrapers:
- Instagram Profile Scraper - Extract Instagram profile data
- TikTok Video Scraper - Extract videos from TikTok profiles
- YouTube Channel Scraper - Get YouTube channel information
- Facebook Page Scraper - Scrape Facebook page data
- TikTok Hashtag Scraper - Search videos by hashtag
- TikTok Trending Scraper - Get trending videos by region
License
Apache 2.0
Made with ❤️ by SociaVault
On this page
Share Actor: