The best TikTok profile scraper depends on what you want back. For one public creator’s bio and account counts as JSON, I’d choose ScrapeCreators. For scheduled exports that also collect videos, Apify’s TikTok Profile Scraper is a better fit. Bright Data suits bulk record delivery. Thunderbit and Octoparse suit spreadsheet workflows without writing a scraper.
I run ScrapeCreators, so that’s a founder recommendation, not an independent ranking. I checked the linked product pages and pricing on October 7, 2026, and called our profile endpoint with three public handles plus one invalid input. I did not run the other vendors’ extraction tools.
Quick comparison
This shortlist is about public profile metadata: identity, bio, followers, following, total likes, and video count. A follower count is not a follower list. A video count is not a video archive.
| Tool | Choose it for | Input and output | Cost basis checked October 7, 2026 | Watch out for |
|---|---|---|---|---|
| ScrapeCreators | Profile lookups inside an app or script | Handle or user ID; user and stats JSON | $47 for 25,000 credits; live profile lookup costs 1 credit | You build exports and scheduling; videos and follower lists are separate resources |
| Apify | Scheduled runs and downloadable datasets | Profile handles; dataset with profile/video information | Result event: $3/1,000 on Free, $2 on Starter, $1.50 on Scale, $1 on Business | Plan commitments and add-ons matter; a result can be a video row |
| Bright Data | Bulk profile records with managed delivery | Profile collection and discovery routes; structured records | Pay as you go: $1.50/1,000 records; 5,000 free records/month advertised | Validate exact dataset fields and record grain rather than assuming one API call equals one record |
| Thunderbit | Collecting profile fields into a spreadsheet | Profile pages; table export | Starter: $9/month billed yearly, 5,000 credits/year; normal row costs 1 credit | Subpage rows cost 2 credits; extension pricing is not automatically API pricing |
| Octoparse | A ready-made no-code profile/video template | Profile URLs; Excel, CSV, or JSON | Template advertises $1/1,000 lines and Standard access; Standard from $69/month billed annually | Template usage and plan access are separate; video rows repeat creator fields |
If you need comments, search, transcripts, or several TikTok resources, use the broader TikTok scraper comparison. Those are different buying decisions. This page stays focused on profile data.
Start with the output you need
Before choosing a tool, write down the unit of your dataset. Is each row a creator, a video, or a follower account? Several products called a “profile scraper” also pull posts. Their exports can repeat the same creator metadata once per video.
For a creator table, a useful minimum is a stable user ID, current handle, display name, bio, public bio link, verification flag, account counts, and your own collection timestamp. Keep IDs as strings. TikTok IDs are large numbers, and careless spreadsheet or JavaScript conversion can change them.
Don’t turn a missing value into a made-up metric. An absent bio link does not mean the creator has no website. A missing follower count should remain unknown, not zero. A successful HTTP status without the requested user identity is not a useful lookup.
The original field map below separates profile snapshots, mixed profile/video exports, and authorized account access. These routes answer different questions even when they all contain a username.

