jsonscraper

TikTokエンジニアリングガイド

PythonでTikTokをスクレイピングする方法

2026 年 3 月 5 日更新 3分で読めます 12 回表示

このガイドでは、ユーザー/プロファイルのエンドポイント、検索ルート、ウォーターマークなし抽出のユースケースを備えた堅牢な TikTok データ パイプラインを構築する方法を説明します。

TikTok API マップには、ユーザー、ビデオ、ハッシュタグ、場所、音楽、トレンド、エフェクト、検索クラスが含まれています。これにより、1 つのバックエンドで分析、モデレーション、エンリッチメントのワークフローを同時にサポートできるようになります。

構築するもの

Postmanですぐに開始

公式TikTokコレクションを開き、license_keyを設定し、コーディング前に最初のルートを検証します。

ステップ1

フォーク

IG または TikTok Postman コレクションをワークスペースのベースラインとして使用します。

ステップ2

キーを設定する

Configure license_key once in an environment variable.

ステップ3

自動化する

スニペットをエクスポートするか、準備ができたリクエストに基づいて AI エージェント ワークフローを実行します。

すべてのAPIリクエスト

コレクションの完全なエンドポイントマップです。各クラスを展開し、ルートをクリックしてパラメータとレスポンス例を確認します。

ビデオ 検索 ユーザー ハッシュタグ 場所 音楽 トレンド エフェクト ストーリー プレイリスト ライブ
ビデオ (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をクエリパラメータに指定します。

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 を選択し、Postman でエンドポイントをテストし、数分でワークフローを開始します。