SoundCloud Scraper avatar

SoundCloud Scraper

Pricing

from $0.59 / 1,000 results

Go to Apify Store
SoundCloud Scraper

SoundCloud Scraper

Scrape SoundCloud tracks, artists, and playlists. 50+ fields incl. plays, likes, ISRC, UPC, genre, tags, stream URLs, and full creator profiles.

Pricing

from $0.59 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

SoundCloud Scraper

Extract tracks, artists, and playlists from SoundCloud at scale, with the richest field set on the platform: full engagement metrics, commercial identifiers (ISRC, UPC), stream and waveform resources, genre and tags, and complete creator profiles. Search by keyword or paste any URL. No API key required.


Why this scraper?

๐ŸŽต Every entity type in one actor

Tracks, artists, and playlists or albums. Paste any SoundCloud URL and the type is detected automatically โ€” a track link returns a track, an artist link returns the profile plus all of that artist's public tracks, a playlist link returns the full tracklist.

๐Ÿ“Š The complete field set

Over 50 fields per record. Play counts, likes, reposts, comments and downloads, plus genre, tags, license, label, and full timing. Nothing is thinned out to keep rows small.

๐Ÿ’ฟ Commercial identifiers

ISRC, UPC/EAN, publisher artist, album and release titles, writer/composer, and P-line/C-line rights data โ€” everything a catalogue or rights workflow needs.

๐Ÿ”Š Stream and media resources

Every published stream resource (HLS and progressive), preset, protocol, and quality, plus artwork and waveform URLs.

๐Ÿ‘ค Full creator profiles

Follower and following counts, track and playlist totals, verification status, and location, attached to every track and returned in full for artist searches.

๐Ÿ”Ž Search or direct URL

Search tracks, artists, or playlists by keyword with automatic pagination, or feed exact URLs. Combine both in a single run.


Input parameters

ParameterTypeDefaultDescription
modestring"searchTracks"What to scrape for Search queries: searchTracks, searchUsers, or searchPlaylists. Ignored when Start URLs are provided.
searchQueriesarray[]One search term per line โ€” a genre, artist name, or any keyword.
startUrlsarray[]Any SoundCloud URLs โ€” track, artist, playlist/album, or search page. Type is detected automatically. Takes precedence over Search queries.
maxResultsinteger100Maximum records across all queries and URLs combined. Set to 0 for unlimited.
hydratePlaylistTracksbooleantrueBackfill id-only playlist tracks with full titles and metadata.
includeCreatorDetailsbooleantrueAttach a compact creator block to every track record.

Output schema

Each record carries a type field (track, user, or playlist). Fields the source does not publish for a given item are returned as null rather than omitted.

Track record

FieldTypeDescription
typestringAlways "track".
idnumberSoundCloud track id.
urnstringSoundCloud URN (e.g. soundcloud:tracks:123).
titlestringTrack title.
permalinkstringURL slug.
urlstringFull public track URL.
descriptionstringTrack description as published.
genrestringGenre label.
tagsarrayParsed tag list.
playbackCountnumberPlay count.
likesCountnumberLikes.
repostsCountnumberReposts.
commentCountnumberComments.
downloadCountnumberDownloads.
durationMsnumberPlayable duration in milliseconds.
fullDurationMsnumberFull duration in milliseconds.
durationstringHuman-readable duration (m:ss).
createdAtstringUpload timestamp (ISO 8601).
releaseDatestringRelease date where published.
displayDatestringDisplay date.
lastModifiedstringLast modified timestamp.
licensestringLicense string.
labelNamestringLabel name.
monetizationModelstringMonetization model.
policystringPlayback policy.
sharingstringpublic or private.
streamablebooleanWhether the track is streamable.
downloadablebooleanWhether downloads are enabled.
hasDownloadsLeftbooleanWhether download quota remains.
commentablebooleanWhether comments are enabled.
embeddableBystringEmbed permission scope.
isrcstringInternational Standard Recording Code.
upcOrEanstringUPC or EAN barcode.
publisherArtiststringPublisher-declared artist.
albumTitlestringAlbum title.
releaseTitlestringRelease title.
writerComposerstringWriter / composer credit.
pLinestringPhonographic copyright line.
cLinestringCopyright line.
explicitbooleanExplicit-content flag.
containsMusicbooleanWhether the item is flagged as music.
artworkUrlstringArtwork image URL.
waveformUrlstringWaveform data URL.
stationPermalinkstringRelated station slug.
streamsarrayPublished stream resources: url, preset, protocol, mimeType, quality, snipped.
userIdnumberCreator id.
creatorobjectCompact creator block (see below).

Artist (user) record

FieldTypeDescription
typestringAlways "user".
idnumberArtist id.
urnstringSoundCloud URN.
usernamestringDisplay name.
fullNamestringFull name where published.
permalinkstringURL slug.
urlstringFull profile URL.
descriptionstringProfile bio as published.
avatarUrlstringAvatar image URL.
verifiedbooleanVerification status.
citystringCity.
countryCodestringISO country code.
followersCountnumberFollowers.
followingsCountnumberAccounts followed.
trackCountnumberPublic tracks.
playlistCountnumberPublic playlists.
likesCountnumberLikes given.
commentsCountnumberComments made.
groupsCountnumberGroups.
lastModifiedstringLast modified timestamp.
stationPermalinkstringArtist station slug.

