ShortsMonkey DocumentazioneConsole APICrea chiave

Outlier ricerca video

Cerca i dati archiviati per parola chiave, nicchia, regione e rapporto visualizzazioni-abbonati.

POST
https://api.shortsmonkey.com/v1/videos/outliers/search

0 Credits

Outlier ricerca video#

Cerca i dati archiviati per parola chiave, nicchia, regione e rapporto visualizzazioni-abbonati.

Autenticazione#

Invia Authorization: Bearer sm_live_.... Non inserire mai la chiave completa in URL, cookie, corpi, log o analisi.

Freschezza dei dati#

Le classifiche leggono istantanee stabili pubblicate dal lavoratore. Le letture pubbliche non attivano mai un aggiornamento YouTube.

Richiesta#

ArticoloValoreDescrizione
MetodoPOSTMetodo di richiesta HTTP
URL completohttps://api.shortsmonkey.com/v1/videos/outliers/searchProduzione API URL
AutenticazioneAuthorization: Bearer sm_live_...Invia la chiave completa solo nell'intestazione
Tipo di contenutoapplication/jsonIl corpo della richiesta utilizza JSON
Crediti0 CreditsTutte le operazioni costano 0 Credits. Non vengono assegnati né detratti crediti commerciali mensili.

Richiedi parametri#

NomePosizioneTipoNecessarioPredefinitoValori o limitiDescrizione
keywordCorpo JSONstringNO—1–120 caratteriParola chiave abbinata al titolo memorizzato o al testo di nicchia
nicheCorpo JSONstringNO—1–80 caratteriFiltro di nicchia o di categoria
video_typeCorpo JSONstringNOallshorts / long / allTipo di video
regionCorpo JSONstringNO—2-16 caratteriCodice regionale
max_channel_subscribersCorpo JSONintegerNO—0–10,000,000Conteggio massimo degli iscritti al canale
min_viewsCorpo JSONintegerNO—0–1,000,000,000Numero minimo di visualizzazioni
min_vs_ratioCorpo JSONnumberNO100–100,000Rapporto minimo visualizzazioni/iscritti
time_windowCorpo JSONstringNO7d24h / 3d / 7d / 30dFinestra di pubblicazione video
limitCorpo JSONintegerNO201–50Numero massimo di elementi in questa pagina
all_cursorCorpo JSONstringNO—data.all_data.next_cursorRecupera la pagina successiva non filtrata
filter_cursorCorpo JSONstringNO—data.filter_data.next_cursorRecupera la pagina filtrata successiva senza modificare i filtri
cursorCorpo JSONstringNO—Parametro di compatibilità deprecatoAlias ​​per filter_cursor; non inviarli entrambi

Campi di risposta di successo#

all_data è una pagina non filtrata dallo snapshot stabile; filter_data è una pagina dello stesso snapshot dopo le impostazioni predefinite dell'endpoint e i filtri delle richieste. Ogni risultato viene impaginato in modo indipendente.

Tutte le operazioni costano 0 Credits. Non vengono assegnati né detratti crediti commerciali mensili.

