NetEase Cloud Music Scraper
Pricing
from $0.79 / 1,000 track records
NetEase Cloud Music Scraper
Scrape NetEase Cloud Music (网易云音乐) toplists and playlists: rank, previous rank, track, artists, album, release date, duration, popularity, explicit flag and play counts for all 64 official charts.
Pricing
from $0.79 / 1,000 track records
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
NetEase Cloud Music Scraper
NetEase Cloud Music Scraper extracts chart rankings and playlist tracks from NetEase Cloud Music (网易云音乐), one of China's largest music streaming apps, and returns them as clean JSON, CSV or Excel.
| Scrape all 64 official NetEase toplists in one run, or any public playlist by ID or link, and get the rank, previous rank, track, artists, album, release date, popularity, explicit flag and play counts on every row. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use the Apify Actor "parsebird/netease-cloud-music-scraper" (call it via ApifyClient) to scrape NetEase Cloud Music (music.163.com, 网易云音乐) toplists and playlists. Example (JavaScript): const { ApifyClient } = require('apify-client'); const client = new ApifyClient({ token: '<APIFY_TOKEN>' }); const run = await client.actor('parsebird/netease-cloud-music-scraper').call({ playlistIds: ['19723756', '3779629', '3778678'], maxItems: 500 }); const { items } = await client.dataset(run.defaultDatasetId).listItems(); Inputs (all optional): playlistIds (array of NetEase playlist/toplist IDs or URLs such as https://music.163.com/#/playlist?id=3778678 or 163cn.tv short links; empty = all official toplists), maxItems (integer, default 10, 0 = no cap, counts track records across all playlists), maxTracksPerPlaylist (integer, default 0 = all; e.g. 10 for the top 10 of every chart). Each output row is one track in one playlist: playlistId, playlistName, playlistType (toplist/playlist), playlistUrl, playlistCoverUrl, playlistCreator, playlistCreatorId, playlistTrackCount, playlistPlayCount, playlistSubscribedCount, playlistUpdatedAt, playlistUpdateFrequency, rankPosition, previousRank, rankChange, chartNote, trackId, trackName, trackAlias, trackTranslatedName, durationMs, artists (comma-separated), artistIds (comma-separated), albumId, albumName, albumCoverUrl, publishTimeMs, releaseDate (YYYY-MM-DD, China time), trackShareUrl, mvId, mvUrl, isExplicit, feeType (free/free_low_quality/vip/album_purchase), maxAudioQuality, popularityScore (0-100), addedToPlaylistAt, snapshottedAt. API docs: https://apify.com/parsebird/netease-cloud-music-scraper/api. Get a token at https://console.apify.com/settings/integrations.
What is NetEase Cloud Music Scraper?
NetEase Cloud Music Scraper is an Apify Actor that collects track data from NetEase Cloud Music (网易云音乐, music.163.com): the official charts such as 飙升榜 (Soaring), 新歌榜 (New Songs), 热歌榜 (Hot Songs), the Chinese rap chart and the NetEase copies of Billboard, UK and Oricon charts, plus any public user playlist. You don't need a NetEase account, an API key or a Chinese phone number. Click Start and download the results.
It works as a NetEase Cloud Music API alternative for two jobs:
- Toplists (charts): leave the input empty to get every official NetEase toplist, with each track's current rank and, where NetEase provides it, its rank in the previous edition.
- Playlists: paste playlist IDs or links to get the full track list of any public playlist, including very long ones.
What can NetEase Cloud Music Scraper do?
- 📈 All official charts in one run: the list of toplists is read live from NetEase, so new charts are picked up automatically (64 on October 17, 2026).
- 🔼 Rank movement:
previousRankandrankChangeshow which songs climbed or dropped since the last chart update, andchartNotecarries NetEase's own labels such as weeks on the chart. - 📜 Full playlists: user playlists come back complete, not cut off at the 10 tracks NetEase's simple public playlist endpoint returns without login. A 9,205-track playlist took under 2 minutes.
- 🏷️ Rich track data: artists and artist IDs, album and cover, release date, duration, popularity score, explicit flag, fee type (free or VIP), best available audio quality and MV link.
- 🔗 Flexible input: plain IDs, music.163.com links (with or without
#/), mobiley.music.163.comlinks and163cn.tvshare links all work. - 🔟 Top N per chart: set
maxTracksPerPlaylistto 10 to get the top 10 of every chart and nothing else. - ⏱️ Platform features: schedule daily or weekly runs to build a chart history, call the Actor through the Apify API, get webhooks when a run finishes, and connect it to Make, Zapier, n8n, Google Sheets, Slack and more. Export as JSON, CSV, Excel, XML or HTML.
What data can you extract from NetEase Cloud Music?
| Field | Description |
|---|---|
playlistName, playlistId, playlistType | Chart or playlist the row belongs to; toplist for official NetEase charts |
playlistPlayCount, playlistSubscribedCount | Total plays and saves of the playlist |
playlistUpdatedAt, playlistUpdateFrequency | Last update time and NetEase's schedule label (e.g. 每周四更新, updated every Thursday) |
rankPosition | Position in the chart or playlist (1 = top) |
previousRank, rankChange | Rank in the previous chart edition and places gained (negative = dropped) |
chartNote | NetEase's chart label, e.g. 连续在榜17周 (17 weeks on the chart) |
trackName, trackAlias, trackTranslatedName | Song title, alternative titles and translated title |
artists, artistIds | All credited artists and their NetEase IDs |
albumName, albumId, albumCoverUrl | Album and cover image |
releaseDate, publishTimeMs | Release date (China time) and raw timestamp |
durationMs | Track length in milliseconds |
popularityScore | NetEase popularity score, 0–100 |
isExplicit | NetEase's explicit-content flag |
feeType, maxAudioQuality | Free / VIP / album purchase, and best quality offered (standard to hi-res) |
trackShareUrl, mvUrl | Links to the song page and its music video |
addedToPlaylistAt, snapshottedAt | When the track entered the playlist, and when this run read it |
How to scrape NetEase Cloud Music
- Open NetEase Cloud Music Scraper in Apify Console and create a free Apify account if you don't have one.
- Leave Playlist IDs or URLs empty to scrape every official chart, or paste chart IDs, playlist IDs or links.
- Set Max tracks (0 = everything) and, if you only want the top of each chart, Max tracks per playlist.
- Click Start and wait for the run to finish. All 64 charts take about 1.5 minutes.
- Download the dataset as JSON, CSV, Excel or HTML, or read it through the API.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
playlistIds | array | [] | NetEase playlist or toplist IDs, or links. Empty = all official toplists |
maxItems | integer | 10 | Maximum track records across all playlists. 0 = no cap |
maxTracksPerPlaylist | integer | 0 | Keep only the top N tracks of each playlist. 0 = all |
Values that aren't playlist IDs or links (for example an album or song link) are skipped with a warning. Playlists that don't exist or are private are reported in the log, and the run continues with the rest.
Example: three charts
{"playlistIds": ["19723756", "3779629", "3778678"],"maxItems": 500}
Example: top 10 of every official chart
{"maxItems": 0,"maxTracksPerPlaylist": 10}
Example: a user playlist from a link
{"playlistIds": ["https://music.163.com/#/playlist?id=2064374432"],"maxItems": 0}
Official NetEase toplist IDs
These IDs come from NetEase's own toplist list on October 17, 2026. Some lists of chart IDs online pair the IDs with the wrong names, so check here if a chart looks off. NetEase adds and retires charts from time to time, and the scraper always uses the current list when the input is empty.
| Toplist ID | Name | Chart |
|---|---|---|
| 19723756 | 飙升榜 | Soaring (fastest-rising songs, daily) |
| 3779629 | 新歌榜 | New songs |
| 2884035 | 原创榜 | Original (independent artists, weekly) |
| 3778678 | 热歌榜 | Hot songs (200 tracks) |
| 991319590 | 网易云中文说唱榜 | Chinese rap |
| 14028249541 | 网易云全球说唱榜 | Global rap |
| 1978921795 | 网易云电音榜 | Electronic |
| 71384707 | 网易云古典榜 | Classical |
| 71385702 | 网易云ACG榜 | ACG (anime, comics and games) |
| 745956260 | 网易云韩语榜 | Korean |
| 5059644681 | 网易云日语榜 | Japanese |
| 2809513713 | 网易云欧美热歌榜 | Western hot songs |
| 2809577409 | 网易云欧美新歌榜 | Western new songs |
| 5059633707 | 网易云摇滚榜 | Rock |
| 5059661515 | 网易云民谣榜 | Folk |
| 5059642708 | 网易云国风榜 | Guofeng (Chinese traditional style) |
| 6723173524 | 网络热歌榜 | Internet hits |
| 9651277674 | AI歌曲榜 | AI songs |
| 60198 | 美国Billboard榜 | US Billboard |
| 180106 | UK排行榜周榜 | UK weekly chart |
| 60131 | 日本Oricon榜 | Japan Oricon |
| 3812895 | Beatport全球电子舞曲榜 | Beatport electronic dance |
The other official charts include the VIP charts, the 音乐合伙人 (music partner) charts, language charts (Russian, Vietnamese, Thai) and car-owner charts. A run with an empty input returns all of them.
Output example
One record per track per playlist. A real row from the US Billboard chart (October 17, 2026):
{"playlistId": 60198,"playlistName": "美国Billboard榜","playlistType": "toplist","playlistUrl": "https://music.163.com/playlist?id=60198","playlistCoverUrl": "https://p1.music.126.net/rwRsVIJHQ68gglhA6TNEYA==/109951165611413732.jpg","playlistCreator": "Billboard公告牌","playlistCreatorId": 48171,"playlistTrackCount": 93,"playlistPlayCount": 653940224,"playlistSubscribedCount": 1326063,"playlistUpdatedAt": "2026-10-14T03:12:22.316Z","playlistUpdateFrequency": "每周三更新","rankPosition": 5,"previousRank": 10,"rankChange": 5,"chartNote": null,"trackId": 3345979944,"trackName": "Dracula (JENNIE Remix)","trackAlias": null,"trackTranslatedName": null,"durationMs": 209763,"artists": "Tame Impala, JENNIE","artistIds": "102939,12061232","albumId": 360699204,"albumName": "Dracula (Remix)","albumCoverUrl": "https://p2.music.126.net/56eOJJo5rwoiE3A2Kd8kdQ==/109951172685715168.jpg","publishTimeMs": 1770307200000,"releaseDate": "2026-02-06","trackShareUrl": "https://music.163.com/song?id=3345979944","mvId": 34729195,"mvUrl": "https://music.163.com/mv?id=34729195","isExplicit": true,"feeType": "vip","maxAudioQuality": "exhigh","popularityScore": 100,"addedToPlaylistAt": "2026-10-08T02:43:14.879Z","snapshottedAt": "2026-10-17T05:33:51.790Z"}
You can download the dataset in JSON, HTML, CSV or Excel from the Output tab, or set the input on the Input tab.
Use NetEase Cloud Music Scraper from Python or JavaScript
Install the Apify client (pip install apify-client or npm install apify-client) and use your API token.
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("parsebird/netease-cloud-music-scraper").call(run_input={"maxItems": 0,"maxTracksPerPlaylist": 10,})for track in client.dataset(run["defaultDatasetId"]).iterate_items():print(track["playlistName"], track["rankPosition"], track["trackName"], track["artists"], track["rankChange"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_TOKEN>' });const run = await client.actor('parsebird/netease-cloud-music-scraper').call({playlistIds: ['19723756', 'https://music.163.com/#/playlist?id=3778678'],maxItems: 300,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((t) => console.log(t.playlistName, t.rankPosition, t.trackName, t.artists));
Use cases
- Chart tracking: schedule a daily or weekly run and store the results to follow how songs move on the Soaring, New and Hot charts over time.
- A&R and scouting: spot fast risers on the Soaring and Original charts, or new names on the rap and electronic charts, before they break elsewhere.
- Music licensing and market research: see which Chinese, Korean, Japanese and Western songs lead in China, with artist and album credits.
- Playlist migration: export a NetEase playlist's track names, artists, albums and durations to rebuild it on Spotify, Apple Music or YouTube Music.
- Data and AI projects: build datasets of Chinese chart music with release dates, popularity and explicit flags.
How it works
The scraper reads NetEase Cloud Music's public web endpoints, the same ones music.163.com uses, without logging in. It first loads the list of official toplists, then reads each playlist's full track ID list and fetches track details in batches of 1,000. Songs NetEase has taken down still keep their place in the playlist but have no details, so they are skipped and the run log reports how many. In that case rankPosition keeps the original position, so a number can be missing from the sequence. When a song has no release date of its own, the album's release date is used.
How much does it cost to scrape NetEase Cloud Music?
NetEase Cloud Music Scraper uses pay-per-event pricing. You pay per track record saved to the dataset, and platform usage (compute and data transfer) is included in that price.
| Plan | Price per track | Price per 1,000 tracks |
|---|---|---|
| Free | $0.00099 | $0.99 |
| Bronze | $0.00089 | $0.89 |
| Silver | $0.00079 | $0.79 |
| Gold | $0.00079 | $0.79 |
On October 17, 2026, a run of all 64 official charts (maxItems: 0) saved 5,235 tracks. That costs about $5.18 on the Free plan and $4.14 on Silver or Gold. The top 10 of every chart (637 tracks, as a few charts have fewer than 10) costs about $0.63 on the Free plan. To control spend, set maxItems or maxTracksPerPlaylist. The run also stops at the maximum cost per run you set in Apify Console.
Is it legal to scrape NetEase Cloud Music?
This Actor only reads chart and playlist information that NetEase Cloud Music shows publicly on music.163.com, without logging in. It doesn't download audio. Scraping publicly available data is generally legal, but you are responsible for how you use it and for following NetEase's terms of service, especially if you republish cover art. If you aren't sure, consult a lawyer. Read more on the Apify blog about web scraping legality.
This Actor is unofficial and isn't affiliated with, endorsed by or sponsored by NetEase.
Other music scrapers from ParseBird
- Spotify Play Count Scraper: exact Spotify play counts, monthly listeners and followers for artists, albums and tracks.
- SoundCloud Scraper: SoundCloud tracks, playlists and artist profiles with plays, likes and reposts.
- Genius.com Scraper: songs, full lyrics, credits and artist profiles from Genius.
FAQ
Which charts does it scrape when the input is empty? Every official toplist NetEase lists at the time of the run: 64 on October 17, 2026, about 5,200 tracks in total. Toplists have between 7 and 200 tracks each.
Why is previousRank empty for some tracks?
NetEase only gives a previous rank for tracks that were in the last edition of the chart, so new entries have none. For user playlists, rankChange is always empty because a playlist's order isn't a ranking.
Does it return all tracks of a big playlist? Yes. NetEase's simple public playlist endpoint returns only 10 tracks of a user playlist without login, but this Actor reads the full track list. The largest one tested had 9,205 tracks. Songs NetEase has removed are skipped (369 in that playlist).
What do feeType values mean?
free = free to play, free_low_quality = free at standard quality with higher quality for VIP members, vip = NetEase VIP members only, album_purchase = requires buying the album.
How accurate is isExplicit?
It is NetEase's own explicit label. Most Western rap tracks carry it, but NetEase doesn't label every explicit song, so treat false as "not labeled".
Can it download songs or lyrics? No. It returns track information only. For lyrics, try the Genius.com Scraper.
Can I get the data through an API? Yes. Use the API tab or the Python and JavaScript examples above. You can also run it from Make, Zapier or n8n.
Something is missing or broken? Open an issue on the Issues tab.