TwitterDown API ドキュメント

TwitterDown5 months ago
290 語
2 分 読む

TwitterDown API の使い方ドキュメント

TwitterDown API 開発ドキュメント

概要#

TwitterDown API v1 は、Twitter/X リンクから動画情報を抽出するためのプログラムアクセスを提供します。この API を使用すると、開発者は Twitter 動画解析機能をアプリケーションに統合できます。

ベースURL#

https://twitterdown.com/api/v1

認証#

すべてのAPIリクエストには、APIキーを使用した認証が必要です。各リクエストの Authorization ヘッダーにAPIキーを含める必要があります。

APIキーの形式#

Authorization: Bearer YOUR_API_KEY

APIキーの取得#

  1. TwitterDownでアカウントを作成します。
  2. プレミアムサブスクリプションを購入します。
  3. ダッシュボードのAPIキーセクションに移動します。
  4. 新しいAPIキーを作成します。

注意: APIアクセスはプレミアムユーザーのみが利用できます。

レート制限#

  • 1分あたりのリクエスト数: 60
  • 1時間あたりのリクエスト数: 1,000
  • 1日あたりのリクエスト数: 10,000

すべてのレスポンスにはレート制限ヘッダーが含まれています:

  • X-RateLimit-Limit: 現在の時間枠でのリクエスト制限
  • X-RateLimit-Remaining: 現在の時間枠で残っているリクエスト数
  • X-RateLimit-Reset: レート制限がリセットされるUnixタイムスタンプ

エンドポイント

1. Twitter動画URLの解析#

Twitter/X URLから動画情報を抽出します。

エンドポイントアドレス: POST /twitter

リクエスト

リクエストヘッダー:

Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

リクエストボディ:

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

パラメータ:

パラメータ名 タイプ 必須 説明
url string はい 動画を含む有効なTwitter/XツイートのURL

レスポンス

成功レスポンス (200 OK):

{
  "code": 0,
  "message": "ok",
  "data": {
    "thumbnail": "https://pbs.twimg.com/amplify_video_thumb/1234567890123456789/img/ExampleThumbnail.jpg",
    "videos": [
      {
        "resolution": "720p",
        "quality": "HD",
        "url": "https://video.twimg.com/amplify_video/1234567890123456789/vid/avc1/1280x720/ExampleVideoHD.mp4?tag=21"
      },
      {
        "resolution": "360p",
        "quality": "SD",
        "url": "https://video.twimg.com/amplify_video/1234567890123456789/vid/avc1/640x360/ExampleVideoSD.mp4?tag=21"
      },
      {
        "resolution": "270p",
        "quality": "SD",
        "url": "https://video.twimg.com/amplify_video/1234567890123456789/vid/avc1/480x270/ExampleVideoLow.mp4?tag=21"
      }
    ],
    "text": "これは動画を含むツイートのサンプルコンテンツです",
    "username": "username",
    "statusId": "1234567890123456789",
    "processed_at": "2024-01-01T12:00:00.000Z"
  }
}

レスポンスフィールド:

フィールド名 タイプ 説明
code integer レスポンスコード (0 = 成功, -1 = エラー)
message string レスポンスメッセージ
data object レスポンスデータ
thumbnail string ツイートのサムネイルURL (nullの場合あり)
videos array 利用可能な動画フォーマットの配列
text string ツイートのテキスト内容
username string Twitterユーザー名
statusId string ツイートのステータスID
processed_at string 処理された時刻のISO 8601タイムスタンプ

動画オブジェクトフィールド:

フィールド名 タイプ 説明
resolution string 動画の解像度 (例: "720p", "360p")
quality string 動画の品質 (例: "HD", "SD")
url string 動画の直接ダウンロードURL

2. APIドキュメント#

APIドキュメントと使用情報を取得します。

エンドポイントアドレス: GET /twitter

レスポンス

エンドポイント情報、認証要件、例を含む完全なAPIドキュメントがJSON形式で返されます。

