Weibo(微博)ユーザータイムライン API
2026-10-25 時点の仕様スナップショットに基づく
要点
POST /weibo/users/task に author_id、startDate、endDate(いずれも必須、日付は YYYY-MM-DD)を指定すると、その期間の公開アカウントの投稿を収集するタスクが作成されます。GET /weibo/users/task/{task_id} でポーリングし、DONE になるとアカウント ID、profile オブジェクト、timelines、タスク情報を返します。timelines は投稿の配列、または data と pagination を持つオブジェクトのいずれかで、ポーリングにページングのパラメータはありません。データはWeiboで公開されているコンテンツをウェブクローラーで収集したものです。
主な用途
- ブランド、メディア、機関の公式アカウントが一定期間に何を発信したかを追う。
- 研究用に、公開アカウントの投稿を日付付きで記録しておく。
- 同じ期間における複数アカウントの投稿頻度を比較する。
エンドポイント
Base URL は https://api.infominer.io/api/v2 です。API キーは auth-header リクエストヘッダーで送信します。
| メソッド | パス | 説明 |
|---|---|---|
| POST | /weibo/users/task |
アカウント ID と期間を指定して、公開アカウントの投稿タイムラインのタスクを作成します。 |
| GET | /weibo/users/task/{task_id} |
タイムラインタスクをポーリングします。DONE になると profile と timelines を返します。 |
リクエストパラメータ
POST /weibo/users/task
| パラメータ | 位置 | 型 | 必須 | 既定値/指定可能な値 | 説明 |
|---|---|---|---|---|---|
author_id |
body | string | はい | 公開アカウントのアカウント ID。 | |
endDate |
body | string | はい | 終了日(YYYY-MM-DD)。 | |
startDate |
body | string | はい | 開始日(YYYY-MM-DD)。 |
GET /weibo/users/task/{task_id}
| パラメータ | 位置 | 型 | 必須 | 既定値/指定可能な値 | 説明 |
|---|---|---|---|---|---|
task_id |
path | string | はい | タスク作成時に返されたタスク ID。 |
レスポンスのフィールド
| データ | フィールド | エンドポイント |
|---|---|---|
| 公開アカウントのタイムライン | id, profile, timelines, task | GET /weibo/users/task/{task_id} |
コード例
curl:タスクを作成
curl -X POST https://api.infominer.io/api/v2/weibo/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"}'
curl:タスク ID でポーリング
curl "https://api.infominer.io/api/v2/weibo/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}/weibo/users/task",
headers=HEADERS,
json={
"author_id": "0000000000000001",
"startDate": "2026-06-01",
"endDate": "2026-06-30",
},
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}/weibo/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 はすべて必須です。
- timelines は配列、または data と pagination を持つオブジェクトとして返ります。
- 収集するのはWeiboで公開されているコンテンツのみです。
- 遡れる期間と更新頻度はプロジェクトの範囲に応じて確認します。
ほかの Weibo(微博) API ページ
- キーワード検索
- コメント
- リポストとリポスト連鎖
- ユーザータイムライン
- 英語翻訳
トライアルの申し込み
下の申込フォームに Weibo と明記し、追跡したいキーワード(中国語、または翻訳購読用の英語)、コメント・リポスト・リポスト連鎖の要否、想定データ量をお知らせください。範囲を確認し、トライアルと API キーの進め方についてご連絡します。
フォームにご記入のうえ、トライアルをお申し込みください。担当者が範囲を確認のうえ、トライアルと連携の進め方をご返信します。
申込フォームに記入するよくある質問
- 非公開アカウントの投稿も収集できますか?
- いいえ。収集するのはWeiboで公開されているコンテンツのみです。
- タイムラインにコメントは含まれますか?
- タイムラインタスクが収集するのはアカウントの投稿です。コメントは、各投稿 URL でWeiboコメント API のタスクを作成して収集します。
- タイムラインの結果にページングはありますか?
- ポーリングにページングのパラメータはありません。timelines は配列、または data と pagination を持つオブジェクトとして返ります。
- データはどのように収集していますか?Weiboの公式 API ですか?
- Weiboで公開されているコンテンツをウェブクローラーで収集しています。当社はWeiboと提携しておらず、Weibo自身が提供する API ではありません。ご利用目的に適するかどうかは、用途と法域に応じて買い手側の法務部門でご判断ください。収集元と収集方法の説明はご提供できます。