Catalogue

Documentation

Bienvenue

L'API StreamVault permet de récupérer automatiquement les sources de films et séries en quelques millisecondes. Pas besoin de copier/coller manuellement.

Ultra-rapide

~50ms après la 1ère requête

🔍

Précis

ID TMDB officiels

📺

Complet

Films + Séries

🌐

CORS

Cross-origin

Endpoints

GET Recherche par TMDB ID

Récupère les sources en utilisant l'ID TMDB officiel.

Format

/search_api.php?id=550&type=movie

Paramètres

Param Type Obligatoire Description
id int OUI ID TMDB (sur themoviedb.org)
type string NON movie | tv | all

GET Recherche par Titre

Récupère les sources en cherchant par titre (fuzzy matching).

Format

/search_api.php?title=Avatar&year=2009

Paramètres

Param Type Obligatoire Description
title string OUI Titre du film/série
year int NON Année de sortie
type string NON movie | tv | all

Codes HTTP

Code Signification
200 Succès - Résultats trouvés
404 Aucun résultat
400 Paramètres manquants
429 Trop de requêtes (rate limit)

GET Dernier Ajouts

Récupère les N dernières sources ajoutées (films, séries, épisodes).

Format

/search_api.php?action=latest&limit=20

Paramètres

Param Type Obligatoire Description
action string OUI Valeur: latest ou recent
limit int NON Nombre de résultats (défaut: 20, max: 100)

Exemples

JavaScript (Fetch)

Exemple
fetch('/search_api.php?id=550&type=movie')
  .then(r => r.json())
  .then(data => {
    if (data.success) {
      console.log('Sources:', data.results);
      data.results[0].sources.forEach(s => {
        console.log(s.title, s.link);
      });
    }
  });

Derniers Ajouts (JavaScript)

Exemple
fetch('/search_api.php?action=latest&limit=10')
  .then(r => r.json())
  .then(data => {
    if (data.success) {
      data.results.forEach(item => {
        console.log(`${item.type}: ${item.name} - ${item.source.title}`);
        console.log(`Lien: ${item.source.link}`);
      });
    }
  });

cURL

Exemple
curl "https://streamvault.blog/search_api.php?id=550&type=movie" \
  -H "Accept: application/json"

Python

Exemple
import requests

r = requests.get(
    '/search_api.php',
    params={'id': 550, 'type': 'movie'}
)

data = r.json()
if data['success']:
    for result in data['results']:
        print(result['name'])

PHP

Exemple
$url = '/search_api.php?id=550&type=movie';
$data = json_decode(file_get_contents($url), true);

if ($data['success']) {
    foreach ($data['results'] as $r) {
        echo $r['name'] . "\n";
    }
}

Rate Limiting

⚠️ Limite

10 requêtes par 10 secondes par adresse IP

Si dépassement, l'API répond:

{
  "success": false,
  "error": "Trop de requêtes - Limite: 10 requêtes par 10 secondes",
  "retry_after": 10
}

💡 Conseil

La 1ère requête construit l'index (~2-3 sec). Les suivantes répondent en ~50ms. C'est suffisant!

FAQ

Comment obtenir un TMDB ID?

Allez sur themoviedb.org, cherchez votre film/série, copy l'ID dans l'URL.

Puis-je cacher les sources sur ma page?

Oui, utilisez un iframe avec le lien Byse et ouvrez-le au clic.

Combien de temps vit le cache?

Catalogue: 15 minutes. Index: régénéré si catalogue change.

Les sources sont-elles à jour?

Le catalogue se met à jour auto tous les 15 min. Vous pouvez forcer via /refresh_catalog.php?action=start.

Comment filtrer par saison?

Pour l'instant, parsez côté client. Option &season=1 peut être ajoutée si besoin.

Support

📧 Questions?

Discord : 9j5a