POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
100%
Tempo medio nelle ultime 24 ore
7.73 s
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Buono

Ultime 24 ore

Ultimi 30 giorni

Estrai i commenti degli spettatori su un video Douyin, con like, numero di risposte, regione IP, flag di commento popolare e di like dell'autore, menzioni ed eventuali immagini. Ripassa next_page_token come page_token per scorrere i commenti di primo livello.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su comments. Prezzo $0.56 per 1.000 richieste ($0.000556 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Ogni blocco di 20 righe richieste conta come una chiamata: limit determina l'addebito e i blocchi per cui non viene restituita alcuna riga non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.

Douyin Comments legge i commenti sotto un video, dato l'url del video. Ogni riga contiene testo, like, numero di risposte, nickname e ID di chi ha commentato, regione IP e data di pubblicazione. Usala per sentire cosa dicono gli spettatori di un video: analisi del sentiment e della reputazione, feedback sul prodotto o individuazione degli spettatori più coinvolti.

Una chiamata senza page_token legge solo il primo blocco di commenti, con alcune risposte; per leggere tutti i commenti di primo livello, parti con un page_token vuoto e usa la paginazione. liked_by_author segnala i commenti a cui l'autore del video ha messo like, e is_reply con reply_to_id ti permette di rimettere ogni risposta sotto il commento a cui risponde. ip_location è la regione mostrata da Douyin, non un indirizzo inserito da chi commenta.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Douyin Commenti di EveryInfra (douyin/comments).

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 douyin e action su comments, e inserisci i parametri in params.
- Parametri obbligatori:
  - url: URL completo del video Douyin di destinazione, nel formato https://www.douyin.com/video/<video_id>.
