jsonscraper

Инженерное руководство TikTok

Как парсить TikTok с помощью Python

Обновлено 5 марта 2026 г. 3 мин чтения 10 просмотров

В этом руководстве показано, как создать надежный конвейер данных TikTok с конечными точками пользователей/профилей, маршрутами поиска и вариантами использования извлечения без водяных знаков.

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

Что вы получите

Быстрый старт в Postman

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

Шаг 1

Сделайте fork

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

Шаг 2

Укажите ключ

Configure license_key once in an environment variable.

Шаг 3

Автоматизируйте

Экспортируйте сниппеты или запускайте workflow с AI-агентами поверх готовых запросов.

Все API-запросы

Полная карта endpoint-ов из коллекции. Раскройте класс и нажмите на маршрут, чтобы посмотреть параметры и примеры ответов.

Видео Поиск Пользователь Хэштег Локация Музыка В тренде Эффекты Истории Плейлисты Прямой эфир
Видео (8 endpoints)
Поиск (9 endpoints)
Пользователь (15 endpoints)
Хэштег (3 endpoints)
Локация (2 endpoints)
Музыка (3 endpoints)
В тренде (2 endpoints)
Эффекты (3 endpoints)
Истории (2 endpoints)
Плейлисты (3 endpoints)
Прямой эфир (4 endpoints)
Смотреть полный список endpoint'ов в 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-workflow?

Выберите API, протестируйте endpoint'ы в Postman и запустите workflow за минуты.