API Douyin Classifica dei video più popolari
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- Normale
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Leggi la classifica dei video di Hot Spot Treasure, lo strumento di tendenze di Douyin: la classifica generale o quelle per maggiore crescita di follower o maggiore tasso di like, nell'ultima ora, nell'ultimo giorno, negli ultimi 3 o 7 giorni. Ogni contenuto include riproduzioni, like, tasso di like, follower guadagnati, tasso di crescita dei follower, punteggio di popolarità e follower dell'autore, in ordine di popolarità decrescente. Fino a 50 per pagina; Douyin esclude alcuni contenuti, quindi le pagine sono spesso più corte e una pagina corta non indica la fine. Le righe non riportano la posizione.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su billboard_video_hot. 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 Douyin Classifica dei video più popolari di EveryInfra (douyin/billboard_video_hot).
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 billboard_video_hot, e inserisci i parametri in params.
- Nessun parametro obbligatorio.
- Parametri facoltativi:
- board: Classifica per billboard_video_hot: all (predefinito) è la classifica generale, follower_growth quella dei contenuti che hanno guadagnato più follower in rapporto alle riproduzioni e like_rate quella con il tasso di like… (valori consentiti: all / follower_growth / like_rate)
- keyword: Facoltativo: mantieni solo i contenuti correlati a questa parola, ad esempio food; omettilo per l'intera classifica.
- page_token: Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto, lasciando invariati gli altri parametri.
- time_window: Finestra temporale: 1h (ultima ora), 1d (ultime 24 ore, predefinita), 3d o 7d. (valori consentiti: 1d / 1h / 3d / 7d)
- Restituisce un elenco di record. Campi principali di ogni record: id, url, text, media_type (Tipo di media: video, oppure image per…), image_count (Numero di immagini in un post di immagi…), cover_image_url (URL della miniatura di copertina del vi…), video_url (URL di riproduzione del video (firmato,…), duration_seconds, duration_sec (Durata del video in secondi), author_name, author_avatar_url (URL dell'avatar dell'autore: il creator…), author_follower_count; 20 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=douyin.
- Esempio di corpo della richiesta:
{
"platform": "douyin",
"action": "billboard_video_hot",
"params": {}
}
- 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
#| Nome | Posizione | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|---|
Authorization | header | string | Sì | - | Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice. |
platform | body | string | Sì | douyin | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | billboard_video_hot | Identificativo della funzionalità, valore fisso. |
board | body.params | string (enum) | No | - | Classifica per billboard_video_hot: all (predefinito) è la classifica generale, follower_growth quella dei contenuti che hanno guadagnato più follower in rapporto alle riproduzioni e like_rate quella con il tasso di like più alto.Valori consentitiallfollower_growthlike_rate |
keyword | body.params | string | No | - | Facoltativo: mantieni solo i contenuti correlati a questa parola, ad esempio food; omettilo per l'intera classifica. |
page_token | body.params | string | No | - | Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto, lasciando invariati gli altri parametri. Ogni pagina contiene fino a 50 contenuti e corrisponde a una chiamata; Douyin esclude alcuni contenuti, quindi spesso una pagina ne contiene meno di 50 e una pagina incompleta non indica la fine. I token durano 24 ore; l'ultima pagina non ha next_page_token (al massimo circa 1.000 contenuti per classifica). |
time_window | body.params | string (enum) | No | - | Finestra temporale: 1h (ultima ora), 1d (ultime 24 ore, predefinita), 3d o 7d.Valori consentiti1d1h3d7d |
Esempi di codice
#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": "billboard_video_hot",
"params": {}
}'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
#{ "id": "req_…", "platform": "douyin", "action": "billboard_video_hot", "results": [ { "id": "•••", "url": "https://www.douyin.com/video/7704738611207828863", "text": "#pxx #你们就这样对我吧。 我真的没空跟这个巨大的草台班子闹了", "media_type": "image", "image_count": 3, "cover_image_url": "https://p26-sign.douyinpic.com/tos-cn-i-0813/os6QA22I6VAdBfVkfLXdBGIAZGrRe2AF7AEUHE~tplv-dy-resize-walign-adapt-aq:540:q75.jpeg?lk3s=138a59ce&x-expires=1795269600&x-signature=E2HtK%2B%2F3yCOn%2Fr2ahdf7XtpBa7o%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=aw…", "author_name": "琳•••~", "author_avatar_url": "https://p11.douyinpic.com/•••", "author_follower_count": 1756, "play_count": 24211876, "like_count": 586925, "like_rate": 0.024241, "new_follower_count": 1792, "follower_growth_rate": 0.00009, "hot_value": 1971460, "posted_at": "2026-11-05T17:20:51+00:00", "next_page_token": "bbv1.2", "platform": "douyin" }, { "id": "•••", "url": "https://www.douyin.com/video/7704675163874331967", "media_type": "video", "cover_image_url": "https://p11-sign.douyinpic.com/tos-cn-i-0813c001/oUAfgQ0EMIDPNsFHAeXAaX77XE8KVABEQdAfB2~tplv-dy-resize-walign-adapt-aq:540:q75.jpeg?lk3s=138a59ce&x-expires=1795269600&x-signature=1Hzq2VEvCySMYWuWjJB%2Beiqam18%3D&from=327834062&s=PackSourceEnum_PUBLISH&se=false&sc=cover&biz_tag=aw…", "video_url": "https://v5-coldp.douyinvod.com/664927ea4d4747104e0970a3fd161620/6af1de9a/video/tos/cn/tos-cn-ve-15/oMEse1WGdnkiAultAAEyO0APeOvgCiIBQqNBWk/?a=1128&ch=10&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2402&bt=2402&cs=0&ds=6&ft=r5QvG77JWH6BMkvlAJr0PD1IN&mime_type=video_mp4&qs=0&rc=aTY8ZT…", "duration_seconds": 77.7, "author_name": "正•••j", "author_avatar_url": "https://p11.douyinpic.com/•••", "author_follower_count": 17213, "play_count": 24104460, "like_count": 555368, "like_rate": 0.02304, "new_follower_count": 3241, "follower_growth_rate": 0.000148, "hot_value": 1559082, "posted_at": "2026-11-05T13:14:45+00:00", "next_page_token": "bbv1.2", "platform": "douyin", "duration_sec": 77.7 } ], "next_page_token": …, "pagination": { … }, "count": 39, "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.
| Campo | Significato |
|---|---|
id | ID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse. |
url | Link al record sulla piattaforma. |
text | Testo 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_type | Tipo di media: video, oppure image per i post di immagini. |
image_count | Numero di immagini in un post di immagini (classifiche video di Hot Spot Treasure; solo quando media_type è image). |
cover_image_url | URL della miniatura di copertina del video o del post di immagini (righe search / user_posts). |
video_url | URL 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. |
duration_seconds | Durata in secondi. null per i contenuti che non sono video o audio. |
duration_sec | Durata del video in secondi. |
author_name | Nome visualizzato dell'autore. |
author_avatar_url | URL dell'avatar dell'autore: il creator nelle righe search, user_posts e video, chi ha commentato nelle righe comments. |
author_follower_count | Numero di follower dell'autore. null significa non reso noto. |
play_count | Numero di riproduzioni. Nelle classifiche video di Hot Spot Treasure (billboard_video_hot, billboard_low_fan_explosion, billboard_high_completion) è il dato di riproduzione fornito da Douyin. Altrove Douyin non pubblica il numero di riproduzioni, quindi il valore (di solito 0) non riflette mai riproduzioni reali; valuta la diffusione in base a Mi piace, commenti e condivisioni. |
like_count | Like. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0. |
like_rate | Tasso di Mi piace nelle classifiche video di Hot Spot Treasure: like_count diviso play_count, in forma decimale (0.0118 significa 1,18%). |
new_follower_count | Follower ottenuti grazie al contenuto (classifiche video di Hot Spot Treasure). |
follower_growth_rate | Tasso di crescita dei follower nelle classifiche video di Hot Spot Treasure: il valore decimale calcolato da Douyin, circa new_follower_count diviso play_count. |
hot_value | Valore di popolarità, una misura propria di Douyin, confrontabile solo all'interno della stessa classifica e finestra temporale: in trending, la popolarità della voce (spesso vuota nella classifica hotspot); nelle classifiche video di Hot Spot Treasure, il punteggio di popolarità della classifica, con le righe ordinate dal valore più alto; in billboard_search_hot, la popolarità di ricerca del termine nella finestra. |
posted_at | Data 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. |
next_page_token | Token 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. |
platform | Identificativo 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.