ShortsMonkey DocumentationConsole APICréer une clé

Chaud aujourd'hui

Lisez le dernier instantané vidéo chaud stable.

GET
https://api.shortsmonkey.com/v1/rankings/hot-today?region=US&tier=all&limit=20

0 Credits

Chaud aujourd'hui#

Lisez le dernier instantané vidéo chaud stable.

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/rankings/hot-today?region=US&tier=all&limit=20Production 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
regionRequêtestringNonToutes les régions2 à 16 caractèresCode de région tel que US ou JP
tierRequêtestringNonallS / A / B / C / allFiltre de niveau chaud
limitRequêteintegerNon201–50Nombre maximum d'éléments sur cette page
all_cursorRequêtestringNon—data.all_data.next_cursorRécupérer la page suivante non filtrée
filter_cursorRequêtestringNon—data.filter_data.next_cursorRécupérer la page filtrée suivante sans changer les filtres
cursorRequêtestringNon—Paramètre de compatibilité obsolèteAlias ​​pour filter_cursor ; n'envoyez pas les deux

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é
data.all_data.items[].tierstringNonNiveau chaud S / A / B / C
data.filter_data.items[].tierstringNonNiveau chaud S / A / B / C
meta.request_idstringNonDemander l'ID de trace
meta.snapshot_idstringNonID d'instantané stable
meta.snapshot_atstring(date-time)NonHorodatage de l'instantané
meta.data_statusstringNonStatut de l'ensemble de données
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/rankings/hot-today?region=US&tier=all&limit=20" \
  -H "Authorization: Bearer $SHORTSMONKEY_API_KEY"