POST

Stato di salute dell'API

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

Ultime 24 ore

Ultimi 30 giorni

Monitora i video pubblicati da un account Douyin, dal più recente. Ogni video include didascalia, hashtag, durata, metriche di engagement e data di pubblicazione. Inizia la paginazione con un page_token vuoto. Ripassa ogni next_page_token entro 24 ore. since imposta la data di pubblicazione minima.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su user_posts. Prezzo $0.56 per 1.000 richieste ($0.000556 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.

Douyin Posts by user elenca i video pubblicati da un account, dato il suo user_id. Ogni riga contiene didascalia, hashtag, durata, metriche di interazione e data di pubblicazione. Usala per vedere cosa ha pubblicato un account e quali video funzionano, quando valuti i creator, monitori account concorrenti o studi un modello di pubblicazione.

user_id è il secUid dell'account, che di solito inizia con MS4w; prendilo da author_id nei risultati di ricerca o dal link del profilo. Nickname e Douyin ID numerici brevi non funzionano. Una chiamata senza page_token restituisce l'ultimo blocco di video e accetta since; per scorrere l'intero elenco dei video, parti con un page_token vuoto e ripassa ogni next_page_token. Ignora view_count quando confronti i video, perché Douyin non pubblica il numero di riproduzioni.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Douyin Post dell'utente di EveryInfra (douyin/user_posts).

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 user_posts, e inserisci i parametri in params.
- Parametri obbligatori:
  - user_id: La stringa secUid dell'utente Douyin (di solito inizia con MS4w), non un nickname né il breve ID numerico di Douyin. Serve a identificare gli account per le azioni profile e user_posts.
- Parametri facoltativi:
  - page_token: Token di pagina per user_posts: invia una stringa vuota page_token="" per iniziare dalla pagina più recente, poi ripassa il next_page_token di ogni risposta esattamente come ricevuto, lasciando invariati gli altri parame…
  - since: Imposta un limite inferiore per la data di pubblicazione dei video nelle azioni profile e user_posts, nel formato YYYY-MM-DD. Filtra i video recuperati per la richiesta, non la data di creazione dell'account.
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 100. 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, url, text, media_type (Tipo di media: video, oppure image per…), video_url (URL di riproduzione del video (firmato,…), like_count, comment_count, share_count, collect_count, view_count (Numero di riproduzioni), author_name; 54 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=douyin.
- Esempio di corpo della richiesta:
{
  "platform": "douyin",
  "action": "user_posts",
  "params": {
    "user_id": "https://www.douyin.com/user/MS4wLjABAAAAk1tZ-L085zZf2yW_H5dnVFZWyk8Rt8v4RAvf9KhTyPoVdMDxTs7Q_rvgTJGWXezS"
  }
}
- 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ìuser_postsIdentificativo della funzionalità, valore fisso.
user_idbody.paramsstringSì-La stringa secUid dell'utente Douyin (di solito inizia con MS4w), non un nickname né il breve ID numerico di Douyin. Serve a identificare gli account per le azioni profile e user_posts; puoi ottenerla dal campo author_id dei risultati di ricerca o dall'URL del profilo di un utente.
page_tokenbody.paramsstringNo-Token di pagina per user_posts: invia una stringa vuota page_token="" per iniziare dalla pagina più recente, poi ripassa il next_page_token di ogni risposta esattamente come ricevuto, lasciando invariati gli altri parametri. I token durano 24 ore e funzionano solo per lo stesso account e con gli stessi parametri; l'ultima pagina non ha next_page_token. Le pagine contengono fino a 100 righe, a partire dalle più recenti, e ignorano il limite inferiore since; se ti serve un intervallo di date, filtra per posted_at lato tuo. Ogni pagina corrisponde a una chiamata.
sincebody.paramsdateNo-Imposta un limite inferiore per la data di pubblicazione dei video nelle azioni profile e user_posts, nel formato YYYY-MM-DD. Filtra i video recuperati per la richiesta, non la data di creazione dell'account. Se lo ometti, il filtro per data viene rimosso.
limitbody.paramsinteger (1–100)No20Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 100. 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": "user_posts",
  "params": {
    "user_id": "https://www.douyin.com/user/MS4wLjABAAAAk1tZ-L085zZf2yW_H5dnVFZWyk8Rt8v4RAvf9KhTyPoVdMDxTs7Q_rvgTJGWXezS"
  }
}'

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 September 26, 2026 at 08:56 (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": "user_posts",  "results": [    {      "id": "•••",      "url": "https://www.douyin.com/video/7534316807973260587",      "text": "10个实用技巧,告别说英语时忘词! #英语学习视频 #英语学习分享 #英语听力磨耳朵 #零基础学英语口语",      "media_type": "video",      "like_count": 7310,      "comment_count": 80,      "share_count": 1378,      "collect_count": 6115,      "view_count": 0,      "author_name": "•••",      "author_id": "MS4wLjABAAAAk1tZ-L085zZf2yW_H5dnVFZWyk8Rt8v4RAvf9KhTyPoVdMDxTs7Q_rvgTJGWXezS",      "author_douyin_id": "•••",      "author_follower_count": 48341,      "region": "河北",      "posted_at": "2025-08-04T00:10:00+00:00",      "platform": "douyin",      "duration_sec": 244,      "hashtags": [        "英语学习视频",        "英语学习分享",        "英语听力磨耳朵"      ]    },    {      "id": "•••",      "url": "https://www.douyin.com/video/7524662531407793447",      "text": "英语磨耳朵:春节中国最重要的传统节日 #英语学习视频 #英语听力训练 #四六级翻译 #英语短文",      "media_type": "video",      "like_count": 602,      "comment_count": 19,      "share_count": 206,      "collect_count": 474,      "view_count": 0,      "author_name": "•••",      "author_id": "MS4wLjABAAAAk1tZ-L085zZf2yW_H5dnVFZWyk8Rt8v4RAvf9KhTyPoVdMDxTs7Q_rvgTJGWXezS",      "author_douyin_id": "•••",      "author_follower_count": 48341,      "region": "河北",      "posted_at": "2025-07-09T00:12:00+00:00",      "platform": "douyin",      "duration_sec": 40,      "hashtags": [        "英语学习视频",        "英语听力训练",        "四六级翻译"      ]    }  ],  "next_page_token": …,  "pagination": { … },  "count": 20,  "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.
urlLink al record sulla piattaforma.
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).
media_typeTipo di media: video, oppure image per i post di immagini.
video_urlURL di riproduzione del video (firmato, con scadenza; scaricalo subito se devi conservarlo). Null per i post di immagini o quando l'origine non lo fornisce.
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_countSalvataggi o preferiti. null significa non resi noti, non 0.
view_countNumero di riproduzioni. Douyin non pubblica il numero di riproduzioni, quindi questo campo non riporta mai riproduzioni reali; valuta la diffusione in base a like_count, comment_count e share_count.
author_nameNome visualizzato dell'autore.
author_idID univoco dell'autore sulla piattaforma.
author_douyin_idL'ID Douyin dell'autore.
author_uidID utente numerico dell'autore (nelle righe comments, di chi ha commentato). author_id è il secUid; entrambi identificano la stessa persona.
author_bioLa bio del profilo dell'autore (righe search / user_posts / video).
author_avatar_urlURL dell'avatar dell'autore: il creator nelle righe search, user_posts e video, chi ha commentato nelle righe comments.
author_follower_countNumero di follower dell'autore. null significa non reso noto.
cover_image_urlURL della miniatura di copertina del video o del post di immagini (righe search / user_posts).
video_widthLarghezza del fotogramma del video in pixel.
video_heightAltezza del fotogramma del video in pixel.
duration_secondsDurata in secondi. null per i contenuti che non sono video o audio.
regionRegione.
hashtagsHashtag presenti nel testo, in ordine di apparizione; assente se non ce ne sono.
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.
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).
image_urlsArray di link alle immagini nell'ordine di visualizzazione della piattaforma; assente se non ci sono immagini.
duration_secDurata del video in secondi.
hashtag_idsMantiene il significato attribuito dalla piattaforma
search_rankMantiene il significato attribuito dalla piattaforma
author_is_verifiedIndica se l'autore è verificato (righe search / user_posts / video).
author_following_countNumero di account seguiti dall'autore (righe search / user_posts / video).
author_like_countMi piace totali ricevuti dal profilo dell'autore (search / user_posts / video / transcript).
author_video_countNumero totale di post sul profilo dell'autore (righe search / user_posts / video).
author_ip_locationLa località IP dell'autore, che Douyin mostra su ogni profilo.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
musicTraccia di sottofondo: id, title, author, is_original (se è un suono originale), duration_sec, cover_url e play_url (link audio, può scadere). Assente quando non ci sono informazioni sulla musica.
download_countNumero di volte in cui il post è stato scaricato.
forward_countNumero di volte in cui il post è stato inoltrato.
is_pinnedIndica se l'elemento è fissato in alto (righe dei post: fissato sul profilo dell'autore; trending: fissato nella classifica).
is_adIndica se il post è un annuncio.
video_tagsTag di categoria dei contenuti assegnati da Douyin al post (ad esempio cibo o visita in negozio).
video_resolutionLivello di qualità del video come indicato da Douyin (ad esempio 720p).
animated_cover_urlLink alla copertina animata.
cityNome della città nella lingua della piattaforma, non normalizzato.
city_codeMantiene il significato attribuito dalla piattaforma
locationDescrizione della località passata così com'è; il formato varia in base alla piattaforma.
text_languageMantiene il significato attribuito dalla piattaforma
video_bitratesMantiene il significato attribuito dalla piattaforma
download_urlMantiene il significato attribuito dalla piattaforma
has_watermarkMantiene il significato attribuito dalla piattaforma
video_url_expires_atMantiene il significato attribuito dalla piattaforma
permissionsMantiene il significato attribuito dalla piattaforma
author_genderMantiene il significato attribuito dalla piattaforma
author_ageMantiene il significato attribuito dalla piattaforma

