Tutorial

How to Get TikTok Profile Data via API

Pull TikTok creator profile data including follower count, bio, and verification status using Scavio API. Python and JavaScript examples.

Extract TikTok profile data (username, follower count, following count, video count, bio, verification status) via Scavio API at $0.005/request. No scraping, no browser automation, one API call per profile.

Prerequisites

  • Scavio API key from scavio.dev
  • Python 3.8+ or Node.js 18+
  • requests library (Python) or fetch (Node.js)

Walkthrough

Step 1: Get your API key

Sign up at scavio.dev for 250 free credits/month. Copy your API key from the dashboard.

Bash
# Set your API key as environment variable
export SCAVIO_API_KEY=your_key_here

Step 2: Look up a profile by username

Call the TikTok profile endpoint with the target username.

Python
import requests, os

resp = requests.post('https://api.scavio.dev/api/v1/tiktok/profile',
    headers={'Authorization': f'Bearer {os.environ["SCAVIO_API_KEY"]}',
             'Content-Type': 'application/json'},
    json={'username': 'charlidamelio'})

profile = resp.json()['data']['user']
print(f"Followers: {profile['follower_count']:,}")
print(f"Videos: {profile['aweme_count']}")
print(f"Verified: {profile.get('verified', False)}")

Step 3: Extract the sec_uid for further API calls

The sec_uid from the profile response is required for followers, followings, and posts endpoints.

Python
sec_uid = profile['sec_uid']
print(f'sec_uid: {sec_uid}')
# Use this for /api/v1/tiktok/user/posts,
# /api/v1/tiktok/user/followers, etc.

Python Example

Python
import requests, os

API_KEY = os.environ['SCAVIO_API_KEY']
HEADERS = {'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json'}

def get_profile(username):
    resp = requests.post('https://api.scavio.dev/api/v1/tiktok/profile',
        headers=HEADERS, json={'username': username})
    data = resp.json()['data']['user']
    return {
        'username': data['unique_id'],
        'nickname': data['nickname'],
        'followers': data['follower_count'],
        'following': data['following_count'],
        'videos': data['aweme_count'],
        'likes': data['total_favorited'],
        'verified': data.get('verified', False),
        'sec_uid': data['sec_uid'],
    }

profile = get_profile('charlidamelio')
for k, v in profile.items():
    print(f'{k}: {v}')

JavaScript Example

JavaScript
const H = {'Authorization': `Bearer ${process.env.SCAVIO_API_KEY}`, 'Content-Type': 'application/json'};
async function getProfile(username) {
  const r = await fetch('https://api.scavio.dev/api/v1/tiktok/profile', {
    method: 'POST', headers: H,
    body: JSON.stringify({username})
  }).then(r => r.json());
  const u = r.data.user;
  return {username: u.unique_id, followers: u.follower_count,
    videos: u.aweme_count, sec_uid: u.sec_uid};
}
getProfile('charlidamelio').then(p => console.log(p));

Expected Output

JSON
Profile data including follower count, video count, verification status, and sec_uid for use in subsequent API calls.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Scavio API key from scavio.dev. Python 3.8+ or Node.js 18+. requests library (Python) or fetch (Node.js). A Scavio API key gives you 250 free credits per month.

Yes. The free tier includes 250 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Pull TikTok creator profile data including follower count, bio, and verification status using Scavio API. Python and JavaScript examples.