TikTok API: dasturchi uchun to'liq xarita
TikTok API — bitta endpoint emas, TikTok for Developers platformasidagi mahsulotlar to'plami. Login Kit OAuth avtorizatsiyasini, Display API profil va ochiq videolarni, Content Posting API esa video va rasm postlarini beradi. Kirish uchun ilova yaratasiz, mahsulot va scope'larni qo'shasiz, sandbox'da sinaysiz va App Review'dan o'tasiz; ochiq post uchun alohida audit kerak.
Yangilangan:
TikTok API nima?
TikTok for Developers — TikTok'ning rasmiy dasturchilar platformasi. Bitta ilova ichida bir nechta mahsulot ulanadi: Login Kit (OAuth 2.0 avtorizatsiya), Display API (profil va ochiq videolar), Content Posting API (to'g'ridan-to'g'ri e'lon va qoralamalar), mobil ilovalar uchun Share Kit, Webhooks va faqat tadqiqotchilar uchun API'lar. Foydalanuvchi nomidan har bir so'rovga kerakli scope'li user access token kerak.
v2 Open API open.tiktokapis.com/v2/ manzilida ishlaydi. Javobda data yonida error obyekti keladi: muvaffaqiyatli so'rovda error.code qiymati ok bo'ladi, log_id esa TikTok qo'llab-quvvatlash xizmati so'raydigan identifikator — har bir xato bilan birga logga yozing.
Brend va reklama imkoniyatlari alohida platformada — TikTok API for Business'da, o'z portali va endpoint'lari bilan. Research API va Commercial Content API tasdiqlangan tadqiqotchilar uchun, mahsulot integratsiyasi uchun mo'ljallanmagan.
TikTok for Developers mahsulotlari bir qarashda
Mahsulotni integratsiya nima qilishi kerakligiga qarab tanlang. Oxirgi ustun — Socialift Python SDK'da nima bor.
| Mahsulot | Nima qiladi | Kimga kerak | Socialift SDK |
|---|---|---|---|
| Login Kit | OAuth 2.0 avtorizatsiya; access va refresh token beradi | TikTok foydalanuvchisi nomidan ishlaydigan har qanday ilova | login_url, exchange_code, refresh_token, revoke |
| Display API | /v2/user/info/, /v2/video/list/, /v2/video/query/ — profil va ochiq videolar | Dashboard'lar, ijodkor portfoliosi | me, videos, iter_videos, video |
| Content Posting API | Profilga to'g'ridan-to'g'ri e'lon (Direct Post) yoki ijodkor inbox'iga yuborish (Upload); video va rasm | E'lon va rejalashtirish backend'lari | creator_info, publish_video, upload_video, publish_photos, publish_status |
| Webhooks | Hodisa xabarlari, masalan authorization.removed | Ulanish holatini sinxron saqlash | verify_tiktok_request, parse_tiktok_event |
| Share Kit | iOS va Android uchun mobil SDK: ilovangizdagi mediani TikTok'ga uzatadi | Mobil ilovalar | Yo'q — Python SDK server tomonida ishlaydi |
| TikTok API for Business | Business akkaunt va reklama uchun alohida portal, izoh endpoint'lari ham shu yerda | Brendlar va agentliklar | Business akkaunt metrikalari va izohlar (business_videos, comments, …) |
| Research API, Commercial Content API | Tadqiqot uchun ochiq ma'lumotlar va reklama ma'lumotlari | Tijoriy bo'lmagan tadqiqotchilar | Yo'q |
Socialift — mustaqil integratsiya qatlami, TikTok hamkori emas. Har bir mahsulotga kirishni TikTok o'zi beradi.
TikTok API'ga qanday kirish olinadi: bosqichma-bosqich
Toza HTTP yoki SDK ishlatishingizdan qat'i nazar, ketma-ketlik bir xil.
Dasturchi akkaunti va ilova yarating
developers.tiktok.com'da ro'yxatdan o'ting, Manage apps bo'limida ilova ulang. TikTok ikonka (1024×1024 px), ilova nomi, kategoriya, tavsif, Terms of Service va Privacy Policy havolalari hamda platformalarni (Web, Desktop, Android, iOS) so'raydi.
Mahsulot va scope'larni qo'shing
Add products orqali Login Kit va kerak bo'lsa Content Posting API'ni yoqing. Login Kit uchun redirect URI'larni kiriting, keyin faqat funksiyangiz ishlatadigan scope'larni qo'shing — tekshiruvchilar ularni demo videongiz bilan solishtiradi.
Client key va client secret'ni saqlang
Ikkalasi Credentials bo'limida. Client key avtorizatsiya havolasida ochiq ko'rinadi; client secret faqat serveringizda turadi va faqat token endpoint'iga yuboriladi.
Havoladan e'lon qilsangiz — URL'ni tasdiqlang
Content Posting API
PULL_FROM_URLrejimida faqat tasdiqlangan domen yoki URL prefiksidagi mediani qabul qiladi. Tasdiqlash uchun TikTok bergan imzo faylini o'sha manzilga joylaysiz.Sandbox'da sinab ko'ring
Sandbox integratsiyani review'siz sinash imkonini beradi: bitta ilovada 5 tagacha sandbox va 10 tagacha test foydalanuvchi, ular o'zingizga tegishli akkauntlar bo'lishi kerak. Sandbox'da ochiq video e'lon qilish uchun Content Posting API berilmaydi.
App Review'ga yuboring
Har bir mahsulot va scope qanday ishlatilishini yozing va kamida bitta demo video biriktiring (5 tagacha, har biri 50 MB gacha). TikTok FAQ'iga ko'ra ko'rib chiqish bir necha kundan ikki haftagacha davom etishi mumkin.
Ochiq post uchun auditdan o'ting
API klientingiz audit qilinmaguncha, u e'lon qilgan hamma kontent faqat shaxsiy (private) ko'rinishda bo'ladi. Audit TikTok shartlari va e'lon qoidalariga muvofiqlikni tekshiradi.
Qaysi TikTok API scope'lari kerak?
Scope'lar avval developer saytida ilovaga biriktiriladi, keyin har bir foydalanuvchi ularga rozilik beradi. Login Kit ishlatadigan ilovaga user.info.basic avtomatik qo'shiladi.
| Scope | Nima beradi | SDK metodlari |
|---|---|---|
user.info.basic | open_id, union_id, avatar, display name | me |
user.info.profile | bio_description, profile_deep_link, is_verified, username | me |
user.info.stats | follower_count, following_count, likes_count, video_count | me |
video.list | Foydalanuvchining ochiq videolari | videos, iter_videos, video |
video.publish | Foydalanuvchi profiliga to'g'ridan-to'g'ri e'lon | creator_info, publish_video, publish_photos |
video.upload | Kontentni ijodkor akkauntiga qoralama sifatida yuborish | upload_video, publish_photos(draft=True) |
Minimal scope so'rang. me() standart holatda uchala user.info.* scope maydonlarini so'raydi — ilovangizda faqat user.info.basic bo'lsa, fields= bilan maydonlarni cheklang.
Python'da birinchi TikTok API so'rovlari
Avtorizatsiya havolasi, kodni almashtirish, profil va videolarning birinchi sahifasi. Kalitlar TIKTOK_CLIENT_KEY va TIKTOK_CLIENT_SECRET muhit o'zgaruvchilaridan olinadi.
from socialift import TikTok
REDIRECT_URI = "https://app.example.com/oauth/tiktok/callback"
async def authorize_url(state: str) -> str:
async with TikTok.from_env() as tt:
return tt.login_url(
redirect_uri=REDIRECT_URI,
state=state,
scopes=["user.info.basic", "video.list"],
)
async def on_callback(code: str) -> None:
async with TikTok.from_env() as tt:
bundle = await tt.exchange_code(code, redirect_uri=REDIRECT_URI)
me = await tt.me(bundle.access_token, fields="open_id,display_name,avatar_url")
page = await tt.videos(bundle.access_token, limit=20)
print(me.id, me.full_name, len(page["data"]), page["has_more"])videos() bir chaqiruvda ko'pi bilan 20 ta video qaytaradi — bu Display API chegarasi. Keyingi sahifa uchun javobdagi cursor ni uzating yoki iter_videos(token, max_items=100) dan foydalaning.
State tekshiruvi va tokenni yangilash bilan to'liq OAuth oqimi Login Kit haqidagi maqolada.
Birinchi duch keladigan TikTok API limitlari
Raqamlar TikTok hujjatlaridan, 2026-yil sentabr holatiga. Rate limit oshsa HTTP 429 va rate_limit_exceeded kodi qaytadi.
| Cheklov | Qiymat |
|---|---|
| Access token muddati | 24 soat |
| Refresh token muddati | Birinchi berilgan paytdan 365 kun |
/v2/user/info/, /v2/video/list/, /v2/video/query/ | Har biri daqiqasiga 600 so'rov, bir daqiqalik sirpanuvchi oyna |
/v2/video/list/ bir sahifasidagi videolar | 20 tagacha |
| Creator info so'rovi | Har bir user access token uchun daqiqasiga 20 so'rov |
| E'lonni boshlash endpoint'lari (video, inbox, rasm) | Har bir user access token uchun daqiqasiga 6 so'rov |
| E'lon holatini so'rash | Har bir user access token uchun daqiqasiga 30 so'rov |
| Direct Post hajmi | Har bir ijodkorga 24 soatda cheklangan; odatda 15 post atrofida, ijodkorga qarab farq qiladi |
| Audit qilinmagan Content Posting klienti | 24 soatda 5 tagacha foydalanuvchi, faqat shaxsiy ko'rinish |
Display API uchun yuqoriroq limitni TikTok qo'llab-quvvatlash sahifasi orqali so'rash mumkin.
Nega TikTok integratsiyasi ishga tushgandan keyin buziladi
Tokenlar tez eskiradi. 24 soatlik access token — bu yillik emas, kunlik yangilash vazifasi degani. Yangilashda TikTok boshqa refresh token qaytarishi mumkin; yangi qiymatni saqlang, aks holda keyingi yangilash muvaffaqiyatsiz bo'ladi.
Foydalanuvchilar ruxsatni bekor qiladi. Kimdir TikTok'da ilovangizni uzsa, obuna bo'lingan webhook'ga authorization.removed hodisasi keladi va access token allaqachon yaroqsiz bo'ladi. So'rovlarni qayta urinmasdan, akkauntni «uzilgan» deb belgilang.
Scope'lar o'zgaradi. Keyinroq yangi scope qo'shsangiz, mavjud foydalanuvchilar unga rozilik bermagan bo'ladi. Ularni qayta avtorizatsiyadan o'tkazing; disable_auto_auth=1 sessiya amal qilayotgan bo'lsa ham rozilik oynasini ko'rsatadi.
E'lon qoidalari — API xatosi emas, mahsulot qoidasi. Auditgacha faqat shaxsiy post, har bir e'londan oldin creator info so'rovi va kunlik cheklovlar hujjatlashtirilgan xatti-harakat — interfeysni shularga moslab loyihalang.
Socialift nimani qamraydi va nimani yo'q
Socialift Python SDK'dagi TikTok klienti Login Kit, Display API, Content Posting API va TikTok business akkaunt endpoint'larini (metrikalar va izohlar) o'raydi. Alohida metodi yo'q endpoint uchun Open API'da call(), Business API'da business() bor. Webhook imzosi socialift.webhooks dagi verify_tiktok_request bilan tekshiriladi.
Research API, Commercial Content API, Data Portability API va mobil Share Kit qamrab olinmagan. SDK hech narsa saqlamaydi: tokenlar va holat sizning ilovangizda turadi.
Socialift kabinetida «Kalitlar» sahifasi o'z TikTok client key va secret'ingizni shifrlab saqlaydi va TikTok paneliga kiritiladigan aniq redirect va webhook manzillarini ko'rsatadi; «Ulanishlar» TikTok OAuth oqimini bajaradi; Playground'da esa kod yozishdan oldin ulangan akkaunt nomidan metodlarni chaqirib ko'rasiz.
Ko'p so'raladigan savollar
TikTok App Review qancha davom etadi?
TikTok FAQ'iga ko'ra ko'rib chiqish bir necha kundan ikki haftagacha davom etishi mumkin. Rad etilsa, sabab ilova tarixidagi Review comments bo'limida ko'rsatiladi; tuzatib qayta yuborasiz.
Auditsiz TikTok'ga ochiq video joylash mumkinmi?
Yo'q. Audit qilinmagan klient e'lon qilgan kontent faqat SELF_ONLY ko'rinishda bo'ladi, post paytida akkaunt shaxsiy bo'lishi kerak va 24 soatda 5 tagacha foydalanuvchi e'lon qila oladi. Cheklovlar audit muvaffaqiyatli o'tgach olinadi.
TikTok API orqali izohlarni o'qish mumkinmi?
Display API faqat profil va videolarni beradi. Izohlar bilan ishlash alohida platforma — TikTok API for Business orqali. Research API'da izohlar bor, lekin u faqat tasdiqlangan tijoriy bo'lmagan tadqiqotlar uchun.
Client key va client secret'ning farqi nima?
Client key — ilovaning ochiq identifikatori, avtorizatsiya havolasida ko'rinadi. Client secret — maxfiy kalit, faqat serverda saqlanadi va token olish yoki yangilashda yuboriladi. Uni brauzer yoki mobil ilova kodiga qo'ymang.
Obunachilar sonini olish uchun qaysi scope kerak?
user.info.stats. U follower_count, following_count, likes_count va video_count maydonlarini ochadi. user.info.basic faqat open_id, avatar va ko'rinadigan ismni beradi.
Research API'ni o'z mahsulotimda ishlatsam bo'ladimi?
Yo'q. TikTok Research API'ni tijoriy bo'lmagan asosda ishlaydigan akademik va mustaqil tadqiqotchilarga ariza tasdiqlangandan keyin beradi. Mahsulot integratsiyasi uchun Login Kit, Display API va Content Posting API ishlatiladi.