# SoundCloud Scraper — Tracks, Plays, Artists & Contact Links (`intelscrape/soundcloud-scraper`) Actor

SoundCloud Scraper: search SoundCloud tracks by keyword, pull every track from an artist profile, or look up track URLs. Plays, likes, reposts, comments, genre, tags, artwork, plus artist followers, bio, email in bio, website, Instagram, Spotify and YouTube links. No API key.

- **URL**: https://apify.com/intelscrape/soundcloud-scraper.md
- **Developed by:** [IntelScrape](https://apify.com/intelscrape) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## SoundCloud Scraper — Tracks, Plays, Artists & Contact Links

![SoundCloud Scraper — Tracks, Plays, Artists & Contact Links](https://api.apify.com/v2/key-value-stores/hRabN9WfDGrT4nSvV/records/soundcloud-scraper-banner.png)

🇨🇳 **SoundCloud 抓取器**：按关键词搜索 SoundCloud 曲目、抓取艺人主页的全部曲目或查询曲目链接。返回播放量、点赞、转发、评论、流派、标签、封面，以及艺人粉丝数、简介、简介中的邮箱、网站、Instagram、Spotify 和 YouTube 链接。无需 API 密钥。

🇸🇬 **Pengikis SoundCloud**: cari lagu SoundCloud mengikut kata kunci, ambil semua lagu artis atau URL lagu. Main, suka, kongsi semula, genre, serta pengikut artis, bio, e-mel, laman web dan media sosial. Tiada kunci API.

#### 🤖 NEW: Connect This To Your AI!

Use this actor from Claude, ChatGPT, Cursor or any MCP client through the **[IntelScrape MCP Server](https://apify.com/intelscrape/skip--trace)**, or call it directly over the Apify API.

#### 🏆 Featured Bots by IntelScrape

- [Skip Trace Pro](https://apify.com/intelscrape/skip-trace-pro)
- [TruePeopleSearch Scraper](https://apify.com/intelscrape/truepeoplesearch-scraper)
- [TikTok Email Scraper](https://apify.com/intelscrape/tiktok-scraper)
- [Amazon Product Reviews Scraper](https://apify.com/intelscrape/amazon-product-review-scraper)
- [Website Contact Scraper](https://apify.com/intelscrape/contact-info-scraper)
- [Skip Trace MCP Server](https://apify.com/intelscrape/skip--trace)

⚡ Works with n8n, Make, Zapier, Google Sheets and the Apify API.

![price](https://img.shields.io/badge/price-%242%20per%201K%20tracks%20with%20artist%20links-blue) ![billing](https://img.shields.io/badge/billing-pay%20per%20track-green) ![API key](https://img.shields.io/badge/API%20key-not%20required-brightgreen) ![login](https://img.shields.io/badge/login-not%20required-orange)

**SoundCloud tracks with plays and engagement, plus artist followers, bio emails and social links for A\&R and outreach.**

> **Honest coverage & billing:** SoundCloud search results are limited to what its public search returns. You pay only for results actually delivered, and a built-in cost guard stops the run at your max-charge limit.

🌍 Built for teams in the **US, China and Singapore**, and anyone who needs this data in a spreadsheet or pipeline.

⭐ Found it useful? Please leave a review; it helps others find it.

⚖️ **Lawful business use only.** Collect public data only, and comply with the source site's terms, copyright and data-protection laws (GDPR, CCPA, China PIPL, Singapore PDPA).

*Examples below are illustrative; names and values may be fictional or out of date.*

### What is SoundCloud Scraper?

SoundCloud is where independent artists, producers and DJs publish first, which makes it the best place to find emerging talent, track what is blowing up in a genre and build outreach lists. **SoundCloud Scraper** searches tracks by keyword, pulls an artist's full catalogue or looks up track links, and returns plays, likes, reposts and comments with the artist's followers, bio, any email in the bio and their website, Instagram, YouTube and Spotify links.

### What does it do?

- **Keyword search** across all public SoundCloud tracks
- **Artist catalogues**: every public track from a profile URL or username
- **Track lookup** by URL
- **Track data**: title, URL, plays, likes, reposts, comments, duration, genre, tags, created and release date, artwork, license, label, downloadable flag, description
- **Artist basics on every row**: username, profile URL, followers, verified, city, country
- **Artist links (on by default)**: full name, bio, emails found in bio, website, Instagram, X, YouTube, TikTok, Spotify, follower and track counts

### Why choose us over cheaper scrapers?

- **Honest output**: limits are documented, missing data is labeled, never invented
- **Clean, consistent schema** ready for Excel, Sheets, BI tools or an LLM
- **No account risk**: no logins, no cookies, no API keys
- **Pay per result** with a built-in cost guard; no subscription, failed items are never charged
- **Fast and light**: no residential proxy, so runs finish in seconds and stay cheap
- **Maintained by IntelScrape** and fixed fast when the source changes

### Who is it for?

- **A\&R and talent scouting**: emerging artists in a genre ranked by plays and followers
- **Music marketing & playlist outreach**: artists with emails and socials
- **Sync licensing**: tracks by mood/genre with license info
- **Trend tracking**: what is gaining plays in a niche each week
- **Label & promoter research**: map an artist's catalogue and engagement
- **Datasets** of music metadata for analysis

### How to use it

#### In Apify Console (no code)

1. Click **Try for free** / **Start**. The form is prefilled with a working example.
2. Change the inputs (see examples below).
3. Click **Start**, then export the results as **JSON, CSV, Excel, XML or HTML**, or open them in Google Sheets.
4. Optional: **Schedule** the actor to run hourly, daily or weekly.

#### Via API

```bash
curl -X POST "https://api.apify.com/v2/acts/intelscrape~soundcloud-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQueries": ["lofi hip hop"], "maxTracksPerSource": 30}'
```

Or use the official [Apify JavaScript](https://docs.apify.com/api/client/js/) and [Python](https://docs.apify.com/api/client/python/) clients:

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("intelscrape/soundcloud-scraper").call(run_input={"searchQueries": ["lofi hip hop"], "maxTracksPerSource": 30})
for item in client.dataset(run["default_dataset_id"]).iterate_items():
    print(item)
```

#### With AI agents (MCP)

Add Apify's MCP server (`https://mcp.apify.com`) or the [IntelScrape MCP Server](https://apify.com/intelscrape/skip--trace) to Claude Desktop, Cursor, ChatGPT or any MCP client, then ask in plain language, e.g. *"Run intelscrape/soundcloud-scraper with the default input and summarise the results."*

### Input examples

**Keyword search (default)**

```json
{
  "searchQueries": ["lofi hip hop"],
  "maxTracksPerSource": 30
}
```

**An artist's catalogue**

```json
{
  "profileUrls": ["https://soundcloud.com/lofi_girl"],
  "maxTracksPerSource": 200
}
```

**Bulk genres, no artist links**

```json
{
  "searchQueries": ["afrobeats", "drill", "deep house"],
  "maxTracksPerSource": 500,
  "includeArtistLinks": false
}
```

### Output fields

| Field | Description |
|---|---|
| `trackId / title / url / source` | Identity and which keyword/profile found it |
| `plays / likes / reposts / comments / durationSecs` | Stats |
| `genre / tags / license / label / downloadable` | Classification |
| `createdAt / releaseDate` | Dates |
| `artwork / description` | Media |
| `artistId / artist / artistUrl / artistFollowers / artistVerified / artistCity / artistCountry` | Artist basics |
| `artistEmail / artistDetails{name, bio, emails, website, instagram, twitter, youtube, tiktok, spotify, links[]}` | Artist links (when on) |

#### Sample output

```json
{
  "title": "midnight rain",
  "artist": "examplebeats",
  "plays": 301448,
  "likes": 2396,
  "reposts": 90,
  "genre": "Lo-fi",
  "artistFollowers": 12840,
  "artistEmail": "bookings@example.com",
  "artistDetails": { "instagram": "https://instagram.com/examplebeats" }
}
```

### Pricing (pay per event)

| Event | When it is charged | Price |
|---|---|---|
| **Actor start** | once per run | $0.005 |
| **Track** | per track row | $0.001 |
| **Artist links** | per track with artist bio and links (on by default; turn off to skip) | $0.001 |

#### Cost examples

| Run | Cost |
|---|---|
| Default run: 30 tracks with artist links | $0.065 |
| 1,000 tracks with artist links | $2.005 |
| 5,000 tracks only | $5.005 |

Platform usage is included in these prices. Set **Max charge per run** in the run options to cap spend; the actor stops cleanly when the limit is reached and keeps everything collected so far.

### Tips for best results

- Search a genre plus a city (e.g. "drill london") for local talent lists.
- Turn artist links off for the cheapest bulk export.
- Schedule weekly runs to track plays growth.
- Emails appear only when the artist put one in their bio.

### FAQ

#### Do I need a SoundCloud account or API key?

No. It uses the same public endpoints the SoundCloud website uses.

#### Where do emails come from?

Only from text the artist published in their public bio.

#### Can I get private tracks?

No, only public tracks.

#### Are playlists supported?

Not in this version; use the artist profile input.

#### How many tracks per search?

Up to 2,000 per keyword or profile.

#### Are Go+ preview tracks included?

Yes, with their public metadata.

### Honest limits

- SoundCloud search results are limited to what its public search returns.
- Emails appear only when present in an artist's bio.
- Private, deleted or geo-blocked tracks are skipped.
- Artist links add requests per new artist, so very large runs take longer.

### Related IntelScrape bots

- [Linktree Scraper](https://apify.com/intelscrape/bio-link-email-scraper): bio-link pages to emails & socials
- [Username Checker](https://apify.com/intelscrape/username-checker): find a username on 600+ sites
- [Skip Trace MCP Server](https://apify.com/intelscrape/skip--trace): IntelScrape tools for AI agents

### Legal

This actor collects publicly available data only. You are responsible for using the results lawfully and in line with the source's terms and applicable privacy laws (GDPR, CCPA, PIPL, PDPA). Process personal data only with a legitimate purpose. IntelScrape is not affiliated with, endorsed by or sponsored by the data source; all trademarks belong to their owners.

# Actor input Schema

## `searchQueries` (type: `array`):

Find tracks by keyword, genre or artist name.

## `profileUrls` (type: `array`):

Profile URLs or usernames, e.g. https://soundcloud.com/lofi_girl. Returns the artist's tracks.

## `trackUrls` (type: `array`):

Individual SoundCloud track URLs.

## `maxTracksPerSource` (type: `integer`):

Cap per source.

## `includeArtistLinks` (type: `boolean`):

Add the artist's full name, bio, emails found in the bio, website, Instagram, X, YouTube, TikTok and Spotify links, track and follower counts. Charged per track.

## `proxyConfiguration` (type: `object`):

Not needed normally. The actor switches to Apify Proxy automatically if the source starts rate-limiting.

## Actor input object example

```json
{
  "searchQueries": [
    "lofi hip hop"
  ],
  "profileUrls": [],
  "trackUrls": [],
  "maxTracksPerSource": 30,
  "includeArtistLinks": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "lofi hip hop"
    ],
    "includeArtistLinks": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("intelscrape/soundcloud-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["lofi hip hop"],
    "includeArtistLinks": True,
}

# Run the Actor and wait for it to finish
run = client.actor("intelscrape/soundcloud-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "lofi hip hop"
  ],
  "includeArtistLinks": true
}' |
apify call intelscrape/soundcloud-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,intelscrape/soundcloud-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/2VRyNjku7GB5D1rXK/builds/KNo5FT90VQcNxtbu4/openapi.json
