API Douyin Dettagli del video
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- 100%
- Tempo medio nelle ultime 24 ore
- 11.45 s
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Recupera didascalia, hashtag, durata, metriche di engagement, profilo dell'autore, musica di sottofondo e data di pubblicazione di un video Douyin dal suo link. Il link di riproduzione in video_url è firmato e scade, quindi scarica il video subito se devi conservarlo.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su video. 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 Video details legge le informazioni pubbliche di un video dal suo url: didascalia, hashtag, durata, numero di like, commenti, condivisioni e salvataggi, l'autore e il suo numero di follower, data e regione di pubblicazione. Usala per analizzare nel dettaglio un singolo video di successo, verificare i numeri di un post sponsorizzato o completare i dettagli dei link video raccolti altrove.
Passa il link della pagina del video, nel formato https://www.douyin.com/video/<video ID>, non una pagina profilo o di ricerca. Lo stesso link funziona anche per leggere i commenti del video o estrarne la trascrizione. Douyin non pubblica il numero di riproduzioni, quindi view_count non dice nulla sulle visualizzazioni reali; valuta la portata in base a like, commenti e condivisioni.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Douyin Dettagli del video di EveryInfra (douyin/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 douyin e action su video, 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>.
- Restituisce un oggetto. Campi principali: 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, author_id; 53 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=douyin.
- Esempio di corpo della richiesta:
{
"platform": "douyin",
"action": "video",
"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
#| 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ì | video | Identificativo della funzionalità, valore fisso. |
url | body.params | string | Sì | - | 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. |
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": "video",
"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
#{ "id": "req_…", "platform": "douyin", "action": "video", "results": { "id": "7633646113853104116", "url": "https://www.douyin.com/video/7633646113853104116", "text": "别犹豫 想吃谁做的就@谁 #家常菜 #如果幸福是一顿漂亮饭", "media_type": "video", "video_url": "https://v95-hzyy-thr-daily-colda.douyinvod.com/00e83eb1638968a210789ad41d005848/6add0846/video/tos/cn/tos-cn-ve-15/osCeAU146LfGGBFAgTIGXXewRxoNAEESBGgzu7/?a=1128&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1565&bt=1565&cs=0&ds=3&ft=zyTEemq4dd2~YBSzVvjVQXmz-TLJ9E05m4E5ljOCnzNf…", "like_count": 5191450, "comment_count": 367807, "share_count": 3397981, "collect_count": 603283, "view_count": 0, "author_name": "•••", "author_id": "•••", "author_douyin_id": "•••", "author_avatar_url": "https://p26.douyinpic.com/•••", "cover_image_url": "https://p5-ex-gddgtc-sign.douyinpic.com/tos-cn-i-0813c001/okiAIDJvALIEu1AesKf0wAio8AJBYDgAAA8IwC~tplv-dy-resize-walign-adapt-aq:540:q75.webp?lk3s=138a59ce&x-expires=1794074400&x-signature=hydt%2FpxAWFFAH3o1r0%2BRDkzfjeU%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=…", "region": "CN", "posted_at": "2026-04-28T03:25:39+00:00", "platform": "douyin", "author_uid": "•••", "author_is_verified": true, "author_bio": "•••", "author_like_count": 394320561, "author_video_count": 2279, "music": { "id": "•••", "title": "心跳(你又在哭泣我给不了安慰)", "author": "•••", "is_original": false, "duration_sec": 16, "cover_url": "https://p3.douyinpic.com/tos-cn-v-2774c002/oMisiuEh1DsoATBIAwPUiXBoApEaRADEAEezKW~tplv-dy-resize-walign-adapt-aq:720:q75.heic?biz_tag=aweme_music&s=PackSourceEnum_AWEME_DETAIL&sc=cover", "play_url": "https://sf11-cdn-tos.douyinstatic.com/obj/tos-cn-ve-2774/owJHiEhBzAg7AaUiiNwMhBIIWAKhf8tQ6sM8Tk" }, "download_count": 10817, "forward_count": 0, "is_pinned": false, "is_ad": false, "video_tags": [ "美食", "美食展示", "普通美食展示" ], "video_width": 720, "video_height": 960, "video_resolution": "720p", "animated_cover_url": "https://p5-ex-gddgtc-sign.douyinpic.com/obj/tos-cn-i-0813c001/okiAIDJvALIEu1AesKf0wAio8AJBYDgAAA8IwC?lk3s=138a59ce&x-expires=1794074400&x-signature=Z7xqx7cKvQ1o6chyAX%2Br7wiVTZs%3D&from=327834062_large&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=dynamic_cover&biz_tag=aweme_video&l=…", "hashtag_ids": [ "1767587367821390", "7510979073431046180" ], "city": "Shandong", "city_code": "371300", "text_language": "zh", "video_bitrates": [ { "quality": "1080_1_1", "bitrate": 1761129, "fps": 30, "is_h265": true, "url": "https://v95-zjjx2tc-cold.douyinvod.com/3af3eb3ed8f93616a607176cb701eb9e/6add0846/video/tos/cn/tos-cn-ve-15/oMB3tqiEIAgpMdefkKiDwlLLcgRhgAAxBBB9Q1/?a=1128&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1719&bt=1719&cs=2&ds=4&ft=zyTEemq4dd2~YBSzVvjVQXmz-TLJ9E05m4E5ljOCnzNfG~RUxRyq…" }, { "quality": "720_1_1", "bitrate": 1179750, "fps": 30, "is_h265": true, "url": "https://v95-hzyy-thr-daily-colda.douyinvod.com/4f077c6ec6d7afc7b94a71c860103399/6add0846/video/tos/cn/tos-cn-ve-15/c28890d8ae014084b8fe0baa7037a421/?a=1128&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1152&bt=1152&cs=2&ds=3&ft=zyTEemq4dd2~YBSzVvjVQXmz-TLJ9E05m4E5ljOCnzNfG~RUxR…" }, { "quality": "720_2_1", "bitrate": 927020, "fps": 30, "is_h265": true, "url": "https://v95-zj-colda.douyinvod.com/3597031f464e4aaac8e792c309b3c41b/6add0846/video/tos/cn/tos-cn-ve-15/64888fdc0e70457d956f7d85cbc7f6f0/?a=1128&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=905&bt=905&cs=2&ds=3&ft=zyTEemq4dd2~YBSzVvjVQXmz-TLJ9E05m4E5ljOCnzNfG~RUxRyqkZ&mime_type…" } ], "download_url": "https://v5-gddgtc-cold.douyinvod.com/a3891d04f3aaa7423d89030ba331a15f/6add0846/video/tos/cn/tos-cn-ve-15/oUYg9pEj8vJEAUY1AAImarifZCegMFQDgXDB4C/?a=1128&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1589&bt=1589&cs=0&ds=3&ft=zyTEemq4dd2~YBSzVvjVQXmz-TLJ9E05m4E5ljOCnzNfG~RUxRyqkZ…", "has_watermark": true, "video_url_expires_at": "2026-10-24T19:34:30+00:00", "permissions": { "can_comment": true, "can_download": true, "can_duet": true, "can_stitch": true, "can_share": true, "can_repost": true, "can_save": true }, "author_gender": "•••", "author_age": 27, "duration_sec": 9, "hashtags": [ "家常菜", "如果幸福是一顿漂亮饭" ], "duration_seconds": 9 }, "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. |
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. |
like_count | Like. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0. |
comment_count | Commenti. null significa non resi noti, non 0. |
share_count | Condivisioni. null significa non rese note, non 0. |
collect_count | Salvataggi o preferiti. null significa non resi noti, non 0. |
view_count | Numero 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_name | Nome visualizzato dell'autore. |
author_id | ID univoco dell'autore sulla piattaforma. |
author_douyin_id | L'ID Douyin dell'autore. |
author_uid | ID utente numerico dell'autore (nelle righe comments, di chi ha commentato). author_id è il secUid; entrambi identificano la stessa persona. |
author_bio | La bio del profilo dell'autore (righe search / user_posts / video). |
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. |
cover_image_url | URL della miniatura di copertina del video o del post di immagini (righe search / user_posts). |
video_width | Larghezza del fotogramma del video in pixel. |
video_height | Altezza del fotogramma del video in pixel. |
duration_seconds | Durata in secondi. null per i contenuti che non sono video o audio. |
region | Regione. |
hashtags | Hashtag presenti nel testo, in ordine di apparizione; assente se non ce ne sono. |
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. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
image_urls | Array di link alle immagini nell'ordine di visualizzazione della piattaforma; assente se non ci sono immagini. |
duration_sec | Durata del video in secondi. |
hashtag_ids | Mantiene il significato attribuito dalla piattaforma |
search_rank | Mantiene il significato attribuito dalla piattaforma |
author_is_verified | Indica se l'autore è verificato (righe search / user_posts / video). |
author_following_count | Numero di account seguiti dall'autore (righe search / user_posts / video). |
author_like_count | Mi piace totali ricevuti dal profilo dell'autore (search / user_posts / video / transcript). |
author_video_count | Numero totale di post sul profilo dell'autore (righe search / user_posts / video). |
author_ip_location | La località IP dell'autore, che Douyin mostra su ogni profilo. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
music | Traccia 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_count | Numero di volte in cui il post è stato scaricato. |
forward_count | Numero di volte in cui il post è stato inoltrato. |
is_pinned | Indica se l'elemento è fissato in alto (righe dei post: fissato sul profilo dell'autore; trending: fissato nella classifica). |
is_ad | Indica se il post è un annuncio. |
video_tags | Tag di categoria dei contenuti assegnati da Douyin al post (ad esempio cibo o visita in negozio). |
video_resolution | Livello di qualità del video come indicato da Douyin (ad esempio 720p). |
animated_cover_url | Link alla copertina animata. |
city | Nome della città nella lingua della piattaforma, non normalizzato. |
city_code | Mantiene il significato attribuito dalla piattaforma |
location | Descrizione della località passata così com'è; il formato varia in base alla piattaforma. |
text_language | Mantiene il significato attribuito dalla piattaforma |
video_bitrates | Mantiene il significato attribuito dalla piattaforma |
download_url | Mantiene il significato attribuito dalla piattaforma |
has_watermark | Mantiene il significato attribuito dalla piattaforma |
video_url_expires_at | Mantiene il significato attribuito dalla piattaforma |
permissions | Mantiene il significato attribuito dalla piattaforma |
author_gender | Mantiene il significato attribuito dalla piattaforma |
author_age | Mantiene il significato attribuito dalla piattaforma |
FAQ
#Quale link devo passare come url?
#Il link completo della pagina del video, nel formato https://www.douyin.com/video/<video ID>. Se hai solo un link di condivisione breve, aprilo prima in un browser e copia l'indirizzo della pagina del video a cui rimanda. I link a profili e pagine di ricerca non funzionano.
Posso ottenere il numero di riproduzioni di un video?
#No. Douyin non pubblica il numero di riproduzioni, quindi qui view_count non riflette le visualizzazioni reali. Per capire come è andato un video, guarda insieme like_count, share_count e collect_count e confrontali con gli altri video dell'autore.
Posso ottenere ciò che viene detto nel video?
#Questa funzionalità restituisce didascalia e hashtag, non il parlato. Per le parole pronunciate, chiama la funzionalità Douyin Transcript con lo stesso link del video; estrae la traccia vocale come testo da analizzare.
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.