Spotify Scraper
Search Spotify or retrieve public artist, track, album, podcast, and podcast episode data without a developer token.
Workspace
Configure
Inputs stay here while results become exportable artifacts.
Start from an example
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.
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.
querystringPublic catalogue search query. Required in search mode.
spotify_idstringSpotify entity id. Use together with mode when url is omitted.
max_resultsintegerdefault: 25Maximum normalized search results to return.
Output
modestringrequiredResolved Spotify entity type
countintegerNumber of normalized search results
querystringResolved search query
titlestringrequiredPublic entity title
widthintegerRecommended embed width
heightintegerRecommended embed height
resultsobject[]Deduplicated public Spotify search results
episodesobject[]Public podcast episodes available in the server-rendered show page
embed_htmlstringOfficial Spotify embed markup
embed_typestringSpotify oEmbed response type
iframe_urlstringOfficial Spotify embed iframe URL
source_urlstringrequiredSpotify oEmbed endpoint fetched
spotify_idstringrequiredSpotify entity id
next_cursorintegerNext public episode offset reported by Spotify
spotify_urlstringrequiredCanonical public Spotify URL
thumbnail_urlstringPublic thumbnail URL
total_episodesintegerTotal episode count reported by Spotify
thumbnail_widthintegerThumbnail width in pixels
thumbnail_heightintegerThumbnail 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
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"}'