Playlist / album record

FieldTypeDescription
typestringAlways "playlist".
idnumberPlaylist id.
titlestringPlaylist or album title.
permalinkstringURL slug.
urlstringFull public URL.
descriptionstringDescription as published.
genrestringGenre label.
tagsarrayParsed tag list.
isAlbumbooleanWhether it is an album.
setTypestringSet type (album, ep, etc.).
trackCountnumberNumber of tracks.
durationMsnumberTotal duration in milliseconds.
durationstringHuman-readable total duration.
likesCountnumberLikes.
repostsCountnumberReposts.
licensestringLicense string.
labelNamestringLabel name.
createdAtstringCreation timestamp.
releaseDatestringRelease date.
publishedAtstringPublish timestamp.
displayDatestringDisplay date.
lastModifiedstringLast modified timestamp.
artworkUrlstringArtwork image URL.
sharingstringpublic or private.
userIdnumberCreator id.
creatorobjectCompact creator block (see below).
tracksarrayFull tracklist (hydrated when enabled), each a track record.

Creator block (embedded on tracks and playlists)

FieldTypeDescription
idnumberCreator id.
urnstringSoundCloud URN.
usernamestringDisplay name.
fullNamestringFull name where published.
permalinkUrlstringProfile URL.
avatarUrlstringAvatar image URL.
followersCountnumberFollowers.
followingsCountnumberAccounts followed.
trackCountnumberPublic tracks.
verifiedbooleanVerification status.
citystringCity.
countryCodestringISO country code.

Example record

{
"type": "track",
"id": 2336103512,
"urn": "soundcloud:tracks:2336103512",
"title": "Not Exactly (Rinzen Remix)",
"url": "https://soundcloud.com/deadmau5/not-exactly-rinzen-remix",
"description": "Melodic house & techno remix.",
"genre": "Melodic House & Techno",
"tags": ["Melodic House & Techno"],
"playbackCount": 11805,
"likesCount": 940,
"repostsCount": 112,
"commentCount": 11,
"downloadCount": 0,
"durationMs": 273872,
"duration": "4:33",
"createdAt": "2026-06-15T09:56:01Z",
"releaseDate": "2026-06-15",
"license": "all-rights-reserved",
"labelName": "mau5trap",
"streamable": true,
"isrc": "CA5KR2656692",
"upcOrEan": null,
"publisherArtist": "deadmau5",
"albumTitle": null,
"explicit": false,
"artworkUrl": "https://i1.sndcdn.com/artworks-...-large.jpg",
"waveformUrl": "https://wave.sndcdn.com/....json",
"streams": [
{
"url": "https://api-v2.soundcloud.com/media/soundcloud:tracks:2336103512/.../stream/hls",
"preset": "aac_160k",
"protocol": "hls",
"mimeType": "audio/mp4; codecs=\"mp4a.40.2\"",
"quality": "sq",
"snipped": false
}
],
"userId": 5427,
"creator": {
"id": 5427,
"username": "deadmau5",
"permalinkUrl": "https://soundcloud.com/deadmau5",
"followersCount": 372451,
"trackCount": 383,
"verified": true,
"city": "Toronto",
"countryCode": "CA"
}
}

Examples

Search tracks by genre

{ "mode": "searchTracks", "searchQueries": ["melodic techno"], "maxResults": 500 }

Find artists by name

{ "mode": "searchUsers", "searchQueries": ["flume", "skrillex"], "maxResults": 50 }

Scrape an artist profile and all their tracks

{ "startUrls": ["https://soundcloud.com/deadmau5"], "maxResults": 1000 }

Mixed URLs โ€” track, playlist, and a search page

{
"startUrls": [
"https://soundcloud.com/skrillex/sets/recess",
"https://soundcloud.com/flume/never-be-like-you",
"https://soundcloud.com/search?q=lofi"
],
"maxResults": 2000
}

Scheduled daily run:

{
"searchQueries": [
"lofi hip hop"
],
"maxResults": 300
}

Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh dataset.

๐Ÿ’ฐ Pricing

$0.99 per 1,000 results โ€” you only pay for records successfully retrieved. Failed retries are never charged.

ResultsCost
100~$0.10
1,000~$0.99
10,000~$9.90
100,000~$99.00

Flat-rate alternatives typically charge $29โ€“$49/month regardless of usage.

Subscription tiers lower the rate further, down to $0.34 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 resultsunder 1 minute
1,000 results1โ€“3 minutes
10,000 results12โ€“25 minutes

Known limitations

  • Private tracks, playlists, and profiles are not accessible โ€” only public content is returned.
  • Commercial identifiers (ISRC, UPC) are present only where the uploader or distributor has published them; many independent uploads leave them blank.
  • Stream resource URLs are the platform's authorised playback endpoints; this actor surfaces the URLs and formats but does not download audio.
  • Search result totals reflect what SoundCloud's public search returns, which can differ slightly from on-site counts.

Technical details

  • Source: soundcloud.com โ€” public tracks, artists, and playlists
  • Coverage: global, searchable by keyword or direct URL
  • Retry: automatic retry on network errors with exponential backoff

Need a custom scraper?

Unfenced Group builds Apify actors for any website โ€” for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results โ€” we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl