Skip to main content

tiktok-private-api

Unofficial TikTok mobile API SDK for Python. Talks to the same private endpoints the real Android/iOS app uses — feed, profiles, search, comments, likes, follows, uploads — with full request signing (X-Argus / X-Ladon / X-Gorgon / X-Khronos). No TikTok for Developers account, no OAuth, no app review, no SELF_ONLY limit. You drive a real logged-in session, not the throttled official API.

This is a reverse-engineering / automation toolkit. Use it on accounts and data you are authorized to access.


Why this instead of the official API

Official TikTok API tiktok-private-api
Developer account / app review required not needed
client_key / client_secret required not needed
Reading feed, other users, search ❌ not exposed
Likes / comments / follows / blocks
Public posting (not just SELF_ONLY) after review only
Rate limits tight, per-app per-account, mobile-grade

The official Content Posting / Display API only lets you touch your own connected account in a sandbox. This SDK speaks the mobile protocol, so it does what the app does.

Features

  • Full mobile signing — X-Argus, X-Ladon, X-Gorgon, X-Khronos, device fingerprint, auto device registration.
  • Android + iOS — one API surface (AndroidClient / IOSClient), the iOS layer overrides device params + Safari TLS impersonation.
  • ~110 endpoints across 14 modules — feed, user, video, search, comment, social (like/follow/block), music, notice, live, dm, effect, upload, passport.
  • Reliable engagement writes — like, comment, follow, block, collect routed through the device's own TTNet/QUIC stack to pass server-side checks (Janus/SC).
  • Session-based auth — extract a logged-in session from an emulator or jailbroken device; no password handling in the SDK.
  • Extras — async client, multi-account fleet with cooldown/ban tracking, web-scraping fallbacks, proxy rotation, MCP server.

Quick start

Request signing runs on our hosted service — you just need an API key. No device, no local signing setup, no fragile Frida bridge to maintain.

from tiktokflow import TikTokAPI

tt = TikTokAPI(api_key="sk_...")        # get a key — see Contact below

me   = tt.user.profile_self()
feed = tt.feed.for_you(count=10)
tt.social.like(feed["aweme_list"][0]["aweme_id"])
tt.social.follow(feed["aweme_list"][0]["author"]["uid"])
tt.comment.publish(feed["aweme_list"][0]["aweme_id"], "🔥")
# iOS device profile, proxy rotation, rate limiting — all one call:
tt = TikTokAPI(api_key="sk_...", platform="ios",
               proxies=["socks5://user:pass@host:port"], rate_limit=2.0)

Endpoint modules

Module What it covers
feed For You, Following, Friends, Nearby
user profiles, followers/following, block list, settings, username lookup
video detail, my posts, favorites, collections, stats, delete
search universal / video / user search, suggestions, trending, hashtags
comment list, replies, publish, delete, digg
social follow, like, block, dislike, friend list, digg list, recommend users
music detail, videos by track, search, trending, collections
notice notifications, unread count, inbox
effect sticker/effect detail, videos by effect
live search, room info, gifts
dm conversations, messages, send, stranger inbox
passport email/SMS login, register, account info, token refresh
upload video + photo-carousel upload and publish

Install

pip install tiktok-private-api

How it works

Mobile request signing (X-Argus / X-Ladon / X-Gorgon / device fingerprint) is the hard part that breaks every few app updates. We run it as a managed service: your client sends the request, our signing server returns valid headers, TikTok accepts it. You get a stable API and never touch signing internals — they're kept server-side, not shipped in this package.

Get an API key and see plans, limits, and hosted-account options below.

Get access

API keys, pricing, higher-volume plans, and custom work: @mxmtkchk on Telegram.

Disclaimer

Not affiliated with or endorsed by TikTok / ByteDance. Provided for research and automation on authorized accounts. You are responsible for complying with TikTok's terms and applicable law.

Release files for tiktok-private-api 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tiktok-private-api 0.4.0
File Size Uploaded
tiktok_private_api-0.4.0.tar.gz 73.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tiktok-private-api 0.4.0
File Interpreter ABI Platform
tiktok_private_api-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 157.3 kB

Release files / tiktok_private_api-0.4.0.tar.gz

Download URL tiktok_private_api-0.4.0.tar.gz
Size 73.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6ee9dc2c1428f5ad08f7788858f84a4bbefa167c5363a0d8019ad72d7d48dff4
BLAKE2b-256 checksum
How to use checksums
ea133598a6756083900dfba88d5c7cd0d619c087be1df6fadf3f245376ec4ef5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / tiktok_private_api-0.4.0-py3-none-any.whl

Download URL tiktok_private_api-0.4.0-py3-none-any.whl
Size 83.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fc3a918c8c03c7f1651418978c4933b48aae682cf1dff068fc456084eeebca8
BLAKE2b-256 checksum
How to use checksums
2783bbf9c269a5e64e9ce689c67f2f505dda1664634e7f4a5fc6356f25c569e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page