抖音(Douyin)ユーザータイムライン API

2026-10-25 時点の仕様スナップショットに基づく

要点

POST /douyin/users/task に author_id、startDate、endDate(いずれも必須、日付は YYYY-MM-DD)を指定すると、その期間の抖音の公開アカウントの投稿を収集するタスクが作成されます。max_items は既定 50、上限 1000 で、0 で件数の上限なしになります。GET /douyin/users/task/{task_id} でポーリングし、DONE になるとアカウント ID、profile オブジェクト、timelines、タスク情報を返します。補助的なタイムラインのバックエンドに一時的に接続できない場合も、タスクは完了として返り、error_message で知らせます。データは抖音で公開されているコンテンツをウェブクローラーで収集したものです。

主な用途

  • ブランドの公式アカウントやクリエイターがキャンペーン期間中に何を投稿したかを追う。
  • 研究用に、公開アカウントの動画を日付付きで記録しておく。
  • 同じカテゴリの複数アカウントの投稿頻度を比較する。

エンドポイント

Base URL は https://api.infominer.io/api/v2 です。API キーは auth-header リクエストヘッダーで送信します。

メソッドパス説明
POST /douyin/users/task アカウント ID と期間を指定して公開アカウントの投稿タイムラインのタスクを作成します。max_items も指定できます。
GET /douyin/users/task/{task_id} タイムラインタスクをポーリングします。DONE になると profile と投稿タイムラインを返します。

リクエストパラメータ

POST /douyin/users/task

パラメータ位置型必須既定値/指定可能な値説明
author_id body string はい 公開アカウントのアカウント ID。
endDate body string はい 終了日(YYYY-MM-DD)。
startDate body string はい 開始日(YYYY-MM-DD)。
max_items body integer — 50 (max 1000) 収集する投稿数の上限。0 で件数の上限なし(クロールのページ上限のみ適用)。

GET /douyin/users/task/{task_id}

パラメータ位置型必須既定値/指定可能な値説明
task_id path string はい タスク作成時に返されたタスク ID。

レスポンスのフィールド

データフィールドエンドポイント
公開アカウントのタイムライン id, profile, timelines, task, error_message GET /douyin/users/task/{task_id}

コード例

curl:タスクを作成

curl -X POST https://api.infominer.io/api/v2/douyin/users/task \
  -H "auth-header: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"author_id": "0000000000000001", "startDate": "2026-06-01", "endDate": "2026-06-30", "max_items": 200}'

curl:タスク ID でポーリング

curl "https://api.infominer.io/api/v2/douyin/users/task/$TASK_ID" \
  -H "auth-header: YOUR_API_KEY"

Python(requests):作成・ポーリング・読み取り

import time
import requests

BASE_URL = "https://api.infominer.io/api/v2"
HEADERS = {"auth-header": "YOUR_API_KEY"}

# 1. Create the task
resp = requests.post(
    f"{BASE_URL}/douyin/users/task",
    headers=HEADERS,
    json={
        "author_id": "0000000000000001",
        "startDate": "2026-06-01",
        "endDate": "2026-06-30",
        "max_items": 200,
    },
    timeout=30,
)
resp.raise_for_status()
task = resp.json()

# 2. Poll until the task leaves INIT / RUNNING
for _ in range(120):
    resp = requests.get(
        f"{BASE_URL}/douyin/users/task/{task['id']}",
        headers=HEADERS,
        timeout=30,
    )
    resp.raise_for_status()
    result = resp.json()
    status = result.get("status") or result.get("task", {}).get("status")
    if status not in ("INIT", "RUNNING"):
        break
    time.sleep(15)
else:
    raise SystemExit("task still running; poll it again later")

if status == "FAILED":
    raise SystemExit("task failed")
if status != "DONE":
    print("task ended with status", status, "- results may be incomplete")

# 3. Read the profile and the timeline
print(result.get("profile"))
timelines = result.get("timelines")
rows = timelines.get("data", []) if isinstance(timelines, dict) else (timelines or [])
print(len(rows), "posts")

レスポンス例

手作業で作成したサンプルデータです。アカウントは sample_user_n、ID は明らかなダミー値です。フィールドは 2026-10-25 の仕様スナップショットに基づき、サンプルはその一部のみを示しています(全項目は上の表を参照)。

タスク作成時のレスポンス(サンプルデータ)。profile と timelines の内部フィールドはスナップショットに列挙されていないため、トライアルデータでご確認ください。

{
  "id": "00000000-0000-4000-8000-000000000001",
  "author_id": "0000000000000001",
  "startDate": "2026-06-01",
  "endDate": "2026-06-30",
  "status": "INIT",
  "tm": 1780272000
}

制限と注意点

  • author_id、startDate、endDate はすべて必須です。
  • max_items は既定 50、上限 1000 です。0 で件数の上限がなくなり、クロールのページ上限のみが適用されます。
  • 補助的なタイムラインのバックエンドに一時的に接続できない場合、タスクは完了として返り、error_message が付きます。
  • 遡れる期間と更新頻度はプロジェクトの範囲に応じて確認します。
収集方法:各プラットフォームで公開されているコンテンツをウェブクローラーで収集しています。ご利用目的に適するかどうかは、用途と法域に応じて買い手側の法務部門でご判断ください。収集元と収集方法の説明はご提供できます。

ほかの 抖音(Douyin) API ページ

トライアルの申し込み

下の申込フォームに抖音と明記し、キーワードやアカウント、動画あたりに必要なコメント数、動画のダウンロード URL の要否をお知らせください。範囲を確認し、トライアルと API キーの進め方についてご連絡します。

フォームにご記入のうえ、トライアルをお申し込みください。担当者が範囲を確認のうえ、トライアルと連携の進め方をご返信します。

申込フォームに記入する

よくある質問

1 つのタイムラインタスクで何件収集できますか?
max_items の既定値は 50、上限は 1000 です。0 にすると件数の上限がなくなり、クロールのページ上限のみが適用されます。
完了したタスクに error_message が付いているのはなぜですか?
補助的なタイムラインのバックエンドに一時的に接続できなかったためです。タスクは完了として返り、error_message に状況が示されます。
非公開アカウントの投稿も収集できますか?
いいえ。収集するのは抖音で公開されているコンテンツのみです。
データはどのように収集していますか?抖音の公式 API ですか?
抖音で公開されているコンテンツをウェブクローラーで収集しています。当社は抖音と提携しておらず、抖音自身が提供する API ではありません。ご利用目的に適するかどうかは、用途と法域に応じて買い手側の法務部門でご判断ください。収集元と収集方法の説明はご提供できます。