API ouverte

Corse TV référence plus de 4 200 reportages sur la Corse. L'API est publique, gratuite et sans clé : tout site corse peut afficher nos vidéos, filtrées par thème, et proposer le lecteur intégrable. Un lien vers la fiche d'origine est simplement attendu en retour.

Points d'entrée

GET/api/public/v1/videos

Liste paginée du catalogue, avec recherche et filtre par thème.

  • q — recherche plein texte (titre, chaîne, description)
  • theme — slug de thème (voir /api/public/v1/themes)
  • sort — titre | duree-desc | duree-asc
  • limit — 1 à 100 (défaut 24)
  • offset — décalage de pagination

https://corsetv.com/api/public/v1/videos?theme=mafia-et-grand-banditisme&limit=5

GET/api/public/v1/videos/{slug}

Fiche complète d'un reportage (slug ou identifiant YouTube).

https://corsetv.com/api/public/v1/videos/{slug}

GET/api/public/v1/themes

Liste des thèmes disponibles avec leur URL d'API.

https://corsetv.com/api/public/v1/themes

GET/api/public/oembed

Point d'entrée oEmbed (type rich) : renvoie le code d'intégration du lecteur.

  • url — URL d'une fiche https://corsetv.com/video/…
  • maxwidth — largeur souhaitée

https://corsetv.com/api/public/oembed?url=https://corsetv.com/video/{slug}

GET/api/public/embed/player/{slug}

Lecteur HTML intégrable dans une iframe, avec bandeau Corse TV.

https://corsetv.com/api/public/embed/player/{slug}?utm_source=votre-site

Intégrer un reportage

Copiez cette iframe en remplaçant {slug} par le champ slug renvoyé par l'API.

<iframe
  src="https://corsetv.com/api/public/embed/player/{slug}?utm_source=votre-site"
  width="640" height="420" style="border:0;max-width:100%"
  loading="lazy" allowfullscreen
  allow="accelerometer; autoplay; encrypted-media; picture-in-picture; fullscreen"
  title="Reportage Corse TV"></iframe>

Afficher une sélection

Exemple JavaScript : six documentaires nature affichés en vignettes.

const res = await fetch(
  "https://corsetv.com/api/public/v1/videos?theme=nature-et-montagne&limit=6"
);
const { items } = await res.json();

document.querySelector("#corsetv").innerHTML = items
  .map(
    (v) => `<a href="${v.url}" target="_blank" rel="noopener">
      <img src="${v.thumbnail}" alt="" width="320" loading="lazy">
      <span>${v.title}</span>
    </a>`
  )
  .join("");

Conditions d'usage

  • Usage gratuit, y compris commercial, pour les sites et médias corses.
  • Les vidéos restent hébergées par YouTube et leurs ayants droit ; l'API ne fournit que des métadonnées et des liens.
  • Merci de créditer « Corse TV » et de conserver le lien vers la fiche.
  • Les réponses sont mises en cache 10 minutes ; évitez les appels en boucle.

Une question, un volume d'appels important ou un partenariat ? Écrivez-nous.