~ / endpoints / Profile API

TikTok Profile Scraper API

Our TikTok profile scraper takes any @username or profile URL and returns structured JSON: follower count, following count, total hearts, video count, the bio, avatar, and verified flag, plus the exact string counts in one request.

Get a free API keyBrowse the endpoints
1,000
free requests / mo
2.6s
median response
exact
follower counts
JSON
structured output
the wall

Why TikTok Profile data fights back

A TikTok profile page ships its numbers inside an embedded JSON blob that hydrates after load, so raw HTML holds placeholders and hand-written selectors break within weeks. TikTok also verify-walls datacenter and cloud IPs, so the same request that works from a laptop returns an empty shell from a server.

quickstart

Fire your first TikTok Profile Scraper API call

cURL
curl "https://api.tiktokscraperapi.com/api/v1/tiktok/profile?username=nba&api_key=$API_KEY"
Python
import requests

BASE = "https://api.tiktokscraperapi.com/api/v1"
API_KEY = "YOUR_API_KEY"

# Pass a bare @username, or a full profile URL via the url param.
data = requests.get(
    f"{BASE}/tiktok/profile",
    params={"username": "nba", "api_key": API_KEY},
    timeout=30,
).json()

print(data["nickname"], "-", data["stats"]["followerCount"], "followers")
print("hearts:", data["stats"]["heartCount"], "| videos:", data["stats"]["videoCount"])
# statsV2 carries the exact string counts when TikTok ships them.
print("exact followers:", data["statsV2"]["followerCount"])
inputs

Parameters

ParameterRequiredDefaultNotes
usernameoptional-The @handle, with or without the leading @, e.g. nba. Required unless you pass url.
urloptional-A full TikTok profile URL, e.g. https://www.tiktok.com/@nba. The handle is parsed out of it. One of username or url is required.
countryoptionalusTwo-letter country code for the exit region the request is routed through. Defaults to US, where TikTok serves the populated page.
api_keyrequired-Your API key, passed as a query parameter. Get one free at signup.
the payload

What the TikTok Profile Scraper API hands back

200 OK
{
  "uniqueId": "nba",
  "nickname": "NBA",
  "signature": "NBA Summer action tips off Friday, July 3!\n\nCalifornia Classic: 7/3 - 7/6\nSalt Lake City: 7/4 - 7/7\nNBA Summer League in Las Vegas: 7/9 - 7/19",
  "verified": true,
  "secUid": "MS4wLjABAAAAsny0dcfyctb1_fdyyiu7JOLnblf8y3jd64yTHQLQoc9O5m57HhjT94OdgfSmNgaG",
  "id": "134941634731003904",
  "create_time": 1472544108,
  "created_at": "2016-08-30T08:01:48.000Z",
  "avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/8beb8b849e725f2776a11575b1e7aebf~tplv-tiktokx-cropcenter:1080:1080.jpeg?x-expires=1783051200&x-signature=...",
  "url": "https://www.tiktok.com/@nba",
  "socialPlatform": "tiktok",
  "stats": {
    "followerCount": 27100000,
    "followingCount": 266,
    "heartCount": 1100000000,
    "videoCount": 22600
  },
  "statsV2": {
    "followerCount": "27067298",
    "followingCount": "266",
    "heartCount": "1119255388",
    "videoCount": "22608"
  },
  "price": null,
  "currency": "USD",
  "rating": null,
  "reviews_count": null
}
FieldTypeDescription
uniqueIdstringThe creator @handle, e.g. nba.
nicknamestringThe display name shown on the profile.
signaturestringThe profile bio text, newlines preserved.
verifiedbooleanTrue when the account carries TikTok's verified badge.
secUidstringThe stable secondary user id TikTok keys its APIs by (never changes for the account).
idstringThe numeric user id.
create_timeintegerAccount creation time as a Unix timestamp.
created_atstringAccount creation time as an ISO 8601 string.
avatarstringURL of the largest available profile picture.
statsobjectNumeric engagement: followerCount, followingCount, heartCount (total likes across videos), and videoCount.
statsV2objectThe exact counts as strings (followerCount, followingCount, heartCount, videoCount) when TikTok ships them, else null.
urlstringThe canonical profile URL.
put it to work

Where teams put TikTok Profile data to work

>

Influencer discovery

Resolve a list of @handles into follower count, total hearts, and video count to size up creators before you reach out or sponsor.
>

Competitor tracking

Pull rival accounts on a schedule and watch follower count and upload cadence move over time from the stats block.
>

Creator databases

Enrich a spreadsheet of profile URLs into clean rows: nickname, handle, bio, avatar, and verified status for a searchable catalog.
>

Audience history graphs

Poll a profile daily and store followerCount and heartCount to build the growth history TikTok does not hand you.
>

Verification and vetting

Read the verified flag and account age from create_time to filter out impersonators and brand-new accounts before a partnership.
>

CRM enrichment

Drop profile stats next to each lead so partnerships teams see audience size and posting activity at a glance.
why us

Why build on our TikTok Profile Scraper API

Pass a bare @username or a full URL and we resolve it for you, no login, no device registration, and no signature to mint. Every request runs through residential proxies with anti-bot handling and retries, returning validated JSON with the numeric stats and the exact string counts at a 2.6s median.

*

Username or URL input

One request takes a bare @handle or a full profile URL and resolves it server side.
*

Exact and rounded counts

The stats block gives numeric follower, heart, and video counts; statsV2 adds the exact string figures when TikTok ships them.
*

Residential anti-bot

Requests route through US residential IPs so the profile blob hydrates instead of returning the verify wall that datacenter IPs hit.
*

Auto-retry across pools

Failed fetches retry through residential and datacenter tiers before a response is returned, and only successes are billed.
*

Validated JSON schema

Regression-tested fields return in the same shape on every call, so your parser survives TikTok markup changes.
*

Contact fields on tap

Need the bio email and links too? The same profile powers our tiktok/email endpoint for lead capture.
side by side

TikTok Profile Scraper API vs rolling your own

Our APIDIY (requests / headless)TikTok official API
Input by handle or URLYes, username or urlManual page fetch and parseResearch API, keyed by handle, US academics only
Follower and heart countsNumeric plus exact stringsPossible but parser breaks oftenAvailable to approved researchers
SetupAPI key onlyProxies, headless browser, JSON parserApplication and approval process
Anti-bot and proxiesBuilt in, US residentialYou build and maintain itNot applicable
AccessOpen, any public profileBound by your proxy poolGated to vetted use cases
OutputFlat JSON, stable schemaRaw HTML blob you parseJSON, restricted fields
pricing

Start free, then pay per call

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is a TikTok profile scraper?

A TikTok profile scraper is a tool that reads a creator's public profile and returns it in a structured format. Our TikTok profile scraper API takes an @username or profile URL and returns the nickname, handle, bio, avatar, verified flag, follower count, following count, total hearts, and video count as JSON from a single request.

How do I scrape a TikTok profile without writing a parser?

Send one GET request to our tiktok/profile endpoint with the username (or a profile url) and your API key. We route through US residential IPs, render nothing you have to script, handle anti-bot checks, retry on failure, and parse the embedded profile blob, so you get clean JSON back without maintaining selectors against TikTok's changing markup.

Can I get the exact follower count?

Yes. The stats block returns a rounded numeric followerCount (for example 27100000), and statsV2 carries the exact string count (for example "27067298") when TikTok includes it in the page. The same applies to heartCount and videoCount, so you can store either the rounded or the precise figure.

Do I need a TikTok API key or approval?

No. You only need a tiktokscraperapi key, passed as the api_key query parameter. TikTok's own Research API is gated to approved academic and non-profit use, but our endpoint reads the public profile a logged-out visitor sees, so there is no application to file. The free tier includes 1,000 requests per month.

Why does scraping TikTok from a server return empty data?

TikTok verify-walls datacenter and cloud IP ranges, so a request from AWS, GCP, or Azure often returns a CSR shell or a CAPTCHA page with no profile data, even though the identical request from a home connection works. Our API routes through US residential proxies so the user-detail blob actually hydrates, which is why the profile fields come back populated.

How fast is the TikTok profile scraper API?

Median end-to-end response is about 2.6 seconds, which includes residential proxy routing, anti-bot handling, retries, and parsing. One call returns the full profile, so you do not chain extra requests just to assemble the stats.

Pull profile api data as clean JSON
1,000 requests free to start. No card needed.
Get a free API key Browse the endpoints