Deux versions
L'API permet de récupérer les liens embed d'un film ou d'une série à partir de son identifiant TMDB, sans copier-coller manuel.
| Version | Statut | Pour qui |
|---|---|---|
/search_api.php |
Stable | Intégrations existantes. Aucune modification n'y sera apportée. |
/api/v2/… |
Recommandée | Nouvelles intégrations. |
Rien à changer si vous utilisez déjà la v1. Elle reste servie à la même adresse, avec exactement le même format de réponse. Chaque déploiement est vérifié contre 81 réponses de référence capturées avant migration.
v2 — Recommandée
GET Sources d'un contenu TMDB
GET /api/v2/tmdb/{movie|tv}/{id}
Le cas d'usage principal : vous connaissez l'identifiant TMDB, vous voulez les sources.
curl https://streamvault.blog/api/v2/tmdb/movie/19995
{
"data": {
"id": 412,
"kind": "movie",
"title": "Avatar",
"year": 2009,
"overview": "Sur la planète Pandora…",
"genres": ["Action", "Aventure", "Science-Fiction"],
"rating": 7.6,
"saga": "Avatar - Saga",
"tmdb": { "id": 19995, "url": "https://www.themoviedb.org/movie/19995", "status": "matched" },
"images": {
"poster": "https://image.tmdb.org/t/p/w500/7N8L80OaG8EBTDdRBjGqT8PBzCM.jpg",
"backdrop": "https://image.tmdb.org/t/p/w1280/…",
"sizes": { "small": "…w185…", "medium": "…w342…", "large": "…w780…" }
},
"sources": [
{
"id": 1204,
"provider": "byse",
"url": "https://bysebuho.com/e/t4wlsj5qu17s",
"title": "Avatar 2009 HDLight 1080p AC3 FR x265",
"quality": "1080p",
"language": "MULTI",
"uploadedAt": "2026-01-22"
}
]
}
}
GET Autres endpoints
| Endpoint | Description |
|---|---|
/api/v2/media | Catalogue paginé. ?kind=movie|tv, ?q=, ?page=, ?per_page= |
/api/v2/media/{id} | Un contenu et ses sources |
/api/v2/latest | Derniers ajouts |
/api/v2/collections | Sagas |
Ce que la v2 apporte
- URLs d'images absolues, en plusieurs tailles — la v1 renvoie un chemin relatif à préfixer soi-même
- Pagination explicite :
meta.total,meta.pages,links.next - Vrais titres d'épisodes, là où la v1 expose le nom de fichier
tmdb.status: indique si le rattachement est confirmé (matched,manual) ou encore incertain (ambiguous)
Clé d'API
Facultative. Sans clé, l'accès reste ouvert dans la limite du débit général. Avec une clé, vous disposez d'un quota dédié et de compteurs.
curl -H "X-API-Key: sv_votre_cle" https://streamvault.blog/api/v2/latest
Les en-têtes X-Quota-Limit et X-Quota-Remaining accompagnent chaque réponse authentifiée.
Erreurs
{ "error": { "code": "not_found", "message": "Aucun contenu rattaché à TMDB #550." } }
| Code | Signification |
|---|---|
400 | invalid_kind — le type doit être movie ou tv |
401 | invalid_key — clé inconnue ou désactivée |
404 | not_found |
429 | quota_exceeded |
v1 — Stable
Conservée à l'identique pour les intégrations en place.
| Endpoint | Description |
|---|---|
/search_api.php?id=550&type=movie | Par identifiant TMDB — type : movie, tv, all |
/search_api.php?title=Avatar | Par titre |
/search_api.php?action=latest&limit=20 | Derniers ajouts (max 100) |
fetch('/search_api.php?id=550&type=movie')
.then(r => r.json())
.then(data => {
if (data.success) {
data.results[0].sources.forEach(s => console.log(s.title, s.link));
}
});
Deux points à connaître.
posterUrl est un chemin relatif (data/posters/x.jpg) :
préfixez-le du domaine. Il redirige vers le CDN d'images TMDB.
limit n'accepte plus de valeur négative : elle contournait le plafond
et renvoyait l'intégralité du catalogue en une requête. Pour parcourir tout le
catalogue, utilisez la pagination de la v2.
Limites d'usage
Environ une requête par seconde et par adresse IP, avec une tolérance aux rafales. Une page qui interroge plusieurs identifiants à la suite passe sans difficulté.
Au-delà, l'API répond 429. Une clé d'API v2 relève cette limite.
Support
Discord : 9j5a