QQ Music Scraper
Pricing
from $3.00 / 1,000 results
QQ Music Scraper
Scrape QQ Music (y.qq.com, Tencent) without login - search songs, fetch by song URL, top-100 rank charts, album tracks and playlist tracks with cover art, file sizes and pay status.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
24 days ago
Last modified
Categories
Share
Scrapes QQ Music (QQ音乐, Tencent) — without login — via the public c.y.qq.com JSON endpoints.
Data source
Music data comes from the public QQ Music web endpoints (y.qq.com c.y.qq.com FCG JSON APIs) — no login, no API key. See the Notes section for endpoint-level caveats.
What it does
| Mode | Endpoint (public, no auth) | Output |
|---|---|---|
search | c.y.qq.com/soso/fcgi-bin/client_search_cp | Paginated song search |
bySongUrl | fcg_play_single_song.fcg?songmid= (+ optional LRC lyric) | Full song record |
byToplist | fcg_myqq_toplist.fcg + fcg_v8_toplist_cp.fcg?topid= | Chart summary + top-100 tracks |
byAlbum | fcg_v8_album_detail_cp.fcg?albumid= | Album + full track list |
byPlaylist | fcg_ucc_getcdinfo_byids_cp.fcg?disstid= | Playlist + full track list |
All endpoints verified live (HTTP 200 with real content) from a datacenter network. The musicu.fcg aggregator (used by the SPA) rejects datacenter clients (code 500003), so this actor uses the older plaintext c.y.qq.com FCG endpoints instead — they return the same data.
Output fields
song records (recordType: "song") — mid, mediaMid, songId, name, singers[], singer, singerMids[], album, albumId, albumMid, coverUrl, durationSec, pubTimeSec, pubTimeText, vid (MV id), size128, size320, sizeFlac (bytes), payPlay, payDownload, payStatus, lyric (optional, bySongUrl), sourceUrl, scrapedAt.
toplist / album / playlist records — chart/album/playlist summary fields (toplistId, listenCount, trackCount, creatorName, listenerCount, visitCount, creatorAvatarUrl, language, description, tags[], createTimeMs, updateTimeMs, …).
error records (recordType: "error") — invalid URLs, missing songs/albums/playlists (never silently dropped).
Every data record carries sourceUrl, scrapedAt and recordType; error records carry inputValue in place of sourceUrl (the offending input, not a page URL). Null/empty fields are stripped before push.
Filters
minDurationSec/maxDurationSeccontainsKeyword(title substring)singerKeyword(primary-singer substring)
Notes
- Cover URLs are derived from the album mid:
https://y.gtimg.cn/music/photo_new/T002R300x300M000{albumMid}.jpg— verified HTTP 200image/jpegfrom a clean shell. - Some user playlists return an empty
songlistfrom the public playlist endpoint (their track lists are only served to logged-in users); the actor still emits the playlist info record and 0 tracks rather than failing. - Duplicate song URLs in
songUrls(mode=bySongUrl) are deduped to a single unique record per song mid.maxItemsis a hard cap on ALL emitted records includingerrorrecords. byArtistis NOT exposed: the singer-track FCG endpoints return HTTP 404 without login/cookies on all tested variants (documented limitation).- Auto-escalation: on 403/429 the actor lazily engages the Apify AUTO (datacenter) proxy with exponential backoff.
- Memory: 1024 MB (Tier 1, plain HTTP).