StoriesFly logo
GET /api/v1/tiktok/user/profile

TikTok API without approval

StoriesFly runs an unofficial TikTok API for public data. Send a username or a video link and get the profile, videos, stories, followers, following, reposts or the video without the watermark as JSON. You do not apply to TikTok or register an app. You send an API key.

What the TikTok API returns

Profile, videos, stories, followers, following and reposts of a public account, and one video with its numbers and the file without the watermark. Each is a GET request under /api/v1/ with your key in the X-Api-Key header. A call costs 1 request, and so does each page of a list.

Followers, following, videos and reposts come a page at a time: pass next_cursor back as cursor for the next page. Page size follows TikTok and varies by endpoint.

EndpointReturnsCost
GET /api/v1/tiktok/user/profileTikTok profile with followers, following, likes and video count.1 request
GET /api/v1/tiktok/user/videosA TikTok account's videos with numbers, page by page; file links on page one.1 request per page
GET /api/v1/tiktok/user/storiesTikTok stories live now.1 request
GET /api/v1/tiktok/user/followersTikTok followers, page by page; a hidden list answers an empty page.1 request per page
GET /api/v1/tiktok/user/followingTikTok accounts followed, page by page; a hidden list answers an empty page.1 request per page
GET /api/v1/tiktok/user/repostsVideos a TikTok account reposted, page by page, with their authors.1 request per page
GET /api/v1/tiktok/videoOne TikTok video without the watermark, with views, likes, comments and shares.1 request

Make the first call

Get a key from the dashboard, then ask for a profile by username. The answer is JSON with the numbers TikTok shows on the profile.

cURL
curl "https://storiesfly.com/api/v1/tiktok/user/profile?username=khaby.lame" \
  -H "X-Api-Key: sf_live_your_key"
Node.js, npm client
import { StoriesFly } from "storiesfly";

const sf = new StoriesFly({ apiKey: process.env.STORIESFLY_KEY! });

const profile = await sf.tiktok.user.profile({ username: "khaby.lame" });
console.log(profile);
Node.js, three pages of followers (each page is 1 request)
import { StoriesFly } from "storiesfly";

const sf = new StoriesFly({ apiKey: process.env.STORIESFLY_KEY! });

for await (const page of sf.paginate(sf.tiktok.user.followers, { username: "khaby.lame" }, { maxPages: 3 })) {
  console.log(page.users.length);
}
Response
{
  "id": null,
  "sec_uid": null,
  "username": "khaby.lame",
  "full_name": "Khabane lame",
  "bio": "Se vuoi ridere sei nel posto giusto😎 If u wanna laugh u r in the right place😎",
  "profile_pic_url": "https://p16-common.tiktokcdn.com/tos-useast8-avt-0068-tx2/08987e23b94057953fd4f1738694bf5f~tplv-tiktokx-cropcenter:720:720.webp",
  "followers": 162979750,
  "following": null,
  "likes": null,
  "videos": null,
  "verified": true,
  "is_private": null
}

Official TikTok APIs vs StoriesFly

TikTok's official APIs are the right tool when you build an app that people sign in to, or when you post to an account you own. The StoriesFly API is for reading public accounts you name. The two do different jobs, and some teams use both.

 Official TikTok APIsStoriesFly API
ApprovalYou register a developer app, and TikTok reviews it before it goes liveNo app and no review: an API key as soon as you sign in with Telegram
What it readsThe data the signed-in person allows your app to use, within the permissions TikTok approves; the Research API is for approved researchersThe public data of any public account you name: profile, videos, stories, followers, following, reposts
Who can use itDevelopers whose app and use case TikTok approvesAnyone with an API key
Posting and account managementYes, with the right product and permissionNo, read only
SetupAn app, redirect URLs, a sign-in flow for your usersOne header: X-Api-Key

What it costs

Every TikTok call is 1 request, or one page of a list. That is $1.50 per 1,000 at the Start rate, and it is paid from a prepaid balance that never expires, from $10. Your first 100 requests are free when you sign in with Telegram.

A video file without the watermark by its link, with no numbers, is cheaper through download: $0.20 per 1,000 for a TikTok link, $0.50 per 1,000 for an Instagram link. See pricing for the levels and the billing rules.

Answers are between 10 minutes and 60 minutes old, depending on the endpoint. A wrong parameter and a failure on our side cost nothing.

What it cannot do

  • It reads public accounts only.
  • It reads the accounts and videos you name. It does not list trending sounds or hashtags.
  • An account that hides its followers or following list answers an empty page with hidden set to true.
  • It cannot post, comment, like, follow or send messages.
  • File links in an answer are temporary: save the video when you need it later.
  • You never log in to TikTok. You send an API key.

Docs, MCP and next steps

Every parameter, error and example is in the docs: tiktok/user/profile, tiktok/user/videos, tiktok/user/stories, tiktok/user/followers, tiktok/user/following, tiktok/user/reposts and tiktok/video.

To use the same data from ChatGPT or Claude without code, see the TikTok MCP server. For Instagram, see Instagram API without login. Get your key to start.

FAQ

Questions developers ask

Is this the official TikTok API?

No. It is a separate API by StoriesFly, not affiliated with or endorsed by TikTok. Use TikTok's official APIs to post to or manage an account you own, or to build an app people sign in to. Use this one to read public accounts.

Do I need TikTok's approval or a developer app?

No. You need a StoriesFly API key, which you get when you sign in with Telegram. There is no app to register and no review.

Is there a TikTok followers API?

Yes. tiktok/user/followers returns the followers of a public account a page at a time, each with a username, name, picture, verified badge and the follower, following and like counts, and next_cursor for the next page. tiktok/user/following does the same for the accounts it follows. An account that hides the list answers an empty page with hidden set to true.

Can I get a TikTok video without the watermark?

Yes. tiktok/video takes the link of a video, a short vm.tiktok.com link too, and returns the file without the watermark, the sound, the caption, hashtags, author, time and the views, likes, comments and shares.

What does the TikTok API cost?

1 request per call, or per page of a list: $1.50 per 1,000 at the Start rate. Your first 100 requests are free. It is paid from a prepaid balance that never expires, from $10.

Can I use it from ChatGPT or Claude?

Yes. The same data is available as the TikTok MCP server: paste one address into ChatGPT, Claude or Cursor, sign in with Telegram and ask about an account in plain words.

Your first 100 requests are on us

Sign in with Telegram, create a key, call any endpoint. Top up only when you need more.