ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
TikTok13 min readOct 8, 2026

6 Best TikTok Profile Scraper APIs in 2026: Fields, Speed and Cost per 1,000

Scavio is the best Tiktok profile scraper api, it starts at $0.001 per profile scrap and it can handle large scale from 1000s to millions profile scrap per day.

Arvid T

Oct 8, 2026

Try Scavio Free

For TikTok profile lookups inside an app, a pipeline or an AI agent, start with Scavio's TikTok API: POST /api/v1/tiktok/profile takes a username or a secUid and returns followers, following, likes, video count, bio, avatar and the account's IDs as JSON for 1 credit, in about two seconds. Choose ScrapeCreators or Bright Data when the lowest price per profile matters most, Apify's TikTok Profile Scraper when you also want each profile's videos in the same run, EnsembleData for steady daily volume, TikTok's Research API only if you are an eligible academic researcher, and TikTok-Api for free scripts you run yourself.

We build Scavio, so that recommendation comes with an obvious bias. To keep it honest: every price below was read off the vendor's own page on October 8, 2026, every Scavio response in this post is a real capture from that day, and the section on Scavio includes the things it does badly. On list price per profile, every paid tool in this post is cheaper than we are.

Which TikTok profile scraper fits your job?

All six tools below read public profiles. Five are hosted services that never touch your TikTok account; the sixth, TikTok-Api, runs in a browser you operate with a token from your own TikTok cookies. What separates them is how you get the data back, what one billed unit actually buys, and what it costs per 1,000 profiles.

ToolChoose it forInputPrice (checked Oct 8, 2026)Per 1,000 profilesMain thing to check
ScavioOne-at-a-time lookups in an app or agentUsername or secUid1 credit starts at; $0.0016 a credit$1.6 on the Growth planNo region field.
Apify TikTok Profile ScraperProfiles plus their videos in one batch runUsernames or user IDs$0.003 to $0.001 per result by plan$3.00 to $1.00, at one result per profileBills per video row; default is 100 per profile
ScrapeCreatorsCheap synchronous lookupsHandle or numeric user ID$47 for 25,000 credits, 1 credit a profile$1.88, or $0.99 on the $497 packNo secUid input
Bright DataBulk record deliveryProfile URLs$1.50 per 1,000 records; 5,000 free a month$1.50, or $1.30 on ScaleDelivery setup, record-based billing
EnsembleDataSteady daily volume across platformsUsername or secUid$100 a month for 1,500 units a day, 1 unit a profile$2.22 if you use every unit every dayUnused units reset daily
TikTok-Api (open source)Free scripts and researchUsernameFree, MIT licensedYour servers and your timeNeeds a browser and your ms_token cookie

If you only need a handful of profiles in a spreadsheet, a browser extension such as Thunderbit, which currently ranks first on Google for this search, does that without code. It is not an API, so it is not ranked here.

What you are billed for is the decision that matters

Every tool here can fetch a public profile. The difference that shows up on the invoice is the unit, and for a profile job three of the six units are not "one profile".

  • Apify bills per dataset row, and its profile scraper's rows are videos. Each row carries the author's profile in an authorMeta object. The actor's input schema sets "Max posts per profile" to 100 by default, so a profile lookup left at the default can bill up to 100 results. Set it to 1 and you pay for roughly one row per profile.
  • EnsembleData sells daily units. A plan buys a fixed number of units per day, and they reset at 00:00 UTC. A job that runs once a month uses one day's allowance, not thirty.
  • Bright Data bills per record delivered, which for its profiles scraper is one profile, but delivery is built around datasets, webhooks and cloud storage rather than one answer per request.

Scavio and ScrapeCreators bill per request: one profile, one credit. That is the simplest unit to forecast, and the most expensive per profile at Scavio's prices, so the trade is predictability against price.

What a profile lookup actually returns, measured

To see what one call is worth, we pulled 10 public accounts through Scavio's profile endpoint on October 8, 2026: two mega creators (khaby.lame at 162,988,222 followers, mrbeast at 143,207,232), four brand and media accounts (duolingo, nike, ryanair and washingtonpost), two mid-size creators (british_sourdough at 170,242 and the.sourdough.baker at 11,080) and two small accounts (fermentandfleurish at 1,226 and miss.sourdough.baker at 1,057). We counted which fields came back on each.

