SoundCloud MP3 Downloader
Pricing
$0.01 / 1,000 saved tracks
SoundCloud MP3 Downloader
Get playable SoundCloud media links from track URLs, profiles, playlists, and search terms. Export progressive MP3 URLs, HLS streams, track metadata, artist details, and engagement counts.
Pricing
$0.01 / 1,000 saved tracks
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
6
Monthly active users
a day ago
Last modified
Categories
Share
🎧 SoundCloud MP3 links for music research
Music researchers and audio teams can collect public SoundCloud track media links and details with SoundCloud MP3 Downloader. Each saved row keeps available media URLs, source links, artist details, and public counts together in an Apify dataset for catalog review or audio analysis.
- Find available media links and track details with SoundCloud MP3 Downloader.
- Collect tracks from a public playlist with SoundCloud Playlist Downloader.
- Get public tracks from an artist profile with SoundCloud Artist Tracks.
- Search public SoundCloud tracks by keyword with SoundCloud Music Search.
- Keep tracks SoundCloud marks as downloadable with SoundCloud Downloadable Tracks.
📊 SoundCloud track data and media links
Each saved row represents one public SoundCloud track and includes at least one media variant supplied by SoundCloud. Rows can also include a matched target, track title and link, artist details, duration, artwork, engagement counts, tags, license, dates, description, and waveform URL when available.
If the same track is found from more than one submitted target, matchedInput shows the first target that found it. Later matches do not add submitted values to the saved row.
Some fields can be null when SoundCloud does not expose them.
▶️ Get public SoundCloud track results
- Add public track, artist profile, or playlist links, an @handle, or a search term to SoundCloud targets.
- Set a total or per-target track limit to stop sooner. Leave both limits blank to get all available tracks until each source is exhausted.
- Turn on Only downloadable to keep tracks SoundCloud marks as downloadable.
- Start the Actor and open the dataset.
⚙️ Input
Add public SoundCloud track URLs, profile URLs, playlist URLs, @handles, or search terms. Each target is processed separately.
Input fields
| Field | Type | What it does |
|---|---|---|
| targets | array of strings, required | Adds track, profile, or playlist links, @handles, or search terms. |
| maxTotalTracks | integer, optional; prefilled with 11 | Stops after this many playable tracks across all targets. Leave it blank with no per-target limit to get all available tracks until each source is exhausted. |
| maxTracksPerTarget | integer, optional | Stops after this many playable tracks from each target. Leave it blank with no total limit to get all available tracks until each source is exhausted. |
| onlyDownloadable | boolean, optional; default false | Keeps tracks SoundCloud marks as downloadable. |
Successful default-input run
{"targets": ["ambient"],"maxTotalTracks": 11,"onlyDownloadable": false}
🧾 Output
Output fields
| Field | Type | What it does |
|---|---|---|
| matchedInput | string or null | Shows the first submitted target that found this track. |
| trackId | integer | Gives the SoundCloud track ID. |
| trackUrl | string or null | Gives the public SoundCloud track URL. |
| title | string | Gives the track title shown by SoundCloud. |
| description | string or null | Gives the track description from SoundCloud. |
| artistName | string or null | Gives the artist or uploader name. |
| artistUrl | string or null | Gives the public artist or uploader URL. |
| durationMs | integer or null | Gives the track duration in milliseconds. |
| artworkUrl | string or null | Gives the track artwork URL. |
| downloadable | boolean or null | Shows whether SoundCloud marks the track as downloadable. |
| streamable | boolean or null | Shows whether SoundCloud marks the track as streamable. |
| media | object | Holds audio links and variants that SoundCloud lists for the track. |
| media.variants | array of objects | Lists the audio variants supplied by SoundCloud. |
| media.variants[].url | string | Gives one SoundCloud-hosted media URL. |
| media.variants[].protocol | string or null | Gives the media protocol. |
| media.variants[].mimeType | string or null | Gives the media MIME type. |
| media.variants[].preset | string or null | Gives the SoundCloud media preset. |
| media.variants[].quality | string or null | Gives the media quality label. |
| media.variants[].durationMs | integer or null | Gives the variant duration in milliseconds when exposed. |
| media.variants[].extension | string or null | Gives the detected file or playlist extension. |
| artist | object or null | Holds public artist or uploader profile details. |
| artist.id | integer or null | Gives the artist or uploader ID. |
| artist.username | string or null | Gives the SoundCloud username. |
| artist.fullName | string or null | Gives the artist or uploader display name when exposed. |
| artist.avatarUrl | string or null | Gives the profile avatar URL. |
| artist.followersCount | integer or null | Gives the follower count. |
| artist.trackCount | integer or null | Gives the number of tracks on the profile. |
| artist.verified | boolean or null | Shows whether SoundCloud marks the profile as verified. |
| artist.pro | boolean or null | Shows whether SoundCloud marks the profile as Pro. |
| engagement | object | Holds public engagement counts. |
| engagement.playbackCount | integer or null | Gives the play count. |
| engagement.likesCount | integer or null | Gives the like count. |
| engagement.repostsCount | integer or null | Gives the repost count. |
| engagement.commentCount | integer or null | Gives the comment count. |
| engagement.downloadCount | integer or null | Gives the download count when exposed. |
| license | string or null | Gives the SoundCloud license label. |
| genre | string or null | Gives the SoundCloud genre label. |
| tags | array of strings | Gives tags parsed from the track. |
| createdAt | string or null | Gives the source track creation date. |
| releaseDate | string or null | Gives the release date when exposed. |
| waveformUrl | string or null | Gives the SoundCloud waveform data URL. |
Some values can be null when SoundCloud does not expose them.
Track row from a successful current-beta run
{"matchedInput": "https://soundcloud.com/hasnaa-tabra/sets/classical-music","trackId": 6815163,"trackUrl": "https://soundcloud.com/cynthiawong/serenade-melancolique-tchaikovsky","title": "Serenade Melancolique - Tchaikovsky","description": "Recorded and mixed by Cynthia Wong for Sound II in the Winter semester of 2010 at Concordia University. \r\n\r\nDAW used: Pro Tools LE 7\r\n\r\nPiece is performed by Grégor Monlun.\r\n\r\nPlease credit the artist(s) respectively and appropriately.\r\n\r\n","artistName": "cynthiawong","artistUrl": "https://soundcloud.com/cynthiawong","durationMs": 625546,"artworkUrl": "https://i1.sndcdn.com/artworks-000002959921-j5e0id-large.jpg","downloadable": true,"streamable": true,"media": {"variants": [{"url": "https://playback.media-streaming.soundcloud.cloud/j2Duya0n2na4/aac_160k/61594062-ec66-448a-98b3-1c46779160f4/playlist.m3u8?expires=1791491108&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wbGF5YmFjay5tZWRpYS1zdHJlYW1pbmcuc291bmRjbG91ZC5jbG91ZC9qMkR1eWEwbjJuYTQvYWFjXzE2MGsvNjE1OTQwNjItZWM2Ni00NDhhLTk4YjMtMWM0Njc3OTE2MGY0L3BsYXlsaXN0Lm0zdTg~ZXhwaXJlcz0xNzkxNDkxMTA4IiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzkxNDg0MDI4fX19XX0_&Signature=F-eYWnu~PCBKs3jX2~BvH4xGjyzbyq4a1Z0GTHsRBYoKDUpJewTul5-7PCOej0-9L8rvtlBbUXg~OGGk7sr5XpNx5FxsaMct8acNepM~0oDy91LW4mR8X4HL9ApjWtMSu14pqXVMvsZE6v7wItVO753PKOcsl0cxm-noEJLou5MJJXsALZEM5Mpw70eqyD1kWiUwV3hDWXMvNHFm7Bp7di6B1TcXMt4FUb5jdqH2BD3MI6Q0QVVI7IVPKLTSJ5VQ630D~zLDBWq3DY8ivNsJyYnRp2jGtLl449Yq6StWDT~0QIICbuhVfptWW~JWfEyj-jfrfi1i-7o47XYLmZwpTw__&Key-Pair-Id=K34606QXLEIRF3","protocol": "hls","mimeType": "audio/mp4; codecs=\"mp4a.40.2\"","preset": "aac_160k","quality": "sq","durationMs": 625546,"extension": "m4a"},{"url": "https://playback.media-streaming.soundcloud.cloud/j2Duya0n2na4/aac_96k/c8538d0a-d7f8-470d-9436-d16204967bb0/playlist.m3u8?expires=1791491109&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wbGF5YmFjay5tZWRpYS1zdHJlYW1pbmcuc291bmRjbG91ZC5jbG91ZC9qMkR1eWEwbjJuYTQvYWFjXzk2ay9jODUzOGQwYS1kN2Y4LTQ3MGQtOTQzNi1kMTYyMDQ5NjdiYjAvcGxheWxpc3QubTN1OD9leHBpcmVzPTE3OTE0OTExMDkiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE3OTE0ODQwMjl9fX1dfQ__&Signature=zDM6dXMA8T9tFJeS1HpfuhxQRs6xjLA1cwckJuyCQo1zczU6neUD3FC9YKr62vOoBGeAzEhxnfPp-DXCGzGXLG6IczKjUB9vD0S4li4lkKpVG40dbmo-pTN2OcODn3qnB3l3CtU3I9fWVZyNFtpCfSm~ilHiZBzNHVUCakOwUXafC-NtCQYdLdExr2FdRqZ2NbLSXP5j4W1rMULu57snghXz2puJst-D6buHKnDl6FtjVXIPT8vtnSzMNKbgCzAaqiHYEE3L3aDaAtViod5vA~OlqWY5uzqu6fLzBCuNpEVinoQ2vw1MIDNUmjs2jLqY4efrI8j5B1y1TjadwNbANw__&Key-Pair-Id=K34606QXLEIRF3","protocol": "hls","mimeType": "audio/mp4; codecs=\"mp4a.40.2\"","preset": "aac_96k","quality": "lq","durationMs": 625546,"extension": "m4a"},{"url": "https://cf-hls-media.sndcdn.com/playlist/j2Duya0n2na4.128.mp3/playlist.m3u8?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLWhscy1tZWRpYS5zbmRjZG4uY29tL3BsYXlsaXN0L2oyRHV5YTBuMm5hNC4xMjgubXAzL3BsYXlsaXN0Lm0zdTgqIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzkxNDg0MDMyfX19XX0_&Signature=SjGK67qfTPCVTWtKGwng0S6sgla8~nMJt0dDzKFVbrx~D4VvZc7OXyxdSTZWk-LDbrVnLNsj-3ax8xVITC0OdIryjI28lqBDdq-2NQypeSsTSjfforAqzRlrkF5QwyaTAlT2D0z75a5QShgMx6RTNUcAbHYETowq6sjEUzplroXAviEzUgsgQPmnAQe53GEr~2lcmTPaz72pi9bVfE5EhgFqXdZ6nofnIqlIw2cj5eNfumqXqrVDFzMwJiWHKt0mL~qPamCKL2IKFY-ck5eUyKayzH45AlmWYiwdIY~ziRZplWvqko5j2cZ-ILZWTUcJDg9E67RlSiEJ4k9Iyh5V7Q__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ","protocol": "hls","mimeType": "audio/mpeg","preset": "mp3_0_0","quality": "sq","durationMs": 625818,"extension": "mp3"},{"url": "https://cf-media.sndcdn.com/j2Duya0n2na4.128.mp3?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLW1lZGlhLnNuZGNkbi5jb20vajJEdXlhMG4ybmE0LjEyOC5tcDMqIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzkxNDg0MDMzfX19XX0_&Signature=ZGBDR5FqDViPUrCsnhCwUFUo396-T6pFqTNxiRwcNipzQhxSNxyevQigKpgoSPDQwHfhbqtrGBaJ79~6LF494Psxz8bLc7ybvQCb4XShBEWK0AR1XiCkefy8gWIf7VEVC9nWt72e9fU72zdAvX1aoVtYvQ1jKd2Et3Zp66fwDRXZeHdqyFg~PfoXEMfSmOv3IevhTEhNU3YMBhVPia~TQ5ozp7xlww0JIW5oPujnNkssGxhBo2TyIhdzaozv-YOsupnMdF2XTzbH4mn0gc1QIbQgRJSkYDJk0RqiEgxLgUAf9KM5FReW3h~P6cDYSxZ0yBNQHs0rL5QXTZ5BwFgCZA__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ","protocol": "progressive","mimeType": "audio/mpeg","preset": "mp3_0_0","quality": "sq","durationMs": 625818,"extension": "mp3"}]},"artist": {"id": 783911,"username": "cynthiawong","fullName": "Cynthia Wong","avatarUrl": "https://i1.sndcdn.com/avatars-000011998310-9984ch-large.jpg","followersCount": 526,"trackCount": null,"verified": false,"pro": false},"engagement": {"playbackCount": 1094047,"likesCount": 14075,"repostsCount": 1457,"commentCount": 112,"downloadCount": 100},"license": "cc-by","genre": "Classical","tags": ["serenade mélancolique","violin","tchaikovsky","classical","serenade","gregor monlun","concordia","concordia university","communication studies","coms","communications"],"createdAt": "2010-11-08T16:30:05Z","releaseDate": null,"waveformUrl": "https://wave.sndcdn.com/j2Duya0n2na4_m.json"}
💳 Pricing
The Actor uses pay-per-event pricing. One event is charged for each public track saved with a resolved MP3 or stream URL.
🔌 Integrations
Run the Actor through the Apify API and read the saved dataset from the run.
❓ FAQ
What does “could not be loaded” mean?
The warning says the submitted target could not be loaded and was skipped. It does not show whether the target was invalid or unavailable, or whether SoundCloud had a temporary access problem. The warning alone also does not say whether the run continued with other targets. Check the run status, log, and dataset for the outcome.
Can downloadable be false when a media link is present?
Yes. The downloadable field shows whether SoundCloud marks the track as downloadable. A media URL is separate data, so its presence does not change that source flag.
Will every returned link cover the full track?
No. If SoundCloud exposes only a short preview, that preview may be returned.
Can I use private SoundCloud tracks?
No. The Actor works with public tracks and does not process private or access-restricted items.
Does the dataset contain audio files?
No. It contains SoundCloud-hosted media URLs and track details, not an audio file field.
Can I use artist profiles and playlists?
Yes. Add public profile or playlist URLs to SoundCloud targets to get track rows from those sources.
📝 Changelog
v1.0 (08-10-2026)
- Leave both track limits blank to keep collecting playable tracks from each target until its source is exhausted.
- Track rows now include descriptions. Audio links are in
media.variants;media.progressiveMp3Url,media.hlsMp3Url,trackUrn,durationText, andartist.urnare no longer returned. - The
sortinput is removed, so runs can no longer choose newest or popular results.
v0.1
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- SoundCloud Scraper collects public SoundCloud tracks, artists, playlists, albums, and comments.
- Spotify Downloader resolves public track links and searches into track details and MP3 links.
- SoundCloud MP3 Downloader offers another SoundCloud track download workflow.
- SoundCloud Downloader — Tracks to MP3 + Metadata offers a related SoundCloud to MP3 and track metadata workflow.
- SoundCloud Scraper — Tracks, Playlists, Artists & Comments collects public SoundCloud tracks, playlists, artists, and comments with MP3 and HLS stream links.
Made with ❤️ by Maxime Dupré