- Parametri facoltativi:
  - page_token: Token di pagina per user_posts e comments. Per avviare la paginazione, invia una stringa vuota page_token="".
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 150. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 20)
- Restituisce un elenco di record. Campi principali di ogni record: next_page_token (Token di pagina (search / user_posts /…), id, text, like_count, reply_count, author_name, author_id, ip_location (Regione IP mostrata da Douyin (impostat…), is_hot (Indica se il commento ha il badge di co…), is_reply (Indica se la riga è una risposta), reply_to_id (ID del commento di primo livello sotto…), posted_at; 18 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=douyin.
- Esempio di corpo della richiesta:
{
  "platform": "douyin",
  "action": "comments",
  "params": {
    "url": "https://www.douyin.com/video/7633646113853104116"
  }
}
- Prezzo: $0.56 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ìdouyinIdentificativo della piattaforma, valore fisso.
actionbodystringSìcommentsIdentificativo della funzionalità, valore fisso.
urlbody.paramsstringSì-URL completo del video Douyin di destinazione, nel formato https://www.douyin.com/video/<video_id>. Recupera i dettagli del video in video, i commenti in comments, le risposte a un commento in comment_replies (il video su cui si trova il commento) o la trascrizione audio in transcript. Non passare URL di profili utente o di pagine di ricerca.
page_tokenbody.paramsstringNo-Token di pagina per user_posts e comments. Per avviare la paginazione, invia una stringa vuota page_token=""; poi reinvia il next_page_token della risposta precedente esattamente come ricevuto per ottenere la pagina successiva, senza modificare gli altri parametri. I token durano 24 ore e funzionano solo per lo stesso account e gli stessi parametri; un token scaduto o non corrispondente restituisce 422, quindi riparti dalla prima pagina. Nell'ultima pagina la risposta non contiene next_page_token (pagination.has_more è false). Ogni pagina di user_posts equivale a una chiamata, contiene fino a 100 righe ordinate dalla più recente alla meno recente e non è filtrata da since (se ti serve una finestra di date, filtra per posted_at dal tuo lato). Le pagine di comments contengono fino a 50 commenti di primo livello e vengono addebitate per blocchi di righe: ogni 20 righe equivalgono a una chiamata, quindi una pagina con 50 righe equivale a 3 chiamate (un limit inferiore conteggia il numero di righe specificato); i blocchi restituiti senza righe non vengono addebitati. Senza page_token, la chiamata esegue un singolo recupero: user_posts restituisce il batch più recente (since si applica), mentre comments restituisce solo l'inizio dell'elenco, risposte incluse, sempre con l'addebito di una chiamata ogni 20 righe: 20 righe per impostazione predefinita e al massimo circa 50–60, indipendentemente da quanto sia alto limit, di solito senza next_page_token.
limitbody.paramsinteger (1–150)No20Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 150. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito.

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": "douyin",
  "action": "comments",
  "params": {
    "url": "https://www.douyin.com/video/7633646113853104116"
  }
}'

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 October 16, 2026 at 13:49 (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); l'elenco conserva i primi 2. id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "id": "req_…",  "platform": "douyin",  "action": "comments",  "results": [    {      "id": "•••",      "text": "也夸夸我好吗?毕竟辛苦了大半天",      "like_count": 36613,      "reply_count": 3920,      "author_name": "•••",      "author_id": "•••",      "ip_location": "•••",      "liked_by_author": false,      "is_reply": false,      "posted_at": "2026-05-16T07:44:26+00:00",      "author_avatar_url": "https://p3.douyinpic.com/•••",      "author_uid": "•••",      "video_id": "7633646113853104116",      "images": [        "https://p26-sign.douyinpic.com/tos-cn-i-p14lwwcsbr/0ca1d6122bc04436ae1ef616727fbdc4~tplv-p14lwwcsbr-7.image?lk3s=7b078dd2&x-expires=1792177200&x-signature=3jHJJizWcJ%2FOsppJ8hAkTk5coBQ%3D&from=2064092626&se=false&sc=image&biz_tag=aweme_comment&l=202610162149377E1F6EF12980549AC8D7"      ],      "platform": "douyin"    },    {      "id": "•••",      "text": "女人也可以做漂亮饭[抠鼻][抠鼻][抠鼻][抠鼻]",      "like_count": 7668,      "reply_count": 646,      "author_name": "•••",      "author_id": "•••",      "ip_location": "•••",      "liked_by_author": false,      "is_reply": false,      "posted_at": "2026-05-12T15:26:16+00:00",      "author_avatar_url": "https://p3.douyinpic.com/•••",      "author_uid": "•••",      "video_id": "7633646113853104116",      "images": [        "https://p26-sign.douyinpic.com/tos-cn-i-p14lwwcsbr/f0e9dd3639b04e57b7d33803eaaeda1e~tplv-p14lwwcsbr-7.image?lk3s=7b078dd2&x-expires=1792177200&x-signature=q4h%2BPvenriDiq5zb5NDE%2Fva2qZo%3D&from=2064092626&se=false&sc=image&biz_tag=aweme_comment&l=202610162149377E1F6EF12980549AC8…"      ],      "platform": "douyin"    }  ],  "next_page_token": …,  "pagination": { … },  "count": 48,  "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
next_page_tokenToken di pagina (search / user_posts / comments / comment_replies / billboard_video_hot / billboard_low_fan_explosion / billboard_high_completion / billboard_account_search / music_search): reinvialo invariato come page_token per ottenere la pagina successiva, lasciando invariati gli altri parametri; è valido per 24 ore. Tutte le righe di una pagina riportano lo stesso valore, che compare anche al livello superiore della risposta. Assente nell'ultima pagina. Le pagine dei commenti scorrono tutti i commenti di primo livello, una pagina alla volta.
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
textTesto del contenuto senza HTML, restituito per intero e mai troncato (su alcune piattaforme i risultati degli elenchi contengono solo un estratto; lo indicano le note sui campi della piattaforma).
like_countLike. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0.
reply_countRisposte, di solito a un commento. null significa non rese note.
author_nameNome visualizzato dell'autore.
author_idID univoco dell'autore sulla piattaforma.
ip_locationRegione IP mostrata da Douyin (impostata dalla piattaforma, non inserita dall'utente).
is_hotIndica se il commento ha il badge di commento popolare di Douyin (comments).
is_replyIndica se la riga è una risposta.
reply_to_idID del commento di primo livello sotto cui si trova questa risposta: nelle righe di risposta di comments, il commento da cui dipende; in ogni riga di comment_replies, il commento che hai richiesto.
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.
video_idID del video a cui appartiene il commento (comments).
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).
liked_by_authorIndica se l'autore del video ha messo Mi piace al commento; i commenti apprezzati dall'autore tendono ad avere più peso.
author_avatar_urlURL dell'avatar dell'autore: il creator nelle righe search, user_posts e video, chi ha commentato nelle righe comments.
author_uidID utente numerico dell'autore (nelle righe comments, di chi ha commentato). author_id è il secUid; entrambi identificano la stessa persona.
imagesArray di link alle immagini nell'ordine di visualizzazione della piattaforma; assente se non ci sono immagini.
mentioned_usersPersone menzionate con @ nel commento, ciascuna con user_id (secUid), uid (ID numerico) e nickname. Assente quando non c'è nessuna menzione.

FAQ

#

Come leggo tutti i commenti di un video?

#

Invia page_token come stringa vuota per la prima pagina, poi ripassa invariato il next_page_token di ogni pagina, lasciando uguali gli altri parametri. Le pagine contengono fino a 50 commenti di primo livello, l'ultima pagina non ha next_page_token e i token durano 24 ore. I commenti vengono paginati per popolarità, quindi per i video con molti commenti può mancarne dal 20 al 30%. Una chiamata senza page_token restituisce solo i primi 50-60 commenti circa, risposte incluse. Ogni blocco di 20 righe conta come una chiamata, quindi una pagina completa conta come 3, e i blocchi vuoti sono gratuiti. Un token funziona solo con lo stesso account e gli stessi parametri; un token scaduto o modificato restituisce un 422, quindi riparti dalla prima pagina.

Come distinguo le risposte dai commenti di primo livello?

#

Controlla is_reply: se è true la riga è una risposta, e reply_to_id è l'ID del commento a cui risponde. Con questi due campi puoi ricostruire la discussione, mentre reply_count indica quante risposte ha ogni commento. La paginazione copre solo i commenti di primo livello; per leggere tutte le risposte a un commento, usa la funzionalità Douyin Comment replies con l'ID di quel commento.

Quali commenti conviene leggere per primi?

#

Inizia dalle righe in cui liked_by_author è true: l'autore del video ci ha messo like di persona, quindi tendono ad avere più peso. Poi ordina per like_count per vedere con quali opinioni concordano di più gli altri spettatori.

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