TwitterDown- Blog
- Documentation de l’API TwitterDown
Documentation de l’API TwitterDown
Table des Matières
Guide d’utilisation de l’API TwitterDown
Documentation de Développement de l'API TwitterDown
Aperçu#
L'API TwitterDown v1 offre un accès programmatique pour extraire les informations vidéo des liens Twitter/X. Cette API permet aux développeurs d'intégrer des fonctionnalités d'analyse de vidéos Twitter dans leurs applications.
URL de Base#
https://twitterdown.com/api/v1
Authentification#
Toutes les requêtes API nécessitent une authentification via une clé API. Vous devez inclure votre clé API dans l'en-tête Authorization de chaque requête.
Format de la Clé API#
Authorization: Bearer VOTRE_CLE_API
Obtention d'une Clé API#
- Créez un compte sur TwitterDown.
- Souscrivez à un abonnement premium.
- Accédez à la section "Clé API" de votre tableau de bord.
- Créez une nouvelle clé API.
Note : L'accès à l'API est uniquement disponible pour les utilisateurs premium.
Limites de Débit (Rate Limiting)#
- Requêtes par minute : 60
- Requêtes par heure : 1 000
- Requêtes par jour : 10 000
Les en-têtes de limite de débit sont inclus dans toutes les réponses :
X-RateLimit-Limit: La limite de requêtes pour la fenêtre de temps actuelle.X-RateLimit-Remaining: Le nombre de requêtes restantes dans la fenêtre actuelle.X-RateLimit-Reset: Le timestamp Unix indiquant quand la limite de débit sera réinitialisée.
Points de Terminaison (Endpoints)#
1. Analyser l'URL d'une Vidéo Twitter#
Extrait les informations vidéo d'une URL Twitter/X.
Adresse du Point de Terminaison : POST /twitter
Requête
En-têtes de Requête :
Content-Type: application/json
Authorization: Bearer VOTRE_CLE_API
Corps de la Requête (Request Body) :
{
"url": "https://x.com/username/status/1234567890123456789"
}
Paramètres :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
url |
string | Oui | Une URL de tweet Twitter/X valide contenant une vidéo |
Réponse
Réponse Réussie (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": "Ceci est un exemple de contenu de tweet avec une vidéo",
"username": "username",
"statusId": "1234567890123456789",
"processed_at": "2024-01-01T12:00:00.000Z"
}
}
Champs de la Réponse :
| Nom du Champ | Type | Description |
|---|---|---|
code |
integer | Code de réponse (0 = succès, -1 = erreur) |
message |
string | Message de réponse |
data |
object | Données de réponse |
thumbnail |
string | URL de la miniature du tweet (peut être nul) |
videos |
array | Tableau des formats vidéo disponibles |
text |
string | Le contenu textuel du tweet |
username |
string | Nom d'utilisateur Twitter |
statusId |
string | L'ID du statut du tweet |
processed_at |
string | Timestamp ISO 8601 de la date de traitement |
Champs de l'Objet Vidéo :
| Nom du Champ | Type | Description |
|---|---|---|
resolution |
string | Résolution vidéo (par exemple, "720p", "360p") |
quality |
string | Qualité vidéo (par exemple, "HD", "SD") |
url |
string | URL de téléchargement direct de la vidéo |
2. Documentation de l'API#
Récupère la documentation de l'API et les informations d'utilisation.
Adresse du Point de Terminaison : GET /twitter
Réponse
Retourne la documentation complète de l'API au format JSON, incluant les informations sur les points de terminaison, les exigences d'authentification et les exemples.
Gestion des Erreurs#
Format de Réponse d'Erreur#
{
"code": -1,
"message": "Description de l'erreur"
}
Codes d'État HTTP#
| Code d'État | Description |
|---|---|
200 |
Succès |
400 |
Mauvaise Requête - Paramètres invalides |
401 |
Non Autorisé - Clé API manquante ou invalide |
403 |
Interdit - Abonnement premium requis |
422 |
Entité Non Traitable - Impossible d'analyser l'URL |
429 |
Trop de Requêtes - Limite de débit dépassée |
500 |
Erreur Interne du Serveur |
Messages d'Erreur Courants#
| Message d'Erreur | Cause |
|---|---|
Missing API key |
En-tête Authorization non fourni |
Invalid API key |
Clé API introuvable ou expirée |
API access is only available for premium users |
Utilisateur non premium tentant d'accéder à l'API |
URL parameter is required |
URL manquante dans le corps de la requête |
Invalid Twitter/X URL format |
Format d'URL incorrect ou non supporté |
No video found |
Le tweet ne contient pas de contenu vidéo |
Exemples#
Exemple 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"
}'
Exemple 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('Vidéo trouvée :', data.data.videos);
} else {
console.error('Erreur :', data.message);
}
Exemple 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("Vidéo trouvée :", data["data"]["videos"])
else:
print("Erreur :", data["message"])
Exemple 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 "Vidéo trouvée : " . print_r($data['data']['videos'], true);
} else {
echo "Erreur : " . $data['message'];
}
?>
Bonnes Pratiques#
Support des Formats d'URL#
L'API supporte les formats d'URL suivants :
https://twitter.com/username/status/1234567890https://x.com/username/status/1234567890https://mobile.twitter.com/username/status/1234567890
Gestion des Erreurs#
Vérifiez toujours le champ code dans la réponse :
code: 0indique un succèscode: -1indique une erreur
Implémentez une gestion des erreurs appropriée dans votre application pour gérer les erreurs API de manière élégante.
Limites de Débit#
Surveillez les en-têtes de limite de débit dans les réponses et mettez en œuvre une stratégie de "back-off" (attente progressive) lorsque vous approchez des limites.
Sécurité#
- Gardez votre clé API en sécurité ; ne l'exposez jamais dans le code côté client.
- Stockez les clés API à l'aide de variables d'environnement.
- Renouvelez régulièrement les clés API.
- Supprimez les clés API inutilisées.
Support#
Pour le support et les questions concernant l'API :
- Email : [email protected]
- Documentation : https://twitterdown.com/docs
- Page d'État : https://status.twitterdown.com
Journal des Modifications (Changelog)#
Version 1.0.0 (2025-05-27)#
- Lancement initial de l'API
- Analyse des vidéos Twitter/X
- Authentification des utilisateurs premium
- Implémentation des limites de débit
Dernière mise à jour : 2025-05-27
Conclusion
Ready to start downloading Twitter videos? TwitterDown provides fast, secure, and high-quality video download services.