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.
  • 160+ 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 to maintain.

from tiktokflow import TikTokAPI

tt = TikTokAPI(api_key="sk_...")        # get a key — see "Get access" 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 — 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, edit profile (name/bio/username/avatar), privacy settings, block list, account status
video detail, my posts, favorites, collections, stats, insights/analytics, 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 all login (email/phone/username+pass, code, QR, OAuth), registration, password reset, 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 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.3

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.3
File Size Uploaded
tiktok_private_api-0.4.3.tar.gz 75.1 kB Details

Built distribution (wheel)

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

Total release size: 165.7 kB

Release files / tiktok_private_api-0.4.3.tar.gz

Download URL tiktok_private_api-0.4.3.tar.gz
Size 75.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1e6a591481ec00bae19b3462f71b298b6457fc76e936f1537703c2076e8ebb96
BLAKE2b-256 checksum
How to use checksums
82168d10e234460e4d5e325dccfc9208460606a99e257811de4afbcc506c84ac
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.3-py3-none-any.whl

Download URL tiktok_private_api-0.4.3-py3-none-any.whl
Size 90.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4436a5aad748d4c252a2e1862e58155b796ff89ebdd9b4f5d6fbea7fec423e53
BLAKE2b-256 checksum
How to use checksums
14a7ec62b93942bb4f01e480b31cebe705d8f40f6ffc8bfc4a621b101b23a555
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

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

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