API Douyin Ricerca musica
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
Cerca nella libreria musicale di Douyin per titolo, artista o nome del suono. Ogni brano include titolo, artista, durata, quanti contenuti lo usano, copertina, un link di riproduzione, un link al testo quando disponibile e tag. 10 brani per pagina; vai avanti con next_page_token. La presenza di un brano su Douyin non ne autorizza l'uso commerciale.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su music_search. Prezzo $8 per 1.000 richieste ($0.008 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 Ricerca musica di EveryInfra (douyin/music_search).
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_search, e inserisci i parametri in params.
- Parametri obbligatori:
- keyword: Il titolo di un brano, un artista o il nome di un suono, ad esempio Jay Chou; cerca nella libreria musicale di Douyin, non nei video.
- Parametri facoltativi:
- page_token: Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto. Ogni pagina contiene fino a 10 brani e corrisponde a una chiamata.
- Restituisce un elenco di record. Campi principali di ogni record: 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…), tags, next_page_token (Token di pagina (search / user_posts /…).
- Esempio di corpo della richiesta:
{
"platform": "douyin",
"action": "music_search",
"params": {
"keyword": "美食"
}
}
- Prezzo: $8 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_search | Identificativo della funzionalità, valore fisso. |
keyword | body.params | string | Sì | - | Il titolo di un brano, un artista o il nome di un suono, ad esempio Jay Chou; cerca nella libreria musicale di Douyin, non nei video. |
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. Ogni pagina contiene fino a 10 brani e corrisponde a una chiamata; i token durano 24 ore e l'ultima pagina non ha next_page_token. |
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_search",
"params": {
"keyword": "美食"
}
}'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_search", "results": [ { "id": …, "url": …, "title": …, "author_name": …, "duration_seconds": …, "duration_sec": …, "use_count": …, "cover_image_url": …, "audio_url": …, "lyric_url": …, "tags": …, "next_page_token": …, "platform": … } ], "next_page_token": …, "pagination": { … }, "count": …, "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. |
tags | Array di tag. Se non ce ne sono, è un array vuoto, non null. |
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.