Better Fetch

Spotify Scraper

Search Spotify or retrieve public artist, track, album, podcast, and podcast episode data without a developer token.

Mediav0.3.2~1 credit/runSource on GitHub

Workspace

Configure

Inputs stay here while results become exportable artifacts.

Start from an example

Public open.spotify.com artist, track, album, or show URL.

Spotify operation. Entity type is inferred from url when omitted; search and podcast_episodes must be explicit.

Public catalogue search query. Required in search mode.

Spotify entity id. Use together with mode when url is omitted.

Maximum normalized search results to return.

Sign in and run
~1 credit/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.

modecountquerytitlewidthheightresultsepisodes

Overview

Spotify Scraper searches Spotify's public web catalogue, normalizes public oEmbed responses for four entity types, and extracts the initial public episode page from a podcast show. It returns canonical ids, URLs, titles, thumbnails, embed data, search results, or normalized episode metadata without requiring a Spotify developer application or user login.

Last validated: Jul 15, 2026

Input

urlstring (uri)

Public open.spotify.com artist, track, album, or show URL.

mode"artist" | "track" | "album" | "podcast" | "podcast_episodes" | "search"

Spotify operation. Entity type is inferred from url when omitted; search and podcast_episodes must be explicit.

querystring

Public catalogue search query. Required in search mode.

spotify_idstring

Spotify entity id. Use together with mode when url is omitted.

max_resultsintegerdefault: 25

Maximum normalized search results to return.

Output

modestringrequired

Resolved Spotify entity type

countinteger

Number of normalized search results

querystring

Resolved search query

titlestringrequired

Public entity title

widthinteger

Recommended embed width

heightinteger

Recommended embed height

resultsobject[]

Deduplicated public Spotify search results

episodesobject[]

Public podcast episodes available in the server-rendered show page

embed_htmlstring

Official Spotify embed markup

embed_typestring

Spotify oEmbed response type

iframe_urlstring

Official Spotify embed iframe URL

source_urlstringrequired

Spotify oEmbed endpoint fetched

spotify_idstringrequired

Spotify entity id

next_cursorinteger

Next public episode offset reported by Spotify

spotify_urlstringrequired

Canonical public Spotify URL

thumbnail_urlstring

Public thumbnail URL

total_episodesinteger

Total episode count reported by Spotify

thumbnail_widthinteger

Thumbnail width in pixels

thumbnail_heightinteger

Thumbnail height in pixels

Examples

spotify-artist

{
  "url": "https://open.spotify.com/artist/4dpARuHxo51G3z768sgnrY"
}

spotify-track

{
  "url": "https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT"
}

spotify-album

{
  "url": "https://open.spotify.com/album/1azUkThwd2HfUDdeNeT147"
}

spotify-podcast

{
  "url": "https://open.spotify.com/show/2MAi0BvDc6GTFvKFPXnkCL"
}

spotify-podcast-episodes

{
  "url": "https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk",
  "mode": "podcast_episodes"
}

spotify-search

{
  "mode": "search",
  "query": "OpenAI",
  "max_results": 10
}

Use cases

Catalogue enrichment

Resolve pasted Spotify links into stable ids, titles, thumbnails, and entity types.

Media embeds

Collect Spotify's official iframe URL and embed markup for public playback surfaces.

Agent link inspection

Let an agent identify a Spotify artist, album, track, or podcast from one public URL.

Catalogue search

Find public tracks, artists, albums, playlists, podcasts, and episodes from one query.

FAQ

Does this require a Spotify API token?

No. It uses Spotify's public oEmbed endpoint and the public server-rendered podcast page.

Which Spotify URLs are supported?

Public artist, track, album, and show URLs are supported. Use search mode with a query to search the public catalogue, or podcast_episodes mode with a show URL to return its initial public episode listing.

Does it return private listening data?

No. It does not authenticate a Spotify user and cannot access private libraries, history, or account data.

Use it anywhere

MCP (Claude, ChatGPT, Codex)

# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "Spotify Scraper"
2. Call run_tool with:
   name: "spotify_scraper"
   input: {"url":"https://open.spotify.com/artist/4dpARuHxo51G3z768sgnrY"}

REST

curl -sS -X POST "https://betterfetch.co/api/tools/spotify_scraper/run" \
  -H "Authorization: Bearer bf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"input": {"url":"https://open.spotify.com/artist/4dpARuHxo51G3z768sgnrY"}}'

Run locally

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