API Toutiao Dettagli del video

POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

Ultime 24 ore

Ultimi 30 giorni

Cerca un video Toutiao tramite link o ID numerico. Ottieni titolo, durata, riproduzioni, like, commenti, condivisioni, salvataggi, ora di pubblicazione, copertina, un link firmato al file video e il nome dell'autore; i video orizzontali aggiungono impression, token del profilo dell'autore e numero di follower. Sono coperti anche i video brevi verticali.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su toutiao e action impostato su video. Prezzo $0.81 per 1.000 richieste ($0.000806 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Toutiao Dettagli del video di EveryInfra (toutiao/video).

Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su toutiao e action su video, e inserisci i parametri in params.
- Parametri obbligatori:
  - url: Un link a un video di Toutiao (https://www.toutiao.com/video/<ID>/; funzionano anche i link /item/<ID>/ e /group/<ID>/) o l'ID numerico che contiene. L'ID di un articolo restituisce un risultato vuoto.
- Restituisce un oggetto. Campi principali: id, url, video_type (Tipo di video (video): video per un vid…), title, duration_sec, duration_seconds, play_count, like_count, comment_count, share_count, collect_count (Numero di volte in cui il video è stato…), impression_count (Numero di volte in cui il video è stato…); 21 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=toutiao.
- Esempio di corpo della richiesta:
{
  "platform": "toutiao",
  "action": "video",
  "params": {
    "url": "https://www.toutiao.com/video/7702252318212817451/"
  }
}
- Prezzo: $0.81 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.

Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.

Parametri della richiesta

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìtoutiaoIdentificativo della piattaforma, valore fisso.
actionbodystringSìvideoIdentificativo della funzionalità, valore fisso.
urlbody.paramsstringSì-Un link a un video di Toutiao (https://www.toutiao.com/video/<ID>/; funzionano anche i link /item/<ID>/ e /group/<ID>/) o l'ID numerico che contiene. L'ID di un articolo restituisce un risultato vuoto.

Esempi di codice

#
bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "toutiao",
  "action": "video",
  "params": {
    "url": "https://www.toutiao.com/video/7702252318212817451/"
  }
}'

Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.

Esempio di risposta

#
Acquisita il November 7, 2026 at 14:47 (UTC) chiamando questa API con i parametri dell'esempio di codice qui sopra. results e count sono la risposta reale di quella chiamata, da cui sono state rimosse le informazioni personali (nomi, handle, avatar, link ai profili, recapiti). id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "id": "req_…",  "platform": "toutiao",  "action": "video",  "results": {    "id": "7702252318212817451",    "url": "https://www.toutiao.com/video/7702252318212817451/",    "video_type": "video",    "title": "美航母爆炸致134死:意外还是阴谋?",    "duration_sec": 642,    "play_count": 1840,    "like_count": 33,    "comment_count": 51,    "share_count": 5,    "collect_count": 4,    "impression_count": 42160,    "posted_at": "2026-10-30T03:29:09+00:00",    "cover_url": "https://p3-sign.toutiaoimg.com/tos-cn-i-e874c6/o4miSDFxGEDDefAmsUAAfcEbVjI6zspBaAZ85E~tplv-pk90l89vgd-crop-center-v3:864:486.jpeg?_iz=31127&bid=16&from=ttvideo.&gid=7702252318212817451&lk3s=06827d14&x-expires=1794669178&x-signature=4bOGInLbooeFHuPMHWA9vxLSUOg%3D",    "video_url": "https://v5-dy-ov-experiment.zjcdn.com/b6798b984b08ad002f6d4966dc8d4d2e/6af1e57c/video/tos/cn/tos-cn-ve-19734/okfVQlzHitDxQlSE5SFVwIKRBIMzEACnefQGcm/?a=13&ch=0&cr=0&dr=0&er=0&lr=default&net=5&cd=0%7C0%7C0%7C1&cv=1&br=155&bt=155&cs=4&ds=1&eid=48897&ft=3WIhUw1uRR5sd95_1zrTBb_ipIEsbL…",    "author_id": "•••",    "author_name": "拉•••离",    "author_avatar_url": "https://p3-sign.toutiaoimg.com/•••",    "author_follower_count": 15774,    "author_verified": false,    "platform": "toutiao",    "duration_seconds": 642  },  "billing": {    "charged": …,    "charged_usd": …,    "balance_after_usd": …,    …  },  "quota": { … }}

Campi della risposta

#

I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.

CampoSignificato
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
urlLink al record sulla piattaforma.
video_typeTipo di video (video): video per un video orizzontale, short_video per uno verticale. I video brevi non hanno author_id, impression_count né author_follower_count.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
duration_secMantiene il significato attribuito dalla piattaforma
duration_secondsDurata in secondi. null per i contenuti che non sono video o audio.
play_countMantiene il significato attribuito dalla piattaforma
like_countLike. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0.
comment_countCommenti. null significa non resi noti, non 0.
share_countCondivisioni. null significa non rese note, non 0.
collect_countNumero di volte in cui il video è stato salvato (video).
impression_countNumero di volte in cui il video è stato mostrato nei feed (video, solo video orizzontali); non sono riproduzioni.
posted_atData e ora di pubblicazione in formato ISO 8601, UTC (ad esempio 2026-08-07T12:34:56+00:00). Le stringhe non standard della piattaforma vengono passate così come sono, quindi esegui il parsing in modo difensivo. null significa che la piattaforma non le rende note.
cover_urlMantiene il significato attribuito dalla piattaforma
video_urlURL del file video con il bitrate più alto disponibile (video; firmato, scade dopo alcune ore).
author_idIl token del profilo MS4w dell'autore (video, solo video orizzontali); passalo come user_id a profile o user_posts.
author_nameNome visualizzato dell'autore.
author_avatar_urlLink all'avatar di chi ha commentato (comments); su video, quello dell'autore.
author_follower_countNumero di follower dell'autore (video, solo video orizzontali).
author_verifiedIndica se l'autore è verificato; su comments, chi ha commentato.
author_auth_infoDescrizione della verifica, ad esempio creator di un settore; su comments, quella di chi ha commentato, ad esempio un account ufficiale. Assente quando non c'è.
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).

Errori e addebiti

#
401
Chiave mancante o non valida.
402
Saldo insufficiente. Effettua prima una ricarica.
422
Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
429
Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
503
Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
Risposta 200 vuota
Nessun dato. Nessun addebito.

Errori

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy