SoundCloud Scraper avatar

SoundCloud Scraper

Pricing

Pay per event

Go to Apify Store
SoundCloud Scraper

SoundCloud Scraper

Extract SoundCloud tracks, playlists, and artist profiles. Get play counts, likes, reposts, genre, tags, ISRC, and full creator details. No API key needed.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract tracks, playlists, user profiles, and search results from SoundCloud — no API key or login required. Get full metadata: play counts, likes, reposts, comments, genre, tags, ISRC, and creator profiles. Export to JSON, CSV, Excel, or feed into your pipelines.

Try it free on Apify Store. Get up to 100 tracks free on the Apify Free plan ($5 credits).

What does SoundCloud Scraper do?

SoundCloud Scraper uses SoundCloud's public API to extract full track, playlist, and user data without a browser or paid API subscription. Just enter a search query or a SoundCloud URL and you get structured data you can use immediately.

Supported scrape modes:

  • 🔍 Search tracks — find tracks by keyword, genre, or artist name
  • 🎵 Search playlists — find curated playlists matching your query
  • 👤 Search users — find artists and creators
  • 🎧 Track by URL — scrape full metadata for a specific track
  • 📋 Playlist by URL — extract playlist metadata
  • 👤 User profile + tracks — scrape a creator's profile and all their public tracks

Unlike web scrapers that break constantly, this actor uses SoundCloud's official internal API — the same one their web player uses — making it reliable and fast.

Who is it for?

Music researchers and analysts tracking trends across genres, monitoring which emerging artists gain traction, or building datasets for music recommendation models.

Music marketing professionals who need to monitor how tracks are performing — play counts, likes, comment velocity — to report on campaigns or identify influential creators to collaborate with.

Podcasters and content creators who want to find popular tracks in specific genres for licensed background music, or track how their own music is performing over time.

Data scientists and developers building music discovery apps, playlist generators, or audio classification datasets who need labeled track metadata at scale without paying for the official SoundCloud API.

Record labels and A&R teams identifying emerging talent by monitoring follower growth, track engagement, and upload frequency across thousands of independent artists.

Why use SoundCloud Scraper?

  • No API key required — SoundCloud's public v2 API works without authentication
  • No login or cookies needed — fully public data extraction
  • Pure HTTP — fast and cheap — no browser overhead, runs on 256 MB
  • Full metadata — play counts, likes, reposts, ISRC, waveform URLs, user bios
  • Pagination support — extract hundreds or thousands of tracks per query
  • 6 scrape modes — search or target specific URLs
  • Export anywhere — JSON, CSV, Excel, Google Sheets, or via API

What data can you extract?

🎧 Track data

FieldDescription
titleTrack title
urlFull SoundCloud URL
artworkUrlCover art image URL
descriptionTrack description / tracklist
genreGenre classification
tagListArray of tags
durationDuration in milliseconds
playbackCountTotal plays
likesCountTotal likes/hearts
repostsCountTotal reposts
commentCountTotal comments
downloadCountTotal downloads
downloadableWhether download is enabled
streamableWhether streaming is available
licenseLicense type (e.g., all-rights-reserved, cc-by)
releaseDateOriginal release date
createdAtUpload date
isrcISRC music identifier code
waveformUrlURL to waveform JSON data
userNameCreator username
userUrlCreator profile URL
userFollowersCountCreator's follower count
userVerifiedWhether creator is verified

📋 Playlist data

FieldDescription
titlePlaylist name
urlFull SoundCloud URL
artworkUrlCover art image URL
descriptionPlaylist description
genreGenre classification
durationTotal duration in ms
trackCountNumber of tracks
likesCountTotal likes
isAlbumWhether it's a released album vs playlist
publishedAtPublication date
userNameCreator username

👤 User profile data

FieldDescription
usernameSoundCloud username
fullNameDisplay name
urlProfile URL
avatarUrlProfile picture URL
descriptionBio text
cityLocation city
countryCodeCountry code
followersCountNumber of followers
followingsCountAccounts they follow
trackCountNumber of uploaded tracks
playlistCountNumber of playlists
likesCountTotal likes given
verifiedVerification status
isProPro subscription holder

How much does it cost to scrape SoundCloud?

This actor uses Pay-Per-Event (PPE) pricing. You only pay for results you get.

VolumeCostWhat you get
10 tracks$0.025Quick test run
100 tracks$0.205Solid dataset
500 tracks$1.005Genre analysis
1,000 tracks$2.005Large research dataset

Pricing breakdown: $0.005 run start fee + $0.002 per track/item scraped.

Free plan estimate: With Apify's $5 free credits, you can scrape approximately 2,000 tracks before any charges apply.

Compare to SoundCloud's official API: requires an approved developer application and has strict rate limits. This scraper has no rate limiting issues for typical research volumes.

How to scrape SoundCloud data

  1. Go to SoundCloud Scraper on Apify Store
  2. Click Try for free
  3. Select a scrape mode from the dropdown (e.g., "Search Tracks")
  4. Enter your search query (e.g., "lofi hip hop") or paste a SoundCloud URL
  5. Set Max results per query (start with 20 for testing)
  6. Click Start and wait for results (usually under 30 seconds)
  7. Download your data as JSON, CSV, or Excel from the Dataset tab

Example inputs for different use cases:

Search for tracks by genre:

{
"mode": "searchTracks",
"searchQueries": ["ambient techno", "dark jazz"],
"maxResults": 100
}

Scrape a specific artist's profile and all their tracks:

{
"mode": "userUrl",
"startUrls": ["https://soundcloud.com/moderat"],
"maxResults": 200
}

Get playlist metadata for a curated set:

{
"mode": "playlistUrl",
"startUrls": ["https://soundcloud.com/user/sets/my-playlist"],
"maxResults": 50
}

Input parameters

ParameterTypeDefaultDescription
modeStringsearchTracksWhat to scrape: searchTracks, searchPlaylists, searchUsers, trackUrl, playlistUrl, userUrl
searchQueriesArray[]Search terms for search modes. One query per item.
startUrlsArray[]SoundCloud URLs for URL-based modes.
maxResultsInteger100Max items to extract per query/URL. Use 0 for unlimited.
includeUserDetailsBooleantrueInclude creator profile data in each track result.

Output examples

Track output:

{
"type": "track",
"id": 417474360,
"title": "Chill Study Beats - Lofi Hip Hop Mix",
"url": "https://soundcloud.com/nigeldelviero/chill-study-beats-lofi-hip-hop-mix",
"artworkUrl": "https://i1.sndcdn.com/artworks-000321524016-jw118f-large.jpg",
"genre": "Hip-hop & Rap",
"tagList": ["Lo-Fi", "Relax", "Chill"],
"duration": 7200255,
"playbackCount": 4732814,
"likesCount": 93032,
"repostsCount": 2211,
"commentCount": 4802,
"downloadable": false,
"streamable": true,
"license": "all-rights-reserved",
"createdAt": "2018-03-22T08:35:48Z",
"userName": "nigeldelviero",
"userFollowersCount": 4056,
"userVerified": false,
"isrc": null,
"scrapedAt": "2026-04-03T00:00:00.000Z"
}

User output:

{
"type": "user",
"id": 203410014,
"username": "deadmau5",
"fullName": "deadmau5",
"url": "https://soundcloud.com/deadmau5",
"followersCount": 352371,
"trackCount": 45,
"verified": true,
"isPro": true
}

Tips for best results

  • 🔍 Use specific genre names — SoundCloud indexes genre tags, so "lo-fi hip hop" returns more relevant results than "lofi"
  • 📊 Start with small maxResults (20-50) to preview data before large extractions
  • 🔁 Schedule runs for monitoring — use Apify's scheduling feature to track track metrics weekly
  • 🎯 Combine modes — search for users first, then use their URLs in userUrl mode for comprehensive data
  • 💾 Export to Google Sheets — use Apify's Google Sheets integration for real-time data sharing
  • Pagination is automatic — just set maxResults higher and the scraper fetches multiple pages

