API Douyin Dettagli del brano
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 un brano Douyin tramite il music_id numerico ottenuto da music_search, o un link douyin.com/music. Ottieni titolo, artista, durata, quanti contenuti lo usano, copertina, un link di riproduzione e un link al testo quando disponibile. Le ricerche per titolo del brano si fanno con music_search.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su music_detail. 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 Dettagli del brano di EveryInfra (douyin/music_detail).
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 music_detail, e inserisci i parametri in params.
- Parametri obbligatori:
- music_id: ID numerico di un brano musicale Douyin, ad esempio 7699717253151558410, preso dall'id di una riga di music_search; è accettato anche un link douyin.com/music/<ID>.
- Restituisce un oggetto. Campi principali: id, url, title, author_name, duration_seconds, duration_sec (Durata del video in secondi), use_count (Numero di contenuti che usano questo br…), cover_image_url (URL della miniatura di copertina del vi…), audio_url (Link audio: la traccia audio del video…), lyric_url (Link al file del testo del brano (music…).
- Esempio di corpo della richiesta:
{
"platform": "douyin",
"action": "music_detail",
"params": {
"music_id": "7699717253151558410"
}
}
- 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ì | music_detail | Identificativo della funzionalità, valore fisso. |
music_id | body.params | string | Sì | - | ID numerico di un brano musicale Douyin, ad esempio 7699717253151558410, preso dall'id di una riga di music_search; è accettato anche un link douyin.com/music/<ID>. |
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": "music_detail",
"params": {
"music_id": "7699717253151558410"
}
}'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": "music_detail", "results": { "id": "•••", "url": "https://www.douyin.com/music/7699717253151558410", "title": "你的不经意", "author_name": "F•••克", "duration_seconds": 30, "use_count": 446339, "cover_image_url": "https://p3.douyinpic.com/tos-cn-v-2774c002/o4DihNWrrtAiP9ZAmWAcWYDTBaE4EzIQgAaiT~tplv-dy-resize-walign-adapt-aq:720:q75.heic?biz_tag=aweme_music&s=PackSourceEnum_MUSIC_DETAIL&sc=cover", "audio_url": "https://v3-awememusicpgc.amemv.com/00e9fa7d2f07a4f7fc1bf48a998e7198/6b16c87c/video/tos/cn/tos-cn-ve-2774/o4OAOfggBEAWDZf4fLtQe7tHRVqgVrVUYIFNek/?a=1128&ch=0&cr=3&dr=0&er=2&cd=0%7C0%7C0%7C3&br=126&bt=126&ft=r0ykeFN.d95~~iSYsiI9B4yoFIKrHgSFS4ZH9UOCnzXnZeMdxRyqkZ&mime_type=audio_mp4…", "platform": "douyin", "duration_sec": 30 }, "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. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
author_name | Nome visualizzato dell'autore. |
duration_seconds | Durata in secondi. null per i contenuti che non sono video o audio. |
duration_sec | Durata del video in secondi. |
use_count | Numero di contenuti che usano questo brano (music_search), il dato che Douyin mostra nella pagina della musica. |
cover_image_url | URL della miniatura di copertina del video o del post di immagini (righe search / user_posts). |
audio_url | Link audio: la traccia audio del video in transcript (mp3), il link di riproduzione del brano in music_search; può scadere. |
lyric_url | Link al file del testo del brano (music_search), solo quando Douyin ne dispone. |
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.