Alert

Actor is under maintenance

This actor may be unreliable while under maintenance. Would you like to try a similar actor instead?

SoundCloud Scraper

  • mstephen190/soundcloud-scraper
  • Modified
  • Users 20
  • Runs 208
  • Created by Author's avatarMatthias Stephens

SoundCloud's API has been closed for a while now, and they don't seem to have any intention of updating it. With this actor, scrape SoundCloud profiles, their tracks, and the comments on those tracks.

Free trial for 3 days

Then $10.00/month

No credit card required now

SoundCloud Scraper

Free trial for 3 days

Then $10.00/month

About SoundCloud Scraper

Scrape information on tracks, users, and comments with this free SoundCloud scraper. Input multiple usernames, queries, or URLs and scrape them all simultaneously.

SoundCloud is an online audio streaming service ideal for connecting emerging artists with an audience in pursuit of discovering new music. Therefore, its user base can be split into creators, listeners, and curators, who connect the two by creating playlists. The ability to comment on tracks adds a layer of interaction to the platform, and SoundCloud can therefore be viewed as a form of social media.

SoundCloud has closed its Google Form for granting developers access to its API, making gathering data from the website all the more complicated. This actor aims to fill this gap in the market by offering a quick and easy solution to scrape user info, tracks, and comments.

Table of contents

Features

By inputting a username, a keyword, or a URL, the scraper outputs the following:

  • Detailed user data
  • Detailed track data along with its URL
  • Track embed data
  • Track comments data (maximum of 300 comments)

When provided a list of usernames/queries/URLs, this actor will simultaneously scrape them, and push them all to the dataset, separated into objects titled after the input provided.

Use Cases

  • Embedding of tracks into on-site SoundCloud widgets
  • Collecting user statistics based on their metrics
  • Gathering social media information about users
  • Discovering trends based on popular SoundCloud tracks
  • Integrating SoundCloud search results into your app

Tutorial

  • Click the green Try for free button.
  • You will be redirected to our Apify console - sign in or create a new account.
  • Fill in the input parameters, based on your needs:
    • Usernames: Insert users you wish to scrape.
    • Keywords: Insert queries with which you want to search SoundCloud and then scrape the resulted tracks.
    • URLs: Insert a page that will be scraped for a user data, or query results. The scraper will not scrape just a single track/playlist at this time.
    • Maximum comments: Insert a number in the range of 0-350 based on the number of comments you want to scrape from each track.
    • Maximum query results: Insert a number between 1-2500 based on how many results you want back from each keyword search.
    • maxConcurrency: How fast do you want to scrape? This signifies how many operations can happen simultaneously (Max 200)
  • Hit the Run button
  • When the scrape is complete, you will find the results in the Dataset tab, where you can export them to various formats (HTML, JSON, CSV, Excel, and XML)

Input

Field Type Default Description
usernames array [] List of SoundCloud usernames to scrape.
keywords array [] List of keywords to query and scrape results of.
urls array [] List of URLs (can scrape user pages, or query pages). ONLY FOR QUERIES AND USERS
maxComments number 0 The maximum comments you want a track's data to have (max: 150).
maxQueryResults number 1 The maximum number of results you want back from a keyword search (max: 2000).
clientId string - SoundCloud API client ID. NOT REQUIRED. Leave empty to use default.
maxConcurrency number 75 The maximum number of operations that can happen at one time. (max: 150)
debug boolean false Switch to true in order to receive frequent and descriptive debug logs about what the scraper is doing.

Note:

  • Input URLs should be full valid SoundCloud URLs, such as https://soundcloud.com/yt-audio-library

Example Input:

{
    "usernames": ["k_dubs", "skrillex", "marshmellomusic", "mestomusic", "diplo", "kodak-black"],
    "keywords": ["music", "dubstep", "lofi beat", "beats", "cool", "test", "soundcloud"],
    "urls": ["soundcloud.com/martingarrix", "soundcloud.com/onstat", "https://soundcloud.com/search?q=test"],
    "maxComments": 200,
    "maxQueryResults": 1000,
    "maxConcurrency": 100,
    "debug": true
}

Output

Example of output for a username query

"Skrillex": [
  {
    "type": "user"
  },
  {
    "id": 856062,
    "creationDate": "2010-04-12T17:48:00Z",
    "lastModifiedDate": "2021-08-20T04:05:03Z",
    "url": "https://soundcloud.com/skrillex",
    "username": "Skrillex",
    "fullName": "Sonny Moore",
    "avatar": "https://i1.sndcdn.com/avatars-Hj4vOjdcx2256uzp-pqhsJQ-large.jpg",
    "banner": "https://i1.sndcdn.com/visuals-000000856062-ZA06UE-original.jpg",
    "location": "Los Angeles",
    "countryCode": "US",
    "verified": true,
    "subscriptions": [
      {
        "product": {
          "id": "creator-pro-unlimited"
        }
      }
    ],
    "description": "Twitter / TikTok / Snap: Skrillex\nButterflies with Starrah & Four Tet out now!\nskrillex.lnk.to/Butterflies\n\nGet more music from Skrillex\nSpotify: http://skrillex.me/Spotify\nApple Music: http://skrillex.me/AppleMusic\nYouTube: http://skrillex.me/YTSubscribe",
    "followersCount": 6504370,
    "followingCount": 95,
    "likesCount": 14,
    "playlistCount": 23,
    "tracksCount": 110,
    "tracks": []

Tracks will never be empty, however. A track object looks like this:

{
  "id": 1108992304,
  "title": "Skrillex, Justin Bieber & Don Toliver - Don't Go",
  "publishDate": "2021-08-19T18:15:56Z",
  "description": "Skrillex, Justin Bieber & Don Toliver - Don't Go",
  "genre": "Pop",
  "thumbnail": "https://i1.sndcdn.com/artworks-udBlrInKB97ngX1E-LqKxWg-large.jpg",
  "url": "https://soundcloud.com/skrillex/skrillex-justin-bieber-don-toliver-dont-go",
  "plays": 659955,
  "likes": 17428,
  "commentCount": 474,
  "downloadable": false,
  "downloadCount": 0,
  "embedLink": "https://soundcloud.com/oembed?format=json&url=https://soundcloud.com/skrillex/skrillex-justin-bieber-don-toliver-dont-go",
  "comments": [
    {
      "id": 1602750517,
      "date": "2022-01-26T20:08:39Z",
      "user": {
        "id": 1072467712,
        "username": "Annice",
        "url": "https://soundcloud.com/user-203022854"
      },
      "body": "馃挍馃挅馃挏馃挓"
    },
    {
      "id": 1602744070,
      "date": "2022-01-26T20:01:28Z",
      "user": {
        "id": 1078473127,
        "username": "MISTYY",
        "url": "https://soundcloud.com/brundaban-nahak"
      },
      "body": "I'm addicted to this song..鈾ワ笍"
    }
  ]

Output for a keyword query

Keyword queries work a bit differently. By scraping by keyword, the scraper gives back the raw data SoundCloud uses from their own API. This means that every object includes a plethora of information about the result it represents.

Industries

See how SoundCloud Scraper is used in industries around the world