エラーハンドリング

エラーレスポンスの形式#

{
  "code": -1,
  "message": "エラーの説明"
}

HTTPステータスコード#

ステータスコード 説明
200 成功
400 不正なリクエスト - 無効なパラメータ
401 未認証 - APIキーが不足しているか無効です
403 禁止 - プレミアムサブスクリプションが必要です
422 処理できないエンティティ - URLを解析できません
429 リクエストが多すぎます - レート制限を超過しました
500 内部サーバーエラー

よくあるエラーメッセージ

エラーメッセージ 原因
Missing API key Authorizationヘッダーが提供されていません
Invalid API key APIキーが見つからないか、期限切れです
API access is only available for premium users プレミアムユーザーのみがAPIにアクセスできます
URL parameter is required リクエストボディにURLがありません
Invalid Twitter/X URL format URLの形式が正しくないか、サポートされていません
No video found ツイートに動画コンテンツが含まれていません

#

cURLの例#

curl --location --request POST 'https://twitterdown.com/api/v1/twitter' \
  --header 'Authorization: Bearer sk-1234567890abcdef123456789012345678' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "url": "https://x.com/username/status/1234567890123456789"
  }'

JavaScriptの例#

const response = await fetch('https://twitterdown.com/api/v1/twitter', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer sk-1234567890abcdef123456789012345678'
  },
  body: JSON.stringify({
    url: 'https://x.com/username/status/1234567890123456789'
  })
});

const data = await response.json();

if (data.code === 0) {
  console.log('動画が見つかりました:', data.data.videos);
} else {
  console.error('エラー:', data.message);
}

Pythonの例#

import requests

url = "https://twitterdown.com/api/v1/twitter"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer sk-1234567890abcdef123456789012345678"
}
payload = {
    "url": "https://x.com/username/status/1234567890123456789"
}

response = requests.post(url, headers=headers, json=payload)
data = response.json()

if data["code"] == 0:
    print("動画が見つかりました:", data["data"]["videos"])
else:
    print("エラー:", data["message"])

PHPの例#

<?php
$url = 'https://twitterdown.com/api/v1/twitter';
$headers = [
    'Content-Type: application/json',
    'Authorization: Bearer sk-1234567890abcdef123456789012345678'
];
$payload = json_encode([
    'url' => 'https://x.com/username/status/1234567890123456789'
]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);

if ($data['code'] === 0) {
    echo "動画が見つかりました: " . print_r($data['data']['videos'], true);
} else {
    echo "エラー: " . $data['message'];
}
?>

ベストプラクティス

URL形式のサポート#

APIは以下のURL形式をサポートしています:

  • https://twitter.com/username/status/1234567890
  • https://x.com/username/status/1234567890
  • https://mobile.twitter.com/username/status/1234567890

エラーハンドリング

レスポンスの code フィールドを常に確認してください:

  • code: 0 は成功を示します
  • code: -1 はエラーを示します

APIエラーを適切に処理するために、アプリケーションで適切なエラーハンドリングを実装してください。

レート制限#

レスポンスのレート制限ヘッダーを監視し、制限に近づいたらバックオフ戦略を実装してください。

セキュリティ

  • APIキーは安全に保管し、クライアントサイドのコードで公開しないでください。
  • APIキーは環境変数を使用して保存してください。
  • APIキーは定期的にローテーションしてください。
  • 未使用のAPIキーは削除してください。

サポート

APIサポートとご質問については、以下までご連絡ください:

  • メール: [email protected]
  • ドキュメント: https://twitterdown.com/docs
  • ステータスページ: https://status.twitterdown.com

更新履歴#

バージョン 1.0.0 (2025年5月27日)#

  • 最初のAPIリリース
  • Twitter/X動画解析
  • プレミアムユーザー認証
  • レート制限の実装

最終更新日:2025年5月27日

結論

Ready to start downloading Twitter videos? TwitterDown provides fast, secure, and high-quality video download services.