Bar chart: of 10 public TikTok accounts fetched through Scavio, all 10 returned follower, following, like and video counts, name, bio, avatar, user id and secUid; 6 returned a verified badge, 5 a bio link, 5 a category, and none returned a region or linked Instagram, YouTube or X accounts.

All 10 calls returned HTTP 200 with the profile, billed 1 credit each, and took between 2.0 and 3.8 seconds round trip from our machine, with a median of 2.3 seconds. Account size made no visible difference: the slowest call was the 170,000-follower account, and the 163-million-follower account took 2.9 seconds.

The core of a profile is reliable: follower, following, like and video counts, display name, bio, avatar URLs, the numeric user ID and the secUid came back on every account. The verified badge came back on exactly the 6 accounts that are verified, but not as one field: creators carry it in custom_verify ("popular creator" for khaby.lame, "verified account" for mrbeast), brands in enterprise_verify_reason ("Verified account"), and verification_type was 0 on Duolingo despite its badge. Bio links and categories appeared on half the accounts, which matches what those accounts publish.

Two gaps to plan around. No account returned a region or country, and the fields for linked Instagram, YouTube and X accounts came back empty on all 10, MrBeast included. If you need a creator's country, Apify's is the only documented output among these tools that we saw carry a region field.

We also ran three edge cases. A lookup by secUid instead of username worked and took 1.8 seconds. A handle pasted with its at-sign, @duolingo, resolves to the same profile. A username that does not exist came back as HTTP 200 with "statusCode": 10221 and "statusMsg": "user banned" instead of a profile, and was billed 1 credit, so check that data.user exists rather than trusting the status code. Our post on why TikTok profile scrapers keep breaking goes deeper on failures that arrive as HTTP 200.

1. Scavio for lookups inside your app or agent

Scavio is a REST API, so it fits when TikTok profiles feed code: a creator database, an influencer vetting step, an agent that answers "how big is this account?". It reads public data and never asks for your TikTok login. One request returns one profile, synchronously.

The TikTok endpoints that matter for profile work, with their real credit costs:

EndpointReturnsCredits
/api/v1/tiktok/profilePublic profile by username or sec_user_id1
/api/v1/tiktok/user/postsA page of up to 30 of a user's videos, by sec_user_id1
/api/v1/tiktok/user/followersA page of up to 20 followers1
/api/v1/tiktok/user/followingsA page of up to 20 accounts the user follows1
/api/v1/tiktok/search/usersAccounts matching a keyword, with follower counts1

A profile lookup is one request:

Python
import os
import requests

r = requests.post(
    "https://api.scavio.dev/api/v1/tiktok/profile",
    headers={"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}"},
    json={"username": "duolingo"},
    timeout=60,
)
data = r.json()["data"]
user = data.get("user")
if not user:
    raise ValueError(data.get("statusMsg", "no profile returned"))
print(user["follower_count"], user["total_favorited"], user["aweme_count"])

And the response, trimmed to the fields most pipelines keep:

JSON
{
  "user": {
    "unique_id": "duolingo",
    "nickname": "Duolingo",
    "uid": "6917704832925746181",
    "sec_uid": "MS4wLjABAAAAxzJGbseZk0TDBgT88nlMt8s4rjFp-Um-B7X545vT-MaVZiZEWVyKmaVwqxntcGgn",
    "follower_count": 18209684,
    "following_count": 317,
    "total_favorited": 503188757,
    "aweme_count": 1244,
    "bio_url": "Duolingo.com",
    "category": "Shopping & Retail",
    "enterprise_verify_reason": "Verified account"
  }
}

The full user object carried 63 to 70 fields per account, including several avatar sizes. Note the names: likes are total_favorited and the video count is aweme_count, so map them once in your code. The sec_uid is the key the posts and followers endpoints take; our glossary entry on the TikTok secUid explains what it is, and the free secUid finder, username to ID tool and profile picture downloader cover one-off lookups without code. For a step-by-step build, see the TikTok profile data tutorial.