FAQ

#

Dove trovo il secUid?

#

Apri il profilo Douyin dell'account: la stringa lunga dopo /user/ che inizia con MS4w è il secUid. author_id nei risultati di ricerca e dei video ha lo stesso valore, quindi puoi passarlo direttamente a user_id. Nickname e Douyin ID numerici brevi non identificano un account.

Come scorro tutti i video di un account pagina per pagina?

#

Invia page_token come stringa vuota per la prima pagina, poi ripassa invariato il next_page_token di ogni risposta, lasciando uguali gli altri parametri. Le pagine contengono fino a 100 video, dal più recente, e l'ultima pagina non ha next_page_token. I token durano 24 ore e la paginazione ignora since, quindi se ti serve un intervallo di date filtra tu per posted_at.

Come recupero solo i nuovi video?

#

In una chiamata senza page_token, passa since come data YYYY-MM-DD per ottenere i video pubblicati da quel giorno in poi. Per le esecuzioni pianificate, usa come since successivo la data di pubblicazione più recente dell'esecuzione precedente, così la sincronizzazione è incrementale.

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

Riferimenti ufficiali

#

Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.

  • Douyin Open Platform: Open ID e Union ID ↗

    Douyin Open Platform definisce l'Open ID come l'identificatore dell'utente all'interno di una singola app, mentre lo Union ID vale per l'intero account sviluppatore. In questa pagina, user_id richiede un secUid secondo le istruzioni riportate sopra; non passare direttamente identificatori dell'Open Platform come input equivalenti.

    Verificato il 2026-09-04

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