ドキュメント

TwitterDown API v1

単一の POST /twitter エンドポイントで Twitter/X の動画情報を取得できます。すべてのレスポンスは構造化 JSON で、明確なレート制限ヘッダーを返します。

概要

TwitterDown API は、Twitter/X 動画抽出を自動化、メディアアーカイブ、コンテンツ運用、社内ツールへ組み込むためのプログラム的アクセスを提供します。

  • Base URL: https://twitterdown.com/api/v1
  • 認証方式: Bearer Token(API キー)
  • レスポンス形式: application/json

認証

すべてのリクエストには Authorization ヘッダーで有効な API キーを含める必要があります。キーはアカウントに紐づき、ダッシュボードからいつでも失効できます。

Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxx

API キー

  1. TwitterDown にサインインし、API 対応プランを有効化します。
  2. Dashboard > API Keys を開きます。
  3. アプリや環境に対応するラベルでキーを作成します。

API キーは一度しか表示されません。ページを離れる前にシークレット管理ツールへ保存してください。

主要エンドポイント

POST /twitter

POST /twitter は公開 Tweet URL を解析し、サムネイル、動画バリアント、本文、ユーザー名、ステータス ID を返します。

POST https://twitterdown.com/api/v1/twitter
Content-Type: application/json
Authorization: Bearer sk-xxxx

{
  "url": "https://x.com/username/status/1234567890123456789"
}

成功レスポンス (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "thumbnail": "https://pbs.twimg.com/...jpg",
    "videos": [
      { "resolution": "720p", "quality": "HD", "url": "https://video.twimg.com/..." },
      { "resolution": "360p", "quality": "SD", "url": "https://video.twimg.com/..." }
    ],
    "text": "Tweet text",
    "username": "username",
    "statusId": "1234567890123456789",
    "processed_at": "2024-01-01T12:00:00.000Z"
  }
}

GET /twitter

SDK 初期化、統合確認、運用監視向けにエンドポイントのメタデータを返します。

レート制限

  • 60 リクエスト / 分
  • 1,000 リクエスト / 時間
  • 10,000 リクエスト / 日

各レスポンスの X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset を確認してください。上限超過時は HTTP 429 と Retry-After が返ります。

エラー処理

すべての失敗レスポンスは、数値コードと可読メッセージを含む JSON を返します。

{
  "code": -1,
  "message": "Readable error message"
}
ステータス内容
400Missing or malformed request payload
401Missing or invalid API key
403Plan does not allow the requested operation
422Tweet URL could not be resolved
429Rate limit exceeded
500Unexpected server-side failure

サンプル

以下のスニペットを、バックエンド統合、自動化スクリプト、社内開発ツールの出発点として利用できます。

JavaScript (fetch)

const res = await fetch("https://twitterdown.com/api/v1/twitter", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer sk-xxxx"
  },
  body: JSON.stringify({ url })
});
const data = await res.json();

Python (requests)

resp = requests.post(
  "https://twitterdown.com/api/v1/twitter",
  headers={
    "Authorization": "Bearer sk-xxxx",
    "Content-Type": "application/json",
  },
  json={"url": tweet_url},
)
print(resp.json())

実装のヒントをもっと見たい場合は、 ブログの API ガイド で統合パターン、リリース情報、ワークフロー例を確認できます。

API

次のステップ

リファレンスから実際のリクエストへ進むか、API キーを作成してアプリに組み込みましょう。