TwitterDownTwitterDown

TwitterDown API Dokumentation

TwitterDownon 12 days ago

TwitterDown API Entwicklungsdokumentation

Überblick

Die TwitterDown API v1 bietet programmatischen Zugriff zum Extrahieren von Videoinformationen aus Twitter/X-Links. Diese API ermöglicht es Entwicklern, Twitter-Video-Parsing-Funktionen in ihre Anwendungen zu integrieren.

Basis-URL

https://twitterdown.com/api/v1

Authentifizierung

Alle API-Anfragen erfordern eine Authentifizierung mittels eines API-Schlüssels. Sie müssen Ihren API-Schlüssel im Authorization-Header jeder Anfrage angeben.

API-Schlüssel-Format

Authorization: Bearer IHR_API_SCHLÜSSEL

API-Schlüssel erhalten

  1. Erstellen Sie ein Konto auf TwitterDown.
  2. Erwerben Sie ein Premium-Abonnement.
  3. Navigieren Sie im Dashboard zum Abschnitt "API-Schlüssel".
  4. Erstellen Sie einen neuen API-Schlüssel.

Hinweis: Der API-Zugriff ist nur für Premium-Benutzer verfügbar.

Ratenbegrenzung (Rate Limiting)

  • Anfragen pro Minute: 60
  • Anfragen pro Stunde: 1.000
  • Anfragen pro Tag: 10.000

Ratenbegrenzungs-Header sind in allen Antworten enthalten:

  • X-RateLimit-Limit: Das Anfragenlimit für das aktuelle Zeitfenster.
  • X-RateLimit-Remaining: Die Anzahl der verbleibenden Anfragen im aktuellen Fenster.
  • X-RateLimit-Reset: Der Unix-Zeitstempel, wann die Ratenbegrenzung zurückgesetzt wird.

Endpunkte

1. Twitter Video-URL parsen

Extrahiert Videoinformationen aus einer Twitter/X-URL.

Endpunkt-Adresse: POST /twitter

Anfrage

Anfrage-Header:

Content-Type: application/json
Authorization: Bearer IHR_API_SCHLÜSSEL

Anfrage-Body:

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

Parameter:

Parameter Typ Erforderlich Beschreibung
url string Ja Eine gültige Twitter/X-Tweet-URL, die ein Video enthält

Antwort

Erfolgreiche Antwort (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": "Dies ist ein Beispiel-Tweet-Inhalt mit einem Video",
    "username": "username",
    "statusId": "1234567890123456789",
    "processed_at": "2024-01-01T12:00:00.000Z"
  }
}

Antwortfelder:

Feldname Typ Beschreibung
code integer Antwortcode (0 = Erfolg, -1 = Fehler)
message string Antwortnachricht
data object Antwortdaten
thumbnail string URL des Tweet-Vorschaubildes (kann null sein)
videos array Array der verfügbaren Videoformate
text string Der Textinhalt des Tweets
username string Twitter-Benutzername
statusId string Die Status-ID des Tweets
processed_at string ISO 8601-Zeitstempel der Verarbeitung

Video-Objektfelder:

Feldname Typ Beschreibung
resolution string Videoauflösung (z.B. "720p", "360p")
quality string Videoqualität (z.B. "HD", "SD")
url string Direkte Download-URL für das Video

2. API-Dokumentation

Ruft API-Dokumentation und Nutzungsinformationen ab.

Endpunkt-Adresse: GET /twitter

Antwort

Gibt die vollständige API-Dokumentation im JSON-Format zurück, einschließlich Endpunktinformationen, Authentifizierungsanforderungen und Beispielen.

Fehlerbehandlung

Fehler-Antwortformat

{
  "code": -1,
  "message": "Fehlerbeschreibung"
}

HTTP-Statuscodes

Statuscode Beschreibung
200 Erfolg
400 Bad Request - Ungültige Parameter
401 Unauthorized - Fehlender oder ungültiger API-Schlüssel
403 Forbidden - Premium-Abonnement erforderlich
422 Unprocessable Entity - URL kann nicht geparst werden
429 Too Many Requests - Ratenbegrenzung überschritten
500 Interner Serverfehler

Häufige Fehlermeldungen

Fehlermeldung Ursache
Missing API key Authorization-Header wurde nicht bereitgestellt
Invalid API key API-Schlüssel nicht gefunden oder abgelaufen
API access is only available for premium users Nicht-Premium-Benutzer versucht, auf die API zuzugreifen
URL parameter is required URL fehlt im Anfrage-Body
Invalid Twitter/X URL format Falsches oder nicht unterstütztes URL-Format
No video found Der Tweet enthält keine Videoinhalte

Beispiele

cURL Beispiel

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 Beispiel

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('Video gefunden:', data.data.videos);
} else {
  console.error('Fehler:', data.message);
}

Python Beispiel

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("Video gefunden:", data["data"]["videos"])
else:
    print("Fehler:", data["message"])

PHP Beispiel

<?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 "Video gefunden: " . print_r($data['data']['videos'], true);
} else {
    echo "Fehler: " . $data['message'];
}
?>

Best Practices

URL-Format-Unterstützung

Die API unterstützt die folgenden URL-Formate:

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

Fehlerbehandlung

Überprüfen Sie immer das Feld code in der Antwort:

  • code: 0 bedeutet Erfolg
  • code: -1 bedeutet Fehler

Implementieren Sie eine geeignete Fehlerbehandlung in Ihrer Anwendung, um API-Fehler elegant zu handhaben.

Ratenbegrenzung

Überwachen Sie die Ratenbegrenzungs-Header in den Antworten und implementieren Sie eine Rückzugstrategie (Back-off-Strategie), wenn Sie sich den Grenzen nähern.

Sicherheit

  • Halten Sie Ihren API-Schlüssel sicher; legen Sie ihn niemals in clientseitigem Code offen.
  • Speichern Sie API-Schlüssel mithilfe von Umgebungsvariablen.
  • Rotieren Sie API-Schlüssel regelmäßig.
  • Löschen Sie ungenutzte API-Schlüssel.

Support

Für API-Support und Fragen:

  • E-Mail: support@twitterdown.com
  • Dokumentation: https://twitterdown.com/docs
  • Statusseite: https://status.twitterdown.com

Änderungsprotokoll (Changelog)

Version 1.0.0 (2025-05-27)

  • Erste API-Veröffentlichung
  • Twitter/X Video-Parsing
  • Premium-Benutzerauthentifizierung
  • Ratenbegrenzung implementiert

Zuletzt aktualisiert: 2025-05-27