jsonscraper

Інженерний посібник TikTok

Як парсити TikTok за допомогою Python

Оновлено 5 березня 2026 р. 3 хв читання 10 переглядів

У цьому посібнику показано, як створити надійний конвеєр даних TikTok із кінцевими точками користувача/профілю, маршрутами пошуку та випадками використання без використання водяних знаків.

Карта API TikTok містить класи користувачів, відео, хештегів, місцеположення, музики, трендів, ефектів і пошуку. Це дозволяє одному серверному модулю підтримувати аналітику, модерацію та робочі процеси збагачення одночасно.

Що ви отримаєте

Швидкий старт у Postman

Відкрийте офіційну TikTok-колекцію, встановіть license_key та перевірте перші маршрути перед написанням коду.

Крок 1

Вилка

Використовуйте колекцію IG або TikTok Postman як базову лінію робочого простору.

Крок 2

Встановити ключ

Configure license_key once in an environment variable.

Крок 3

Автоматизувати

Експортуйте фрагменти або запускайте робочі процеси AI-agent поверх готових запитів.

Усі API-запити

Повна карта endpoint-ів із колекції. Розкрийте клас і натисніть маршрут, щоб переглянути параметри та приклади відповідей.

Відео Пошук Користувач Хештег Локація Музика У тренді Ефекти Історії Плейлисти Наживо
Відео (8 endpoints)
Пошук (9 endpoints)
Користувач (15 endpoints)
Хештег (3 endpoints)
Локація (2 endpoints)
Музика (3 endpoints)
У тренді (2 endpoints)
Ефекти (3 endpoints)
Історії (2 endpoints)
Плейлисти (3 endpoints)
Наживо (4 endpoints)
Переглянути повний список кінцевих точок у Postman

Приклади Python з колекції

Ці приклади використовують ту саму модель авторизації, що й у Postman: license_key у query-параметрах.

Example 1: search video by keyword (GET /searchVideo)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "keyword": "appletv",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/searchVideo", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data.get("tiktok", {}).get("cursor"))
{
  "status": "ok",
  "tiktok": {
    "cursor": 12,
    "aweme_list": []
  }
}

Example 2: get no-watermark URL by video ID (GET /getNoWatermarkUrlByID)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "video_id": "7106855913906081070",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/getNoWatermarkUrlByID", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["tiktok"]["id"])
print(data["tiktok"]["url"])

Шаблон Python-запитів (авторизація + пагінація)

Централізуйте підпис запитів і обробку курсорів, щоб високонавантажені задачі працювали передбачувано.

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    r = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    r.raise_for_status()
    return r.json()

page1 = call("/getFollowers", query="therock", count=20)
next_cursor = page1.get("tiktok", {}).get("next_cursor")
if next_cursor:
    page2 = call("/getFollowers", query="therock", count=20, cursor=next_cursor)

Практичні нотатки

  • Завжди передавайте license_key у кожному запиті.
  • Явно задавайте cache_timeout для повторних перевірок.
  • Зберігайте поля курсорів разом із контекстом запиту.
  • Розширюйте покриття маршрутів по класах після перевірки базового потоку.

Готові запустити робочий процес API?

Оберіть API, протестуйте endpoint'и в Postman і запустіть workflow за хвилини.