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.
of requests succeed
median response
95% finish faster
per 1k profile lookups at volume
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 GET Request. That's the whole integration.
Start with just a query. Add more parameters when your use case needs them.
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 HandleThe 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.
{
"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"
}username stringHandle, as in the profile URL
nickname stringDisplay name
biography stringBio text
bioLink stringLink in bio, when the account has one
commerceUser booleanPresent on business accounts, which is how you tell a brand from a person
verified booleanVerified badge, present only on verified accounts
followers / follows numberFollower and following counts
likes numberTotal likes across the account
videos numberNumber of public videos
friends numberMutual follows
language stringAccount language
createTime stringAccount creation time, ISO 8601
avatarUrl / avatarThumbUrl stringAvatar CDN URLs
id / secUid stringNumeric and opaque account ids
hasdataLink stringReady-made call that returns this account's videos
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.
Discover similar
scrapers and APIs
to expand your projects.
TikTok Scraper API
Videos Data • $0.75 / 1k Request
Instagram Profile Scraper API
Social Media Intelligence • $0.75 / 1k Request
Fits right into your stack.
Works with the tools you already use.
View Documentation ->Teams that deleted their scraper
Now it's the part of the pipeline they don't think about
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.
We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.
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.
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.
We were particularly impressed with how easily we could integrate HasData into our existing workflow.
Plans that get cheaper at scale
Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.
Free
Startup
Business
RecommendedGrowth
Monthly profile lookup volume
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. Past 100M credits a month, or need terms the self-serve plans do not cover? We shape the contract, concurrency, and support around your workload.
HasData accesses publicly available data only. TikTok's terms may restrict automated access; you are responsible for compliance. Where data includes personal information, ensure a lawful basis under GDPR/CCPA.
Questions, answered
Per successful request. One request returns one full profile. A failed request costs nothing.
Yes, a one-time trial of 100 profile lookups with every field included. No credit card required.
Paid plans start at $49 per month billed monthly for 20,000 profile lookups and scale to 10 million a month. The unit price drops with volume, from $2.45 down to $0.75 per 1,000 lookups.
The nickname, bio, link in bio, verification status, follower and following counts, total likes, video count, account language, creation date, and avatar URLs. The link in bio and the business-account flag come back only when the account has them.
No. The response carries the follower and following counts as numbers, not the accounts behind them.
Yes. The response returns total likes, video count and follower count, so average likes per video divided by followers gives you the rate. HasData hands back the raw numbers rather than a computed rate, so the formula stays yours.
Not in this response. The profile comes back with a hasdataLink, a ready-made call to the videos endpoint for the same handle, and those videos live on the TikTok Scraper API.
Yes. Pass the handle from the URL. tiktok.com/@nasa becomes handle=nasa.
The API returns an error response, and you are not charged for it.
No. Requests run on HasData's infrastructure, so there's nothing to provision or maintain. You're responsible for using the results in line with each target site's terms and applicable law.
Your first TikTok profile snapshot
is minutes away
100 profile lookups free · no credit card