API NetEase Cloud Music Classifiche musicali
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
Ottieni i brani delle classifiche di NetEase Cloud Music. Ogni brano include posizione, artisti, album, durata e punteggio di popolarità, oltre a nome, numero di riproduzioni e ultimo aggiornamento della classifica. popularity_score va da 0 a 100 e non è un numero di riproduzioni. rank vale solo per quell'istantanea.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su netease_music e action impostato su toplist. 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.
NetEase Cloud Music charts legge le classifiche ufficiali di NetEase e non richiede parametri. Ogni riga è un brano in classifica: rank, titolo e titolo alternativo, artisti, album e copertina, durata, data di uscita, indicatore di contenuto esplicito e punteggio di popolarità NetEase, insieme a nome, ID, copertina, numero di riproduzioni, salvataggi e ultimo aggiornamento della classifica. Usalo per seguire quali brani sono in testa su NetEase Cloud Music, per report sulle classifiche, marketing musicale, scouting A&R o per individuare i brani in ascesa.
Le classifiche cambiano rapidamente, quindi conserva snapshotted_at, il momento in cui è stata letta ogni riga, con ogni copia che salvi, e confronta le esecuzioni in base a quel valore. playlist_name indica la classifica a cui appartiene una riga e rank la posizione in quella classifica. popularity_score è il punteggio di popolarità di NetEase da 0 a 100, non un numero di riproduzioni, e duration_ms è in millisecondi.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint NetEase Cloud Music Classifiche musicali di EveryInfra (netease_music/toplist).
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 netease_music e action su toplist, e inserisci i parametri in params.
- Nessun parametro obbligatorio.
- Parametri facoltativi:
- 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: rank, track_id, track_name, track_alias, duration_ms, artists, artist_ids, album_id, album_name, album_cover_url, published_at, is_explicit; 23 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=netease_music.
- Esempio di corpo della richiesta:
{
"platform": "netease_music",
"action": "toplist",
"params": {}
}
- 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ì | netease_music | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | toplist | Identificativo della funzionalità, valore fisso. |
limit | body.params | integer (1–100) | No | 20 | 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. I valori più alti restituiscono 422 prima di qualsiasi addebito. |
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": "netease_music",
"action": "toplist",
"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": "netease_music", "action": "toplist", "results": [ { "rank": 1, "track_id": 3425638996, "track_name": "互删 (我走以后)", "duration_ms": 211686, "artists": "江辰", "artist_ids": "12641765", "album_id": 394443308, "album_name": "互删 (我走以后)", "album_cover_url": "http://p3.music.126.net/nfDVr6WopOJax11vq5brPQ==/109951173820334666.jpg", "published_at": "2026-08-28T16:00:00+00:00", "is_explicit": false, "popularity_score": 100, "track_url": "https://music.163.com/song?id=3425638996", "playlist_id": 3779629, "playlist_name": "飙升榜", "playlist_type": "toplist", "playlist_cover_url": "https://p4.music.126.net/5guhqPBTcIrrhLBotgaT6w==/109951170048511751.jpg", "playlist_track_count": 100, "playlist_play_count": 3218496768, "playlist_subscribed_count": 2805127, "playlist_updated_at": "2026-09-26T04:32:03.946000+00:00", "snapshotted_at": "2026-09-26T09:57:26.623000+00:00", "platform": "netease_music" }, { "rank": 2, "track_id": 3433437362, "track_name": "两难pt.2", "duration_ms": 259956, "artists": "加木", "artist_ids": "49320722", "album_id": 397217802, "album_name": "两难pt.2", "album_cover_url": "http://p3.music.126.net/jr4V-LHARj4EGtLeDCLB_Q==/109951173909480514.jpg", "is_explicit": false, "popularity_score": 100, "track_url": "https://music.163.com/song?id=3433437362", "playlist_id": 3779629, "playlist_name": "飙升榜", "playlist_type": "toplist", "playlist_cover_url": "https://p4.music.126.net/5guhqPBTcIrrhLBotgaT6w==/109951170048511751.jpg", "playlist_track_count": 100, "playlist_play_count": 3218496768, "playlist_subscribed_count": 2805127, "playlist_updated_at": "2026-09-26T04:32:03.946000+00:00", "snapshotted_at": "2026-09-26T09:57:26.625000+00:00", "platform": "netease_music" } ], "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.
| Campo | Significato |
|---|---|
rank | Mantiene il significato attribuito dalla piattaforma |
track_id | Mantiene il significato attribuito dalla piattaforma |
track_name | Mantiene il significato attribuito dalla piattaforma |
track_alias | Mantiene il significato attribuito dalla piattaforma |
duration_ms | Mantiene il significato attribuito dalla piattaforma |
artists | Mantiene il significato attribuito dalla piattaforma |
artist_ids | Mantiene il significato attribuito dalla piattaforma |
album_id | Mantiene il significato attribuito dalla piattaforma |
album_name | Mantiene il significato attribuito dalla piattaforma |
album_cover_url | Mantiene il significato attribuito dalla piattaforma |
published_at | Mantiene il significato attribuito dalla piattaforma |
is_explicit | Mantiene il significato attribuito dalla piattaforma |
popularity_score | Mantiene il significato attribuito dalla piattaforma |
track_url | Mantiene il significato attribuito dalla piattaforma |
playlist_id | Mantiene il significato attribuito dalla piattaforma |
playlist_name | Mantiene il significato attribuito dalla piattaforma |
playlist_type | Mantiene il significato attribuito dalla piattaforma |
playlist_cover_url | Mantiene il significato attribuito dalla piattaforma |
playlist_track_count | Mantiene il significato attribuito dalla piattaforma |
playlist_play_count | Mantiene il significato attribuito dalla piattaforma |
playlist_subscribed_count | Mantiene il significato attribuito dalla piattaforma |
playlist_updated_at | Mantiene il significato attribuito dalla piattaforma |
snapshotted_at | Mantiene il significato attribuito dalla piattaforma |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
FAQ
#Posso scegliere quale classifica leggere?
#La funzionalità non accetta parametri e restituisce le classifiche ufficiali così come le pubblica NetEase; playlist_name e playlist_id in ogni riga indicano quale classifica stai guardando. Per leggere un'altra lista pubblica, passa il suo ID numerico alla funzionalità NetEase Cloud Music Playlist.
Quanto sono aggiornati i dati delle classifiche?
#Ogni riga riporta due orari: snapshotted_at, quando è stata letta la riga, e playlist_updated_at, quando NetEase ha aggiornato la classifica l'ultima volta. Cita playlist_updated_at come data della classifica e conserva snapshotted_at per indicare quando hai preso la tua copia.
Come misuro la salita o la discesa di un brano in classifica?
#Leggi la classifica a intervalli regolari e salva rank per ogni track_id insieme a snapshotted_at. La variazione di posizione tra due esecuzioni è il movimento; un track_id che compare per la prima volta è una nuova entrata, e uno che scompare è uscito dalla classifica.
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.