What Scavio does badly, from the same day's testing:

  • It is the most expensive per profile here. At $0.01 a credit, 1,000 profiles cost $10; on the Project plan's $30 for 7,000 credits, about $4.29. Every other paid tool in this post lists lower.
  • No region or country. None of the 10 accounts came back with one. Apify's output shows a region field; ours does not.
  • No single verified flag. You derive it from custom_verify or enterprise_verify_reason, and verification_type cannot be trusted alone.
  • Misses are billed and mislabeled. A username that does not exist returns HTTP 200 with "user banned" and costs 1 credit. Validate handles before a large batch.
  • The shape is TikTok's, not ours. Field names follow TikTok's app data, so expect to write a small mapping layer.

What the price buys is one key and one response format across TikTok and everything else Scavio covers, including Instagram, YouTube, Google and Amazon, plus an MCP server for agents.

2. Apify TikTok Profile Scraper for profiles plus videos

Apify is a marketplace of scrapers called Actors. The most used profile-specific one is Clockworks' TikTok Profile Scraper, with 50,326 total users and 7,586 in the last 30 days on its page and a 4.73 rating. You hand it a list of usernames or user IDs and collect a dataset when the run finishes.

Pricing is per result, by Apify plan, from the Actor's API listing: $0.003 per result on the Free plan, $0.002 on Starter, $0.0015 on Scale and $0.001 on Business, plus date or popularity filters at extra cost. Apify's plans are $0 with $5 of monthly usage, then $19, $199 and $999 a month. The Actor's own README still says "$5 to scrape 1,000 results", which does not match the current per-result prices, so read the pricing tab, not the README.

The output is the reason to pick it, and the trap. Each row is a video with the profile nested inside, including fans, heart, video, verified and region. That is ideal when you want the latest posts alongside the profile, and wasteful when you only need the counts: set "Max posts per profile" to 1.

3. ScrapeCreators for cheap synchronous lookups

ScrapeCreators' TikTok profile endpoint costs 1 credit per request and takes a handle or a numeric user ID. Its documented response includes a verified boolean, bioLink, createTime, language and a stats object with followerCount, followingCount, heartCount and videoCount. An optional cache_max_age parameter returns a cached copy for 0 credits when one is fresh enough.

Credits cost $47 for 25,000 ($1.88 per 1,000) or $497 for 500,000 ($0.99 per 1,000), they do not expire, and 100 free credits come without a card. For a plain profile lookup it is the cheapest synchronous option in this post. It does not take a secUid, so if your pipeline stores secUids, you need the handle or numeric ID as well.

4. Bright Data for bulk records

Bright Data's TikTok Scraper API includes a TikTok Profiles collector whose listed fields include account ID, nickname, biography, bio link, engagement rates and a predicted language. Pricing is $1.50 per 1,000 records pay as you go, or $499 a month for 384,000 records with additional records at $1.30 per 1,000, and every account gets 5,000 free records a month with no card.

Choose it when the job is "deliver a large file of creator profiles" rather than "answer one lookup in the middle of my app". Output arrives as JSON, NDJSON or CSV through the API, a webhook or cloud storage.

5. EnsembleData for steady daily volume

EnsembleData's pricing page lists TikTok User Info at 1 unit, with lookups by username or by secUid. Plans are sold as units per day: $100 a month for 1,500 units a day, $200 for 5,000, up to $1,400 for 50,000, plus a free trial of 50 units a day. Failed requests caused by internal errors are not charged.

Used every day, the $100 plan works out to 45,000 profiles a month, or $2.22 per 1,000. That makes it a good fit for a monitoring job that refreshes a fixed creator list daily, and a poor one for a burst of 20,000 lookups once a month, which would need a plan sized for that one day.

6. TikTok-Api for free scripts

davidteather/TikTok-Api, the most popular maintained open-source option with 6,673 GitHub stars and v7.3.3 released on April 1, 2026, is an unofficial Python wrapper with a user object for profile info. It is free and MIT licensed, but it drives a real browser through Playwright and its README asks for an ms_token taken from your own tiktok.com cookies.

Use it to learn or for small research scripts. At volume you own the browsers, the tokens that expire and the breakage when TikTok changes its web app. Avoid drawrowfly/tiktok-scraper even though it still ranks on page one: its last release was in July 2021.

Check the official TikTok API first

