SoundCloud Scraper — Tracks, Artists, Playlists & Comments
Pricing
from $1.50 / 1,000 results
SoundCloud Scraper — Tracks, Artists, Playlists & Comments
Export public SoundCloud tracks, artists, playlists, albums, trending charts and comments: plays, likes, reposts, comments, genre, tags, ISRC, label and release data. Search beyond the 300-result cap, artist catalogs, playlists with all tracks. No login, no API key.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Banea Teodor
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does SoundCloud Scraper do?
SoundCloud Scraper exports public data from SoundCloud: tracks from a keyword search (with genre, date, duration and license filters), artists, playlists and albums, whole artist catalogs, SoundCloud's trending charts (all music and 19 genres) and track comments. Every track comes with plays, likes, reposts, comments and downloads, genre and tags, upload / posted / release dates, and the release metadata labels fill in: ISRC, UPC, label, publisher, writer / composer, album and P-line.
No login, no SoundCloud account, no API key and no browser needed.
Why use this Actor?
- More than 300 search results. SoundCloud stops every search at 300 results. When you ask for more, the Actor splits a track search by posted date, genre and duration automatically and removes the duplicates — e.g. 1,000 different "techno" tracks posted in the last week.
- Release metadata for music research. ISRC, UPC / EAN, label, publisher, writer / composer, album, release title, P-line, explicit flag, buy link — the fields A&R, label and rights teams need, as clean columns.
- Clean, typed rows. Counters are integers (
nullwhen the artist hides them, never a fake 0), dates are ISO 8601 UTC, tags are a real list (multi-word tags kept together), descriptions are plain text without HTML. - Complete lists. Artist catalogs, playlists ("Include playlist tracks" delivers every track, not only the first five) and comments are read to the end — 400 comments on a 400-comment track.
- Privacy-minded by default. Artist rows carry username, counters, verification, Pro tier and country; name, city, bio and links only when you switch them on. E-mail addresses are never delivered.
How much does it cost?
You pay $0.005 per run plus $1.50 per 1,000 rows (tracks, artists, playlists or comments). Platform usage and proxy are included.
| Run | Rows | Cost |
|---|---|---|
| 30 "lofi hip hop" tracks (the prefilled input) | 30 | $0.05 |
| 1,000 "techno" tracks posted in the last week (split searches) | 1,000 | $1.51 |
| The all-music trending chart + 5 genre lists | ~340 | ~$0.52 |
| Every track of 10 artists posted since 2025 | ~500 | ~$0.76 |
| All comments of a track with 1,000 comments | 1,000 | $1.51 |
| 100 track / artist / playlist URLs | 100 | $0.155 |
Input
| Field | Description | Example |
|---|---|---|
mode | search, startUrls, artistCatalog, trending or comments. | "search" |
searchQueries | Words to search for, one search per line. | ["lofi hip hop"] |
searchType | tracks, users (artists), playlists or albums. | "tracks" |
genreOrTag | Track searches: keep one genre or tag. | "techno" |
createdWithin | Track searches: any, lastHour, lastDay, lastWeek, lastMonth, lastYear (SoundCloud's posted date). | "lastWeek" |
duration / license | Track searches: short / medium / long / epic; toShare, toUseCommercially, toModifyCommercially, ccBy. | "long" |
maxResultsPerQuery | Results per query (playlists / albums for those searches); above 300 track searches are split automatically. 0 = all. | 1000 |
startUrls | Track, artist, playlist / album or discover/sets/trending-by-genre:<genre> URLs (up to 1,000). | ["https://soundcloud.com/forss/flickermood"] |
includePlaylistTracks | Also deliver every track of each playlist / album (with sourcePlaylistId) — for playlist / album URLs in Start URLs and for playlist / album searches. The tracks count toward maxResults: playlists are read one at a time, tracks in playlist order, so a playlist is complete only when maxResults leaves room for all its tracks (the status names any playlist cut short). | false |
artistUrls | Artist URLs or usernames for the artist catalog (up to 1,000). | ["forss"] |
uploadedAfter | Artist catalog: stop at the first track posted before this date or period. | "2025-01-01" |
maxTracksPerArtist | Newest tracks per artist; 0 = all. | 200 |
trendingGenres | all-music (chart, ~100) and / or genres (house, hip-hop, pop… ~50 each). | ["all-music", "house"] |
trackUrls / maxCommentsPerTrack | Comments mode: tracks and comments per track (0 = all). | 500 |
includeArtistDetails | Add full name, city, bio and web profile links to artist rows. | false |
maxResults | Rows of the whole run; 0 = all (capped at 10,000). | 200 |
Which modes give a complete listing?
- Artist catalog, playlists with "Include playlist tracks" (when Maximum results leaves room for all their tracks), comments, start URLs — complete: every public item, read to the last page. An artist's track count on SoundCloud includes private tracks, so a catalog can be shorter than that number.
- Search — SoundCloud ranks results by relevance and returns at most 300 per search. Splitting (date windows + genres) reaches far more, but search is a discovery tool, not a census: very common words have millions of matches.
- Trending — a snapshot of SoundCloud's current trending lists (about 100 tracks for all music, about 50 per genre), refreshed by SoundCloud during the day.
Output
Every row has a rowType — track, user (artist), playlist (playlists and albums) or comment — and every key of its type; missing values are null. The dataset tabs Tracks, Artists, Playlists & albums and Comments show each type as a table. Example track row (fictitious):
{"rowType": "track","trackId": 1234567890,"urn": "soundcloud:tracks:1234567890","title": "Example Track (Original Mix)","url": "https://soundcloud.com/example-artist/example-track","artistId": 987654321,"artistUsername": "Example Artist","artistUrl": "https://soundcloud.com/example-artist","artistVerified": true,"artistFollowers": 125000,"createdAt": "2026-10-21T14:30:00.000Z","postedAt": "2026-10-21T15:00:00.000Z","releaseDate": "2026-10-24T00:00:00.000Z","durationSec": 391,"genre": "Techno","tags": ["melodic techno", "berlin"],"descriptionText": "Out now on Example Records.","playCount": 48210,"likeCount": 1530,"repostCount": 212,"commentCount": 87,"downloadCount": 64,"license": "all-rights-reserved","downloadable": false,"labelName": "Example Records","artistCredit": "Example Artist, Example Guest","isrc": "XX0002600001","upc": "0000000000000","publisher": "Example Publishing","writerComposer": "EXAMPLE, Jane","albumTitle": "Example Album","releaseTitle": "Example EP","pLine": "℗ 2026 Example Records","explicit": false,"policy": "ALLOW","monetizationModel": "NOT_APPLICABLE","purchaseUrl": "https://example.com/buy","purchaseTitle": "Buy on Example Store","artworkUrl": "https://i1.sndcdn.com/artworks-example-t500x500.jpg","waveformUrl": "https://wave.sndcdn.com/example_m.json","sourceMode": "search","sourceQuery": "melodic techno","sourcePlaylistId": null,"trendingGenre": null,"trendingRank": null,"scrapedAt": "2026-10-23T12:00:00.000Z"}
- Artist rows:
userId,username,url,avatarUrl,followers,followings,trackCount,playlistCount,likeCount,verified,proTier(none,pro,proUnlimited,creatorMidTier),countryCode;fullName,city,bio,webProfiles([{network, url}]) only with "Include artist details". - Playlist rows:
playlistId,title,url,isAlbum,setType, owner,trackCount,durationSec,likeCount,repostCount,genre,tags,descriptionText,releaseDate,labelName,createdAt,publishedAt,artworkUrl,trackIds(every track id, in order). - Comment rows:
commentId,trackId,trackUrl,body,createdAt,timestampSec(second of the track the comment was left at),authorUserId,authorUsername,authorUrl.
Notes: createdAt is the upload time, postedAt the time the track went public (the date SoundCloud shows, used by the date filter and the catalog date). policy (ALLOW / MONETIZE / SNIP / BLOCK) depends on the listener's country — runs on the Apify platform see it as from the US. Audio streams and downloads are not part of the output.
Tips and tricks
- Big searches: set
maxResultsPerQueryabove 300 (e.g. 1,000) and acreatedWithinwindow; the Actor splits the search by posted date, genre and duration, and the run log and the final status say how many searches were needed. When the splits run out before your limit, the status says so ("926 of 1,000 asked — SoundCloud's split searches returned no more"). Several specific queries ("melodic techno", "hard techno") reach more tracks than one broad word. - Label / A&R research: search with
genreOrTag+createdWithin: lastWeek, then filter rows onlabelName,isrcorartistFollowers. - Artist monitoring:
artistCatalogwithuploadedAfterset to your last run date returns only the new tracks. Each run always delivers (and bills) one artist row per artist, even when the artist posted nothing new — so 50 artists checked daily cost 50 rows a day plus the new tracks. - Comments: newest threads first, each reply right after its parent comment;
maxCommentsPerTrackkeeps big tracks cheap. A track with 50,000 comments takes about 250 requests to read in full. - Problems (dead URLs, unavailable playlist tracks) are listed in the
ERRORSrecord of the run's key-value store; dead URLs cost one quick request and no row.
Scheduling
The Actor stores nothing in your account between runs. For a recurring feed, schedule a run with a matching window — e.g. a daily track search with createdWithin: lastDay, or a weekly artist catalog with uploadedAfter: "7 days" (each artist still gives one artist row per run) — and de-duplicate downstream by trackId / commentId.
Integrations
Send the rows to Google Sheets, Airtable, Slack, a webhook or Zapier / Make with Apify integrations, or read them through the Apify API (JSON, CSV, Excel). Join tracks to artists on artistId = userId and comments to tracks on trackId.
Personal data
Artist rows are reduced to public profile facts (username, counters, verification, Pro tier, country). Name, city, bio and links are opt-in. Comment authors and track artists are reduced to id, username and profile URL. E-mail addresses are removed from every text field and never delivered; follower / liker lists are not exported. Use the data in line with GDPR and SoundCloud's terms.
Disclaimer
This Actor reads only public SoundCloud pages and data, without logging in. It is not affiliated with or endorsed by SoundCloud.