Better Fetch

SoundCloud Scraper

Retrieve public SoundCloud artist or track metadata, or list an artist's public tracks, without a private developer token.

Mediav0.2.0~3 credits/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Public SoundCloud artist or track URL.

Entity type. Inferred from url when omitted, except artist_tracks must be explicit.

Opaque SoundCloud artist-track cursor from a previous response.

Artist handle when url is omitted.

Sign in and run
~3 credits/run10 runs/minute

Results

Preview, inspect, copy, or export the complete output.

Your result will become an artifact

Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.

modecounttitlewidthheighttracksartist_idauthor_url

Overview

SoundCloud Scraper converts a public artist or track URL into normalized public oEmbed metadata and can list public artist tracks through the anonymous client contract exposed by SoundCloud's page. It returns creator, artwork, engagement, timing, and embed data without a SoundCloud account or private API token.

Last validated: Jul 15, 2026

Input

urlstring (uri)

Public SoundCloud artist or track URL.

mode"artist" | "artist_tracks" | "track"

Entity type. Inferred from url when omitted, except artist_tracks must be explicit.

cursorstring

Opaque SoundCloud artist-track cursor from a previous response.

handlestring

Artist handle when url is omitted.

max_resultsintegerdefault: 20

Output

modestringrequired

Resolved SoundCloud entity type

countinteger

Number of tracks returned

titlestringrequired

Public entity title

widthinteger

Recommended embed width

heightinteger

Recommended embed height

tracksobject[]

Normalized public SoundCloud tracks

artist_idinteger

Public SoundCloud artist id

author_urlstring

Creator profile URL

embed_htmlstring

Official SoundCloud embed markup

embed_typestring

SoundCloud oEmbed response type

source_urlstringrequired

SoundCloud oEmbed endpoint fetched

author_namestring

Creator name

descriptionstring

Public description

next_cursorstring

Cursor for the next public track listing page

thumbnail_urlstring

Public artwork URL

soundcloud_urlstringrequired

Canonical public SoundCloud URL

Examples

soundcloud-artist

{
  "url": "https://soundcloud.com/forss"
}

soundcloud-track

{
  "url": "https://soundcloud.com/forss/flickermood"
}

soundcloud-artist-tracks

{
  "mode": "artist_tracks",
  "handle": "kehlanimusic",
  "max_results": 5
}

Use cases

Audio catalogue enrichment

Resolve SoundCloud links into clean creator, title, description, and artwork fields.

Public embeds

Collect SoundCloud's official player markup for a creator or track.

Agent link inspection

Let an agent identify and summarize a pasted public SoundCloud URL.

FAQ

Does this need a SoundCloud API key?

No private key. Embed modes use public oEmbed; artist_tracks uses the anonymous client id SoundCloud publishes in its public profile page.

How is artist mode detected?

A profile-root URL resolves to artist mode; a URL with a second path segment resolves to track mode.

Does it access private tracks?

No. Only metadata that SoundCloud exposes through its public embed endpoint is returned.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "SoundCloud Scraper"
2. Call run_tool with:
   name: "soundcloud_scraper"
   input: {"url":"https://soundcloud.com/forss"}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/soundcloud_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"url":"https://soundcloud.com/forss"}}'

Run locally

git clone https://github.com/better-fetch/tools/tree/main/tools/soundcloud-scraper && cd soundcloud-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"url":"https://soundcloud.com/forss"}'