QQ Music Artist Scraper avatar

QQ Music Artist Scraper

Pricing

from $2.00 / 1,000 歌曲

Go to Apify Store
QQ Music Artist Scraper

QQ Music Artist Scraper

Extract follower counts, total songs, and per-track comment counts for one artist or a batch of them from QQ Music. Optional comment section users (nickname, likes, text). No login or browser needed.

Pricing

from $2.00 / 1,000 歌曲

Rating

0.0

(0)

Developer

贺 宇乐

贺 宇乐

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Security

Limited permissions

Share

Extract fans count, total songs, and per-song comment counts for one artist or a whole list of them — from QQ Music (Tencent's music platform, the largest in China).

No login, no cookies, no headless browser. Everything comes from public JSON endpoints, so a run takes seconds, not minutes.

What you get

FieldDescriptionExample (Jay Chou)
fansCountArtist follower count50,942,569
totalSongCountTotal tracks in catalog1013
totalAlbumCount / totalMvCountAlbums / music videos43 / 808
commentCountComments per track"Sunny Day" → 230,665
nickCommenter display namecount configurable
praiseNumLikes on a comment—

Plus per track: album name, release date, duration, has-MV flag, VIP-only flag, language, genre, and a direct song URL.

What is NOT available

Be aware of these before buying — Tencent does not expose them through any public endpoint. Any tool claiming otherwise is guessing:

  • Play counts per song — QQ Music stopped exposing them publicly in 2021; no play_count field exists anywhere in the API
  • Likes / favorites per song — only per-comment likes (praiseNum) exist; track-level favorites are not public
  • Follower list / fan names — the fan list lives inside the mobile app behind a login wall; there is no web endpoint
  • Full comment history — QQ Music serves 25 comments per page, caps pagination depth at roughly 4,500 pages, and blocks an IP after about 10 rapid requests. This Actor returns up to 500 comments per track (the top of the section), not the entire thread. Nobody can export all 230,000 comments of "Sunny Day" — the platform does not serve them to anonymous clients

If you need "who is listening", set commentsPerSong to collect commenter names — it is the closest public substitute.

Input

ParameterDefaultDescription
artistsJay ChouList of artists, batch supported. One per line, in Chinese, English, or a QQ Music artist MID (e.g. 0025NhlN2yWrP4). Max 20 per run, duplicates removed automatically
artist—Single artist, kept for backward compatibility. Ignored when artists is set
maxSongs20Max tracks per artist (up to 500). Each track costs one extra request for its comment count
includeCommentStatstrueFetch comment count per track. Turn off to halve request volume
strictMatchfalseReject fuzzy name matches. QQ Music search is fuzzy — a typo still returns some artist. When on, mismatches are skipped and logged as error (not charged)
commentsPerSong0Comment details per track (0 = none, up to 500). Requests are throttled to one every 2.5s and share a 120-page budget per run
sort1Track order: 1 by popularity / 2 by release date / 5 default

Batch example

{
"artists": ["Jay Chou", "Taylor Swift", "JJ Lin", "Eason Chan"],
"maxSongs": 30,
"commentsPerSong": 5
}

4 artists × 30 tracks × 5 comments ≈ 4 profiles + 120 tracks + 600 comments ≈ $0.38.

Output

Every row carries a type field:

  • type = artist — one per artist: fans, total songs/albums/MVs, bio, region, profile URL, top-3 search candidates
  • type = song — one per track: title, artists, album, release date, duration, comment count, VIP flag, URL
  • type = comment — only when commentsPerSong > 0: nickname, likes, content, timestamp
  • type = error — an artist that could not be resolved (reason explains why). Never charged; it exists so you can audit who is missing

Every song record also carries commentStatus, so you never have to guess why a count is missing:

ValueMeaning
okRetrieved normally
offincludeCommentStats was disabled
throttledQQ Music rate-limited the run; collection stopped early
budgetThe 120-page comment budget for this run was used up
errorThe request failed after retries

Artist records also carry two audit fields:

  • artistQuery — exactly what you typed, useful for reconciling batches
  • matchType — exact (name matches) or fuzzy (likely the wrong artist; the record shows who was actually matched)

Export the dataset as JSON / CSV / Excel directly from the run page.

Use cases

  • Track competitor artists' follower growth over time (pair with Apify Schedules)
  • Measure audience engagement per release, using comment volume as the proxy QQ Music actually publishes
  • Build a "most-discussed tracks" ranking for a genre or label roster
  • Feed a dashboard or spreadsheet with Chinese music market data that has no English-language equivalent

FAQ

It matched the wrong artist. QQ Music search is fuzzy. Check matchType — fuzzy means the name did not match. Set strictMatch: true to skip those, or pass the artist MID instead of a name.

Search returns nothing, or the run logs search-failed. The scraper tries QQ Music's autocomplete endpoint first, then falls back to the full-text search API. The latter is often blocked (HTTP 500) from data-center and overseas IPs, which is exactly what Apify runs on. If both endpoints fail, pass an artist MID instead of a name — for example 0025NhlN2yWrP4 (Jay Chou). MID lookups skip search entirely and always work. You can find a MID in any QQ Music artist page URL: y.qq.com/n/ryqq/singer/<MID>.

Some comment counts are null. Check commentStatus on that row. throttled means QQ Music cut the run off (the whole run stops requesting comments; songs and profiles keep going). budget means you hit the 120-page cap. off means you disabled includeCommentStats. Retry later — throttling clears after a while, but it is IP-based and lasts at least 30 minutes.

Can I export every comment of a song? No, and no tool can. QQ Music returns 25 comments per page and blocks an IP after roughly 10 rapid requests; a track with 230,000 comments would need 9,200 pages, far beyond the ~4,500-page depth the API allows. This Actor gives you the top 500 per track plus the exact total, which is what comment-volume analysis actually needs.

How many artists can I run at once? 20 per run. For larger rosters, split across Tasks or Schedules. Note the synchronous API endpoint has a 280-second limit — use the async run endpoint for big batches.

What happens if my budget runs out mid-run? The scraper stops immediately at the current artist, records why in the run status, and keeps everything already collected. No partial data is lost and nothing is charged for unfinished work.

Can I use this outside China? Yes. Requests go out from Apify's servers, so QQ Music's playback geo-restrictions do not apply. Note that the full-text search endpoint is sometimes blocked from foreign IPs — the Actor handles that by trying the autocomplete endpoint first, and you can always pass an artist MID to skip search altogether.

Pricing

Pay per event, no subscription:

  • Artist profile — $5 per 1,000
  • Track — $2 per 1,000
  • Comment detail — $0.20 per 1,000

A typical run of 50 tracks for one artist costs about $0.11.

This Actor reads only data that QQ Music serves to anonymous visitors. It does not bypass login walls, solve CAPTCHAs, or decrypt signed parameters. Commenter nicknames are user-generated content — use them for aggregate analysis only, not for profiling, marketing outreach, or resale. Doing so would violate both Tencent's terms of service and China's Personal Information Protection Law (PIPL).

For research and analytics use. Not affiliated with Tencent.