Integrations

SoundCloud Scraper → Google Sheets: Track how a set of artists' follower counts change week over week. Schedule a weekly run in userUrl mode, output to Google Sheets, and watch the trends.

SoundCloud Scraper → Slack alerts: Monitor when a target artist uploads a new track. Set up a daily userUrl run, compare track counts, and send Slack notifications via Apify webhooks when the count increases.

SoundCloud Scraper → Make / Zapier: Automatically add newly discovered tracks (from search runs) to a Spotify playlist or Notion database for music curation workflows.

SoundCloud Scraper → Data warehouse: Pull 1,000+ tracks per genre weekly into BigQuery or Snowflake for music trend analysis dashboards.

Scheduled monitoring: Run searchTracks mode daily with specific genre queries to build a time-series dataset of SoundCloud's trending content.

API usage

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automation-lab/soundcloud-scraper').call({
mode: 'searchTracks',
searchQueries: ['lofi hip hop', 'ambient techno'],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/soundcloud-scraper").call(run_input={
"mode": "searchTracks",
"searchQueries": ["lofi hip hop", "ambient techno"],
"maxResults": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["playbackCount"])

cURL:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~soundcloud-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "searchTracks",
"searchQueries": ["lofi hip hop"],
"maxResults": 100
}'

Use with AI agents via MCP

SoundCloud Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/soundcloud-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/soundcloud-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Use automation-lab/soundcloud-scraper to find the top 50 lofi hip hop tracks on SoundCloud and show me which artists have the most plays"
  • "Scrape the SoundCloud profile for soundcloud.com/moderat and list all their tracks with play counts"
  • "Search SoundCloud for ambient techno playlists and find the 10 most-liked ones"

Learn more in the Apify MCP documentation.

Legality of scraping SoundCloud

This actor only accesses publicly available data via SoundCloud's public API — the same data anyone can see when visiting soundcloud.com. No private data, no account credentials, no authentication is required or used.

Web scraping public data is generally considered legal in most jurisdictions. The 2022 hiQ Labs v. LinkedIn ruling confirmed that scraping publicly available data does not violate the Computer Fraud and Abuse Act (CFAA).

You are responsible for how you use the data. We recommend:

  • Only scraping data you are legally entitled to use
  • Respecting SoundCloud's Terms of Service for your specific use case
  • Complying with GDPR and other applicable privacy regulations when processing personal data
  • Not using the data for spam, harassment, or other harmful purposes

For legal advice about your specific use case, consult a qualified attorney.

FAQ

How many tracks can I scrape per run? There is no hard limit. Set maxResults: 0 for unlimited results. Typical search queries return 200-1,000 tracks before running out of results. User profile mode extracts all public tracks for a given artist.

How much does it cost? $0.005 per run start + $0.002 per track/playlist/user scraped. 100 tracks = $0.205 total. The free plan ($5 credits) covers approximately 2,000 tracks.

Does it require a SoundCloud account or API key? No. This actor uses SoundCloud's public API that powers their website, no account or API key needed.

Why are some tracks missing play counts or download counts? SoundCloud sometimes returns null for private or restricted metrics. The playbackCount field may be null for very new tracks or tracks that have been set to private after upload.

Why does the userUrl mode return 0 tracks for some artists? Some artists have all their tracks set to private or streaming-only without public listing. The API only returns publicly listed tracks.

Why am I getting fewer results than maxResults? The SoundCloud search index may have fewer results than your requested limit for very specific queries. Try broader search terms or use searchUsers mode to find artists, then use userUrl mode for their tracks.

The actor stopped mid-run — what happened? SoundCloud occasionally returns rate limit errors (429) for very high-volume requests. Try reducing maxResults per query or splitting your search queries across multiple runs.


Built by Automation Lab — building reliable data extraction tools for music, media, and research.