TikTok has two official routes to profile data, and neither covers looking up arbitrary accounts for a business. The Display API's user info endpoint returns display name, bio, is_verified, follower, following, like and video counts, but only for a user who logs in to your app and grants the scopes. Use it when creators connect their own accounts to your product.

The Research API has a user info endpoint that does take any username and returns display_name, bio_description, avatar_url, is_verified, follower_count, following_count, likes_count, video_count and bio_url. Access is limited to academic institutions and not-for-profit research organizations in the US, Europe and a few other regions, commercial use is excluded, and the FAQ sets a default of 1,000 requests a day. If you qualify, it is free and sanctioned; if you are a business, the tools above exist because of this gap.

Whichever tool you use, read TikTok's Terms of Service: they prohibit extracting data from the platform "using any automated system or software" without TikTok's written approval. This is not legal advice; what you collect, how you store it and personal data laws such as GDPR matter as much as which tool you use.

What to check before buying volume

  • The billed unit. Per request, per dataset row, per record or per daily unit. Normalize to cost per 1,000 profiles at the volume and cadence you will actually run.
  • The input you have. If your list is usernames, every tool works. If it is secUids, check the tool accepts them; ScrapeCreators does not.
  • Field coverage on your own list. Run 10 accounts that look like your real targets and count the fields, as we did above. Region, a clean verified flag and account creation date are where tools differ most.
  • Failure behaviour. Send a username that does not exist and one with an @. See whether you get an error, an empty payload or a billed 200.
  • Freshness. Cached responses are cheaper; follower counts on a fast-growing creator can move by thousands a day.

Frequently asked questions

What is the best TikTok scraper? It depends on the job. For looking up profiles one at a time inside an app or agent, Scavio returns a profile for 1 credit in about two seconds. For the lowest price per profile, ScrapeCreators and Bright Data list under $2 per 1,000, and Apify's TikTok Profile Scraper is the better fit when you want each profile's videos in the same run.

Is TikTok's API free? TikTok's official APIs are free to call, but neither one looks up arbitrary profiles for a business. The Display API returns only the profile of a user who logs in to your app, and the Research API serves approved academic and non-profit researchers, with a default limit of 1,000 requests a day.

How can I get user information about a TikTok account? For one public account, open its profile page: followers, following, likes, bio and video count are visible without logging in. For many accounts, use an API that takes the username and returns those counts as JSON, such as Scavio's profile endpoint, which also returns the secUid you need for the account's posts and followers.

How can I scrape data from TikTok? Either run your own scraper, such as the open-source TikTok-Api Python library, which drives a real browser and needs an ms_token cookie from your own TikTok session, or call a hosted API that returns the data as JSON. TikTok's terms of service prohibit extracting data with automated software without TikTok's written approval, so read them before you build.

Skip the scraper maintenance

If you build this yourself, you own the parts this post kept running into: browser sessions and tokens that expire, mapping TikTok's field names (likes in total_favorited, videos in aweme_count, the verified badge in two different fields), cleaning usernames before they cost you a call, and catching misses that arrive as HTTP 200.

Scavio absorbs the sessions and the scraping. You send a username or secUid and get a profile back in about two seconds, with no TikTok account involved and nothing to keep running. Each profile is 1 credit. Pay as you go at $0.01 a credit with no commitment, so refreshing 5,000 creator profiles costs $50; or take the Project plan at $30 a month for 7,000 credits if the refresh runs every month.

Get an API key with 50 free credits, no card required, and run the profile endpoint on your own creator list before you decide.

Search, social and ecommerce data as JSON

  • One API key for every platform
  • Pay per request with credits
  • Works with MCP, LangChain and n8n
Try Scavio Free

50 free credits, no credit card

On this page

  1. Which TikTok profile scraper fits your job?
  2. What you are billed for is the decision that matters
  3. What a profile lookup actually returns, measured
  4. 1. Scavio for lookups inside your app or agent

Related articles

View all
  • scavio
    Comments / Scraping
    TikTok
    Why Does a TikTok Comment Scrape Return Half the Comments?
  • scavio
    Secuid / Scraping
    TikTok
    Why Do TikTok Profile Scrapers Keep Breaking? It Is the secUid, Not the Proxy
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy