- Blog
- TwitterDown API Dokumentation
TwitterDown API Dokumentation
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
- Erstellen Sie ein Konto auf TwitterDown.
- Erwerben Sie ein Premium-Abonnement.
- Navigieren Sie im Dashboard zum Abschnitt "API-Schlüssel".
- 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 Erfolgcode: -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