SoundCloud Scraper — Tracks, Artists, Playlists & Comments avatar

SoundCloud Scraper — Tracks, Artists, Playlists & Comments

Pricing

from $1.50 / 1,000 results

Go to Apify Store
SoundCloud Scraper — Tracks, Artists, Playlists & Comments

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

Banea Teodor

Maintained by Community

Actor 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 (null when 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.

RunRowsCost
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 comments1,000$1.51
100 track / artist / playlist URLs100$0.155

Input

FieldDescriptionExample
modesearch, startUrls, artistCatalog, trending or comments."search"
searchQueriesWords to search for, one search per line.["lofi hip hop"]
searchTypetracks, users (artists), playlists or albums."tracks"
genreOrTagTrack searches: keep one genre or tag."techno"
createdWithinTrack searches: any, lastHour, lastDay, lastWeek, lastMonth, lastYear (SoundCloud's posted date)."lastWeek"
duration / licenseTrack searches: short / medium / long / epic; toShare, toUseCommercially, toModifyCommercially, ccBy."long"
maxResultsPerQueryResults per query (playlists / albums for those searches); above 300 track searches are split automatically. 0 = all.1000
startUrlsTrack, artist, playlist / album or discover/sets/trending-by-genre:<genre> URLs (up to 1,000).["https://soundcloud.com/forss/flickermood"]
includePlaylistTracksAlso 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
artistUrlsArtist URLs or usernames for the artist catalog (up to 1,000).["forss"]
uploadedAfterArtist catalog: stop at the first track posted before this date or period."2025-01-01"
maxTracksPerArtistNewest tracks per artist; 0 = all.200
trendingGenresall-music (chart, ~100) and / or genres (house, hip-hop, pop… ~50 each).["all-music", "house"]
trackUrls / maxCommentsPerTrackComments mode: tracks and comments per track (0 = all).500
includeArtistDetailsAdd full name, city, bio and web profile links to artist rows.false
maxResultsRows 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 maxResultsPerQuery above 300 (e.g. 1,000) and a createdWithin window; 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 on labelName, isrc or artistFollowers.
  • Artist monitoring: artistCatalog with uploadedAfter set 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; maxCommentsPerTrack keeps 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 ERRORS record 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.