Sentiero del campoTipoNullabileDescrizione
data.all_data.itemsarray<object>NOElementi video non filtrati nella pagina corrente
data.all_data.items[].video_idstringNOID video YouTube
data.all_data.items[].titlestringNOTitolo del video
data.all_data.items[].video_urlstringNOYouTube video URL
data.all_data.items[].channel.idstringSÌID del canale
data.all_data.items[].channel.titlestringNOTitolo del canale
data.all_data.items[].channel.subscribersintegerSÌConteggio degli iscritti; null quando nascosto
data.all_data.items[].channel.subscriber_count_hiddenbooleanNOSe il conteggio degli iscritti è nascosto
data.all_data.items[].viewsintegerNOIstantanea del conteggio delle visualizzazioni
data.all_data.items[].views_to_subscribers_rationumberSÌRapporto visualizzazioni/abbonati
data.all_data.items[].opportunity_scorenumberSÌPunteggio opportunità
data.all_data.items[].duration_secondsintegerNODurata del video in secondi
data.all_data.items[].published_atstring(date-time)SÌOrario di pubblicazione del video in UTC ISO 8601
data.all_data.items[].snapshot_atstring(date-time)SÌOrario di raccolta dati
data.all_data.items[].nichestringSÌNicchia o categoria
data.all_data.items[].trackstringSÌIdentificatore della traccia del set di dati
data.all_data.items[].regionstringSÌCodice regionale
data.all_data.items[].reasonsarray<string>NORagioni di classifica
data.all_data.items[].video_typestringNOshorts o long
data.all_data.next_cursorstringSÌPagina successiva cursor per questo set di risultati; null al termine
data.filter_data.itemsarray<object>NOElementi video dopo le impostazioni predefinite e i filtri di richiesta
data.filter_data.items[].video_idstringNOID video YouTube
data.filter_data.items[].titlestringNOTitolo del video
data.filter_data.items[].video_urlstringNOYouTube video URL
data.filter_data.items[].channel.idstringSÌID del canale
data.filter_data.items[].channel.titlestringNOTitolo del canale
data.filter_data.items[].channel.subscribersintegerSÌConteggio degli iscritti; null quando nascosto
data.filter_data.items[].channel.subscriber_count_hiddenbooleanNOSe il conteggio degli iscritti è nascosto
data.filter_data.items[].viewsintegerNOIstantanea del conteggio delle visualizzazioni
data.filter_data.items[].views_to_subscribers_rationumberSÌRapporto visualizzazioni/abbonati
data.filter_data.items[].opportunity_scorenumberSÌPunteggio opportunità
data.filter_data.items[].duration_secondsintegerNODurata del video in secondi
data.filter_data.items[].published_atstring(date-time)SÌOrario di pubblicazione del video in UTC ISO 8601
data.filter_data.items[].snapshot_atstring(date-time)SÌOrario di raccolta dati
data.filter_data.items[].nichestringSÌNicchia o categoria
data.filter_data.items[].trackstringSÌIdentificatore della traccia del set di dati
data.filter_data.items[].regionstringSÌCodice regionale
data.filter_data.items[].reasonsarray<string>NORagioni di classifica
data.filter_data.items[].video_typestringNOshorts o long
data.filter_data.next_cursorstringSÌPagina successiva cursor per questo set di risultati; null al termine
meta.request_idstringNORichiedi l'ID di traccia
meta.snapshot_idstringNOID snapshot stabile
meta.snapshot_atstring(date-time)NOTimestamp dell'istantanea
meta.data_statusstringNOStato del set di dati
credits.costintegerNOTutte le operazioni costano 0 Credits. Non vengono assegnati né detratti crediti commerciali mensili.
credits.remaininginteger | nullSìnull
credits.period_ends_atstring(date-time) | nullSìnull
credits.unlimitedbooleanNOtrue

Impaginazione e cursors#

Invia all_data.next_cursor come all_cursor e filter_data.next_cursor come filter_cursor. Gli cursor sono indipendenti, opachi, firmati e validi per 24 ore; legacy cursor è solo un alias per filter_cursor.

ETag#

Le classifiche supportano If-None-Match. Un successo restituisce HTTP 304 con X-Credits-Cost: 0.

Errori e limiti di velocità#

Ogni errore contiene code, inglese stabile message, request_id e details. Tutte le risposte 4xx/5xx costano zero crediti.

Stato HTTPCodiceCausaAzione suggerita
400INVALID_REQUESTFormato, combinazione o intervallo del parametro non validoCorreggere i parametri utilizzando details.issues
401INVALID_API_KEYLa chiave non è valida o è inattivaControlla l'intestazione del portatore e lo stato della chiave
429API_DAILY_LIMIT_REACHEDTutte le chiavi API di un account condividono 10 chiamate REST di dati al giorno. Il limite si azzera alle 00:00 Asia/Shanghai. Il sito dispone separatamente di 10 ricerche al giorno. MCP non consuma nessuna delle due quote.Dopo 10 chiamate REST di dati viene restituito HTTP 429 con API_DAILY_LIMIT_REACHED. Attendi le 00:00 Asia/Shanghai. Creare o ruotare una chiave non azzera la quota dell’account.
429RATE_LIMITEDLimite di velocità o concorrenza superatoRiprovare dopo l'intervallo Retry-After
503DATA_STALE / SERVICE_UNAVAILABLEI dati o il servizio sono temporaneamente non disponibiliRiprova più tardi e mantieni request_id
curl -X POST "https://api.shortsmonkey.com/v1/videos/outliers/search" \
  -H "Authorization: Bearer $SHORTSMONKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"finance","video_type":"all","time_window":"7d","min_vs_ratio":10,"limit":20}'