SoundCloud Scraper
Pricing
from $0.59 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share

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
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | "searchTracks" | What to scrape for Search queries: searchTracks, searchUsers, or searchPlaylists. Ignored when Start URLs are provided. |
searchQueries | array | [] | One search term per line โ a genre, artist name, or any keyword. |
startUrls | array | [] | Any SoundCloud URLs โ track, artist, playlist/album, or search page. Type is detected automatically. Takes precedence over Search queries. |
maxResults | integer | 100 | Maximum records across all queries and URLs combined. Set to 0 for unlimited. |
hydratePlaylistTracks | boolean | true | Backfill id-only playlist tracks with full titles and metadata. |
includeCreatorDetails | boolean | true | Attach 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
| Field | Type | Description |
|---|---|---|
type | string | Always "track". |
id | number | SoundCloud track id. |
urn | string | SoundCloud URN (e.g. soundcloud:tracks:123). |
title | string | Track title. |
permalink | string | URL slug. |
url | string | Full public track URL. |
description | string | Track description as published. |
genre | string | Genre label. |
tags | array | Parsed tag list. |
playbackCount | number | Play count. |
likesCount | number | Likes. |
repostsCount | number | Reposts. |
commentCount | number | Comments. |
downloadCount | number | Downloads. |
durationMs | number | Playable duration in milliseconds. |
fullDurationMs | number | Full duration in milliseconds. |
duration | string | Human-readable duration (m:ss). |
createdAt | string | Upload timestamp (ISO 8601). |
releaseDate | string | Release date where published. |
displayDate | string | Display date. |
lastModified | string | Last modified timestamp. |
license | string | License string. |
labelName | string | Label name. |
monetizationModel | string | Monetization model. |
policy | string | Playback policy. |
sharing | string | public or private. |
streamable | boolean | Whether the track is streamable. |
downloadable | boolean | Whether downloads are enabled. |
hasDownloadsLeft | boolean | Whether download quota remains. |
commentable | boolean | Whether comments are enabled. |
embeddableBy | string | Embed permission scope. |
isrc | string | International Standard Recording Code. |
upcOrEan | string | UPC or EAN barcode. |
publisherArtist | string | Publisher-declared artist. |
albumTitle | string | Album title. |
releaseTitle | string | Release title. |
writerComposer | string | Writer / composer credit. |
pLine | string | Phonographic copyright line. |
cLine | string | Copyright line. |
explicit | boolean | Explicit-content flag. |
containsMusic | boolean | Whether the item is flagged as music. |
artworkUrl | string | Artwork image URL. |
waveformUrl | string | Waveform data URL. |
stationPermalink | string | Related station slug. |
streams | array | Published stream resources: url, preset, protocol, mimeType, quality, snipped. |
userId | number | Creator id. |
creator | object | Compact creator block (see below). |
Artist (user) record
| Field | Type | Description |
|---|---|---|
type | string | Always "user". |
id | number | Artist id. |
urn | string | SoundCloud URN. |
username | string | Display name. |
fullName | string | Full name where published. |
permalink | string | URL slug. |
url | string | Full profile URL. |
description | string | Profile bio as published. |
avatarUrl | string | Avatar image URL. |
verified | boolean | Verification status. |
city | string | City. |
countryCode | string | ISO country code. |
followersCount | number | Followers. |
followingsCount | number | Accounts followed. |
trackCount | number | Public tracks. |
playlistCount | number | Public playlists. |
likesCount | number | Likes given. |
commentsCount | number | Comments made. |
groupsCount | number | Groups. |
lastModified | string | Last modified timestamp. |
stationPermalink | string | Artist station slug. |
Playlist / album record
| Field | Type | Description |
|---|---|---|
type | string | Always "playlist". |
id | number | Playlist id. |
title | string | Playlist or album title. |
permalink | string | URL slug. |
url | string | Full public URL. |
description | string | Description as published. |
genre | string | Genre label. |
tags | array | Parsed tag list. |
isAlbum | boolean | Whether it is an album. |
setType | string | Set type (album, ep, etc.). |
trackCount | number | Number of tracks. |
durationMs | number | Total duration in milliseconds. |
duration | string | Human-readable total duration. |
likesCount | number | Likes. |
repostsCount | number | Reposts. |
license | string | License string. |
labelName | string | Label name. |
createdAt | string | Creation timestamp. |
releaseDate | string | Release date. |
publishedAt | string | Publish timestamp. |
displayDate | string | Display date. |
lastModified | string | Last modified timestamp. |
artworkUrl | string | Artwork image URL. |
sharing | string | public or private. |
userId | number | Creator id. |
creator | object | Compact creator block (see below). |
tracks | array | Full tracklist (hydrated when enabled), each a track record. |
Creator block (embedded on tracks and playlists)
| Field | Type | Description |
|---|---|---|
id | number | Creator id. |
urn | string | SoundCloud URN. |
username | string | Display name. |
fullName | string | Full name where published. |
permalinkUrl | string | Profile URL. |
avatarUrl | string | Avatar image URL. |
followersCount | number | Followers. |
followingsCount | number | Accounts followed. |
trackCount | number | Public tracks. |
verified | boolean | Verification status. |
city | string | City. |
countryCode | string | ISO 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.
| Results | Cost |
|---|---|
| 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 size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 1โ3 minutes |
| 10,000 results | 12โ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