Scraper API

TikTok Profile Scraper API

for any public account, by handle

Look up any public TikTok account by handle. One request returns the bio, the link in bio, follower and like counts, and the video count as clean JSON. No login, no access tokens, no headless browsers.

SUCCESS
99.9%

of requests succeed

P50
2.2s

median response

P95
3.1s

95% finish faster

PRICE
$0.75

per 1k profile lookups at volume

Stop maintaining scrapers

TikTok hides the counts. Your code shouldn't care.

  • A redirect instead of the profile payload
  • Counts abbreviated to 1.2M in the DOM
  • Rate limits after a few dozen handles
  • Rotating residential IPs
  • Payload keys that move between releases
One integration commit replaces a backlog you’ll never finish.
scraper | git log
fix: profile page redirects to login
fix: video count off by the pinned posts
chore: rotate residential IPs
fix: secUid moved to another payload
fix: bio link now behind a redirect
hotfix: rate-limited after 30 handles
fix: avatar URLs expire mid-run
chore: bump the client version header
fix: counts arrive as abbreviated strings
fix: headless Chrome flagged as a bot
fix: profile page redirects to login
fix: video count off by the pinned posts
chore: rotate residential IPs
fix: secUid moved to another payload
fix: bio link now behind a redirect
hotfix: rate-limited after 30 handles
fix: avatar URLs expire mid-run
chore: bump the client version header
fix: counts arrive as abbreviated strings
fix: headless Chrome flagged as a bot
fix: profile page redirects to login
fix: video count off by the pinned posts
chore: rotate residential IPs
fix: secUid moved to another payload
fix: bio link now behind a redirect
hotfix: rate-limited after 30 handles
fix: avatar URLs expire mid-run
chore: bump the client version header
fix: counts arrive as abbreviated strings
fix: headless Chrome flagged as a bot
fix: profile page redirects to login
fix: video count off by the pinned posts
chore: rotate residential IPs
fix: secUid moved to another payload
fix: bio link now behind a redirect
hotfix: rate-limited after 30 handles
fix: avatar URLs expire mid-run
chore: bump the client version header
fix: counts arrive as abbreviated strings
fix: headless Chrome flagged as a bot
feat: integrate HasData API
Code Examples

One GET Request. That's the whole integration.

Start with just a query. Add more parameters when your use case needs them.

request example
curl -G 'https://api.hasdata.com/scrape/tiktok/profile' \
	--data-urlencode 'handle=nasa' \
	--header 'x-api-key: <YOUR_API_KEY>' \
	--header 'Content-Type: application/json'
handle * TikTok Handle
The TikTok username of the profile you want to scrape, with or without the `@` symbol.
TRY IT FREE
Response

The whole profile, one predictable schema

The same field names come back for every handle. A couple of keys, like the link in bio, show up only when the account has one.

profile.json
{
  "id": "134941634731003904",
  "username": "nba",
  "nickname": "NBA",
  "biography": "Join us as we recap the best plays, performances and moments of …",
  "bioLink": "https://nba.smart.link/wq8c68icm",
  "verified": true,
  "followers": 27193368,
  "follows": 267,
  "likes": 1134770282,
  "videos": 22966,
  "friends": 154,
  "language": "en",
  "createTime": "2016-08-30T08:01:48.000Z",
  "avatarUrl": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/8be…",
  "hasdataLink": "https://api.hasdata.com/scrape/tiktok/posts?handle=nba"
}
Fields in profile
username string

Handle, as in the profile URL

nickname string

Display name

biography string

Bio text

bioLink string

Link in bio, when the account has one

commerceUser boolean

Present on business accounts, which is how you tell a brand from a person

verified boolean

Verified badge, present only on verified accounts

followers / follows number

Follower and following counts

likes number

Total likes across the account

videos number

Number of public videos

friends number

Mutual follows

language string

Account language

createTime string

Account creation time, ISO 8601

avatarUrl / avatarThumbUrl string

Avatar CDN URLs

id / secUid string

Numeric and opaque account ids

hasdataLink string

Ready-made call that returns this account's videos

What We Offer

The hard parts already happened

JS rendering, embedded-payload parsing and residential proxy rotation run on our side. Your code sends one GET and reads fields.

Loved by developers

Teams that deleted their scraper

Now it's the part of the pipeline they don't think about

4.8 ★★★★★
across 100+ reviews on 5 platforms
Trustpilot Trustpilot ★★★★★

HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.

Denver Sinclair
Denver Sinclair
Capterra Capterra ★★★★★

We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.

JN
Jacob N.
Trustpilot Trustpilot ★★★★★

Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.

Arnold Foster
Arnold Foster
Trustpilot Trustpilot ★★★★★

I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.

Hussein Ali
Hussein Ali
Clutch Clutch ★★★★★

We were particularly impressed with how easily we could integrate HasData into our existing workflow.

TB
Taras Bazyshyn
CEO at BAZTDL Sp. z o.o
Pricing

Plans that get cheaper at scale

Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.

Free
$0 /mo
One-time free trial
100 profile lookups to start
1,000 credits, one time
1 concurrent request
Team seats
Community support
Start free
Startup
$49 /mo
$2.45 / 1k profile lookups
20K profile lookups / month
200K credits / month
15 concurrent requests
Team seats
Email support
Get started
Business
Recommended
$99 /mo
$0.99 / 1k profile lookups
100K profile lookups / month
1M credits / month
30 concurrent requests
Team seats
Priority email support
Get started
Growth
$249 /mo
$0.83 / 1k profile lookups
3M credits / month
50 concurrent requests
Team seats
Dedicated account manager
Get started
Monthly profile lookup volume
Free 100K 500K 2M 6M 10M
Best fit
Business
profile lookups / mo
100K
Concurrency
30
$ / 1k profile lookups
$0.99
$99 /mo
Get Started
Enterprise
Custom price based on required volume

Past 100M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
SOC-2 compliance
Security review, DPA, and audit reports.
Talk to sales Quote within one business day
FAQ

Questions, answered

1 Grab your API key 2 Send a GET request 3 Get structured JSON

Your first TikTok profile snapshot
is minutes away

100 profile lookups free · no credit card