ShortsMonkey DocumentationConsole APICréer une clé

Détail vidéo

Lisez un instantané vidéo stocké sans déclencher une récupération YouTube en direct.

GET
https://api.shortsmonkey.com/v1/videos/abc123

0 Credits

Détail vidéo#

Lisez un instantané vidéo stocké sans déclencher une récupération YouTube en direct.

Authentification#

Envoyez Authorization: Bearer sm_live_.... Ne placez jamais la clé complète dans les URL, les cookies, les corps, les journaux ou les analyses.

Fraîcheur des données#

Les classements lisent les instantanés stables publiés par le travailleur. Les lectures publiques ne déclenchent jamais une actualisation YouTube.

Demande#

ArticleValeurDescription
MéthodeGETMéthode de requête HTTP
Complet URLhttps://api.shortsmonkey.com/v1/videos/abc123Production API URL
AuthentificationAuthorization: Bearer sm_live_...Envoyer la clé complète uniquement dans l'en-tête
Type de contenuAucun corps de requêteLes requêtes GET n'ont pas de corps de requête
Crédits0 CreditsToutes les opérations coûtent 0 Credits. Aucun crédit commercial mensuel n’est attribué ni déduit.

Paramètres de la demande#

NomEmplacementTaperRequisDéfautValeurs ou limitesDescription
video_idCheminstringOui—6 à 32 caractères sécurisés URLID vidéo YouTube stocké ; les enregistrements manquants renvoient 404 à un coût nul

Champs de réponse de réussite#

all_data est une page non filtrée de l'instantané stable ; filter_data est une page du même instantané après les paramètres par défaut du point de terminaison et les filtres de demande. Chaque résultat est paginé indépendamment.

Toutes les opérations coûtent 0 Credits. Aucun crédit commercial mensuel n’est attribué ni déduit.

Chemin de champTaperNullableDescription
data.all_data.itemsarray<object>NonÉléments vidéo non filtrés sur la page actuelle
data.all_data.items[].video_idstringNonID vidéo YouTube
data.all_data.items[].titlestringNonTitre de la vidéo
data.all_data.items[].video_urlstringNonVidéo YouTube URL
data.all_data.items[].channel.idstringOuiID de chaîne
data.all_data.items[].channel.titlestringNonTitre de la chaîne
data.all_data.items[].channel.subscribersintegerOuiNombre d'abonnés ; null lorsqu'il est masqué
data.all_data.items[].channel.subscriber_count_hiddenbooleanNonSi le nombre d'abonnés est masqué
data.all_data.items[].viewsintegerNonInstantané du nombre de vues
data.all_data.items[].views_to_subscribers_rationumberOuiRatio vues/abonnés
data.all_data.items[].opportunity_scorenumberOuiScore d'opportunité
data.all_data.items[].duration_secondsintegerNonDurée de la vidéo en secondes
data.all_data.items[].published_atstring(date-time)OuiHeure de publication de la vidéo en UTC ISO 8601
data.all_data.items[].snapshot_atstring(date-time)OuiTemps de collecte des données
data.all_data.items[].nichestringOuiNiche ou catégorie
data.all_data.items[].trackstringOuiIdentifiant de la piste de l'ensemble de données
data.all_data.items[].regionstringOuiCode de région
data.all_data.items[].reasonsarray<string>NonRaisons du classement
data.all_data.items[].video_typestringNonshorts ou long
data.all_data.next_cursorstringOuiPage suivante cursor pour cet ensemble de résultats ; null une fois terminé
data.filter_data.itemsarray<object>NonÉléments vidéo après les valeurs par défaut et les filtres de demande
data.filter_data.items[].video_idstringNonID vidéo YouTube
data.filter_data.items[].titlestringNonTitre de la vidéo
data.filter_data.items[].video_urlstringNonVidéo YouTube URL
data.filter_data.items[].channel.idstringOuiID de chaîne
data.filter_data.items[].channel.titlestringNonTitre de la chaîne
data.filter_data.items[].channel.subscribersintegerOuiNombre d'abonnés ; null lorsqu'il est masqué
data.filter_data.items[].channel.subscriber_count_hiddenbooleanNonSi le nombre d'abonnés est masqué
data.filter_data.items[].viewsintegerNonInstantané du nombre de vues
data.filter_data.items[].views_to_subscribers_rationumberOuiRatio vues/abonnés
data.filter_data.items[].opportunity_scorenumberOuiScore d'opportunité
data.filter_data.items[].duration_secondsintegerNonDurée de la vidéo en secondes
data.filter_data.items[].published_atstring(date-time)OuiHeure de publication de la vidéo en UTC ISO 8601
data.filter_data.items[].snapshot_atstring(date-time)OuiTemps de collecte des données
data.filter_data.items[].nichestringOuiNiche ou catégorie
data.filter_data.items[].trackstringOuiIdentifiant de la piste de l'ensemble de données
data.filter_data.items[].regionstringOuiCode de région
data.filter_data.items[].reasonsarray<string>NonRaisons du classement
data.filter_data.items[].video_typestringNonshorts ou long
data.filter_data.next_cursorstringOuiPage suivante cursor pour cet ensemble de résultats ; null une fois terminé
meta.request_idstringNonDemander l'ID de trace
credits.costintegerNonToutes les opérations coûtent 0 Credits. Aucun crédit commercial mensuel n’est attribué ni déduit.
credits.remaininginteger | nullOuinull
credits.period_ends_atstring(date-time) | nullOuinull
credits.unlimitedbooleanNontrue

Pagination et cursor#

Envoyez all_data.next_cursor sous la forme all_cursor et filter_data.next_cursor sous la forme filter_cursor. Les cursor sont indépendants, opaques, signés et valables 24 heures ; l'ancien cursor n'est qu'un alias pour filter_cursor.

Etag#

Les classements prennent en charge If-None-Match. Un hit renvoie HTTP 304 avec X-Credits-Cost: 0.

Erreurs et limites de débit#

Chaque erreur contient code, l'anglais stable message, request_id et details. Toutes les réponses 4xx/5xx ne coûtent aucun crédit.

Statut HTTPCodeCauseAction suggérée
400INVALID_REQUESTFormat, combinaison ou plage de paramètre non valideCorrigez les paramètres à l'aide de details.issues
401INVALID_API_KEYLa clé est invalide ou inactiveVérifiez l’en-tête Bearer et l’état de la clé
429API_DAILY_LIMIT_REACHEDToutes les clés API du compte partagent 10 appels REST de données par jour, réinitialisés à 00:00 Asia/Shanghai. Le site dispose séparément de 10 recherches par jour. MCP ne consomme aucun de ces quotas.Après 10 appels REST de données, HTTP 429 renvoie API_DAILY_LIMIT_REACHED. Attendez 00:00 Asia/Shanghai. Créer ou renouveler une clé ne réinitialise pas le quota du compte.
429RATE_LIMITEDLimite de débit ou de simultanéité dépasséeRéessayez après l'intervalle Retry-After
503DATA_STALE / SERVICE_UNAVAILABLELes données ou le service sont temporairement indisponiblesRéessayez plus tard et conservez request_id
curl -X GET "https://api.shortsmonkey.com/v1/videos/abc123" \
  -H "Authorization: Bearer $SHORTSMONKEY_API_KEY"