1. ScrapeCreators for public profile JSON
Our TikTok profile endpoint accepts handle or user_id. It returns a user object for identity and profile fields, plus stats for account counts. It does not return the creator’s actual videos or a list of their followers in that response.
That shape is convenient for a creator directory, an account lookup, or a periodic public-stat snapshot. Fetch the known handle, validate the returned identity, and store the fields your product needs. You don’t have to start a scraping job and then fetch a separate dataset.
On October 7, the stoolpresidente, mrbeast, and tiktok requests each returned HTTP 200, success: true, the matching handle, and one charged credit. These were three spot checks, not a reliability benchmark. A request with handle=@mrbeast returned a failed response with zero charged credits and a message asking for text without the @.
Choose ScrapeCreators if you want a small REST integration and will own your database, retries, and schedule. Choose another option if your main requirement is an already-built spreadsheet export or a bundled video archive. For region-specific research, do not infer the creator’s country from a bio or a US collection request; check the dedicated capability and its returned evidence separately.
Pricing is pay as you go, with credits that do not expire. The $47 pack contains 25,000 credits. The docs also support cache_max_age: an available qualifying cached response costs zero credits, while a cache miss uses the normal live endpoint cost. Cache is a freshness choice, not a promise that every request is free. The spot checks above did not request cached results.
2. Apify for runs, schedules, and exports
The Clockworks TikTok Profile Scraper accepts profile handles and supports downloadable datasets, scheduled runs, and API access. Its README includes video rows with profile data inside authorMeta. That’s useful when you want both creators and their posts, but it changes how you count output.
Apify’s profile-scraper walkthrough shows handle input, configurable results, export formats, and scheduling. Treat the walkthrough as a workflow explanation. Use today’s input schema and pricing tab for current settings and charges.
The rendered pricing table showed a result event at $3 per 1,000 on Free, $2 on Starter, $1.50 on Scale, and $1 on Business. Starter was $19/month plus pay as you go. The $1 headline is the Business event rate, not the Free-plan rate. Platform costs were listed as included for this Actor, while optional filters, follower/following extraction, comments, downloads, and transcripts had additional event rows.
Choose this Actor if its run-and-dataset workflow saves you work. For a profile-only project, verify how to avoid unnecessary post collection and which events your chosen configuration triggers. Don’t buy it on the assumption that every 1,000 results represent 1,000 distinct creators.
3. Bright Data for bulk profile records
Bright Data’s TikTok Profiles Scraper API describes profile fields including username, nickname, user ID, bio, account counts, and verification status. The page distinguishes direct profile collection from discovery by search URL and country, as well as separate post datasets.
That separation is helpful for a team procuring a bulk creator dataset rather than adding a single-profile lookup to an application. Match the exact scraper and sample schema to your intended table before integrating. An engagement-rate field is not interchangeable with a raw follower or like count; ask how any derived metric is defined.
The profile product page advertised 5,000 free records per month and $1.50 per 1,000 records on pay as you go. It also described success-based charging and included proxy, unblocking, and parsing costs. Those are published terms, not an extraction benchmark from this article.
Choose Bright Data when bulk record delivery and its delivery workflow fit your team. For one creator at a time, compare the request lifecycle and setup effort with a direct REST lookup. Keep profile records and discovered post records separate when estimating your bill.
4. Thunderbit for spreadsheet-first work
Thunderbit’s profile tool describes extracting nickname, bio, followers, total likes, and related fields from profile pages into a table. Its Chrome-extension workflow and export destinations suit someone who wants to inspect a table rather than write an API client.
Thunderbit also promotes an API and MCP. It would be inaccurate to call it “browser only.” The buying question here is whether the extension’s profile workflow solves your job, not whether the company has any developer product.
The browser-rendered pricing page showed Starter at $9/month billed yearly, with 5,000 credits for the year available upfront. The credit FAQ says one ordinary output row costs one credit; a row using subpage scraping costs two. Its Free tier advertised six pages per month, with a maximum of 30 credits per page. Verify separate API terms if you intend to use the developer route.
Choose Thunderbit for a small, inspectable creator spreadsheet. If you’re building a server-side system, evaluate its API contract separately rather than treating an extension tutorial as production integration evidence. Check the exported fields against the source page before using AI-suggested columns as facts.
5. Octoparse for a ready-made template
Octoparse’s TikTok Profile Scraper template takes one or more profile URLs and advertises public creator details plus recent video metadata. Its sample columns include creator bio and counts alongside video URL, post date, caption, views, and likes.
This suits an analyst who wants a preset extraction task and file output without maintaining a parser. It is less tidy if your database requires exactly one creator row and nothing else. Decide how to deduplicate creator fields repeated across video rows.
The template listed $1 per 1,000 lines and Standard access. Octoparse’s plan page listed Standard from $69/month billed annually. These describe different costs: permission to use the template and its usage charge. The general Free plan does not establish free access to every paid template.
Choose Octoparse if the current template’s inputs and columns match your task. Check its output and access level first. A low line price doesn’t make a subscription worthwhile for a handful of occasional profile checks.
When TikTok’s official API is the right choice
TikTok’s Get User Info endpoint uses a bearer token representing a user’s authorization. Profile and statistics fields require the appropriate scopes. It is not a generic endpoint where you pass any public username and receive that person’s profile.
Use this authorized route when your application connects participating creators’ accounts and its fields meet your needs. Don’t replace consent-based account access with scraping just because a public lookup is simpler to demonstrate.
A public profile snapshot also does not establish access to private analytics such as retention, traffic sources, or search queries. Viewers asked for those in the Apify TikTok walkthrough’s discussion, and the fetched creator reply distinguished publicly available extraction from analytics behind login. That distinction belongs in your requirements before you pick a vendor.
A checked request and a useful snapshot
This is the request used for one of the public spot checks. Set SCRAPE_CREATORS_API_KEY locally; do not paste a real key into your source repository.
curl --fail-with-body --get 'https://api.scrapecreators.com/v1/tiktok/profile' \
--data-urlencode 'handle=stoolpresidente' \
--header "x-api-key: $SCRAPE_CREATORS_API_KEY"
This is a shortened excerpt of the saved October 7 response, not invented sample output:
{
"success": true,
"credits_charged": 1,
"user": {
"id": "6659752019493208069",
"uniqueId": "stoolpresidente",
"nickname": "Dave Portnoy",
"verified": true,
"privateAccount": false
},
"stats": {
"followerCount": 4800000,
"followingCount": 97,
"heartCount": 231300000,
"videoCount": 2556
}
}
These counts can change. privateAccount: false is a returned field, not proof that every video or another resource is accessible. The response doesn’t include the 2,556 videos merely because videoCount reports that number.
For your own normalized table, retain user.id, user.uniqueId, user.signature, user.bioLink.link when present, and the count fields you need. Add an application-generated collected_at timestamp. Keep the original response or a schema version so field changes don’t silently corrupt your history.
Compare a complete job, not headline prices
At the $47 pack rate, one-credit live profile requests consume $1.88 of credit value per 1,000 lookups. Monitoring 100 known handles once a day for 30 days would consume 3,000 credits, or $5.64 of that pack’s value. That’s a model assuming every request uses one credit and no cache hits. It is not a $5.64 checkout option, and it excludes any discovery or extra-resource requests.
Compare that creator-snapshot job with the other tools only after fixing their output unit. Apify bills result events and optional events. Bright Data’s page prices records. Thunderbit prices rows with a subpage multiplier. Octoparse’s template prices lines plus plan access. One row containing a video and its author is not equivalent to one fresh creator snapshot.
A public Reddit discussion about repeatable profile collection raised maintenance and affordable provider choices. Some responses promoted their own tools, so this isn’t an independent consensus. The practical question still holds: who fixes upstream breakage, and what does your application do when today’s lookup fails?
Keep the last known snapshot on errors, record failures separately, and use bounded retries. Don’t overwrite a known follower count with zero because a request returned no usable data.
Questions to settle before buying
What is the best TikTok profile scraper for an app?
ScrapeCreators is my pick for a direct public-profile JSON lookup. Apify is a better fit when your app already uses Actor runs, datasets, and schedules. Bright Data may fit bulk record procurement better. Test your actual input list and required fields before committing.
Can a profile scraper return every follower or video?
Not merely because it returns follower and video counts. Our profile endpoint returns metadata and stats. Follower lists and videos use separate endpoints and access rules. A scraper that bundles posts still needs a completeness check against the rows actually returned.
Can I get private TikTok analytics?
A public-profile scraper should not be selected for private analytics. TikTok’s authorized account APIs are a separate route, and their scopes and available fields matter. Don’t promise retention or traffic-source metrics from public follower and like counts.
Can I scrape profiles without writing code?
Yes. Apify’s interface, Thunderbit’s extension, and Octoparse’s template support no-code workflows. Check whether the current output is one row per creator or one row per video, and inspect a small export before scaling.
Is a TikTok profile scraper an email finder?
Not automatically. A public bio may contain a contact address or link, but a profile scraper does not prove an address is verified, current, or appropriate for outreach. For broader creator research, our creator research skill explains why public contact fields need careful handling.
Public visibility does not remove privacy, contract, copyright, or data-protection obligations. Collect only what your product needs, avoid private or sensitive targeting, and set retention rules. If a simple public JSON lookup fits, create an account and try a known handle. If you need a finished spreadsheet or an authorized account connection, start with that workflow instead.

