Extract public Spotify artist, track, album, playlist, and search metadata without a Spotify API key.
Use this Actor when you need repeatable Spotify metadata for music research, creator analysis, playlist monitoring, catalog enrichment, content workflows, or API-based exports. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.
At a glance
- Spotify URL support: scrape public artists, tracks, albums, playlists, and search URLs.
- Search query input: turn Spotify search terms into metadata rows.
- Music metadata: save IDs, names, descriptions, artists, albums, owners, images, dates, durations, and public counts when visible.
- No API key required: use public Spotify pages without configuring Spotify developer credentials.
- Workflow ready: send rows to spreadsheets, dashboards, AI agents, enrichment jobs, or monitoring automations.
What can it do?
Spotify Scraper turns public Spotify URLs and search queries into structured metadata rows.
- Export Spotify artist, track, album, playlist, and search data from public Spotify pages.
- Collect music-catalog fields such as names, descriptions, IDs, artist names, album names, owner names, images, dates, durations, and counts when visible.
- Build lightweight playlist or catalog monitors by scheduling URLs and comparing saved rows over time.
- Enrich internal music datasets with canonical Spotify URLs, IDs, images, and public metadata.
- Use it as a Spotify metadata API alternative when you need public page data in CSV, JSON, or the Apify Dataset API.
Common workflows
- Music market research: collect public artist, track, album, and playlist metadata for analysis.
- Playlist monitoring: track playlist metadata and public counts over time.
- Catalog enrichment: add Spotify IDs, URLs, images, and release data to internal records.
- Creator and label research: export public artist and track rows around a topic or catalog.
- AI workflows: pass structured Spotify metadata to agents for summaries, classification, or reporting.
What data can you collect?
Each dataset row represents one public Spotify entity or search-generated metadata row.
| Field | Description |
|---|---|
type |
Spotify entity type: artist, album, track, playlist, search, or unknown |
id |
Spotify ID parsed from the URL |
url |
Canonical public Spotify URL |
name |
Public entity name or page title |
description |
Public Spotify description text |
artistNames |
Artist names when visible in public metadata |
albumName |
Album name for tracks when visible |
ownerName |
Playlist owner name when visible |
trackCount |
Album or playlist item count when visible |
monthlyListeners |
Artist monthly listeners when visible |
likes |
Playlist saves or likes when visible |
followers |
Follower counts when visible |
durationMs |
Track duration in milliseconds when available |
releaseDate |
Track or album release date when available |
imageUrl |
Public cover or profile image URL |
explicit |
Whether explicit labeling is visible |
isrc |
ISRC when public metadata exposes it |
searchQuery |
Original search query for query-generated rows |
sourceUrl |
Input URL used for the request |
scrapedAt |
Timestamp when the row was saved |
Example input
{
"startUrls": [
{ "url": "https://open.spotify.com/track/1dGr1c8CrMLDpV6mPbImSI" },
{ "url": "https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M" }
],
"searchQueries": ["taylor swift"],
"maxItems": 20,
"proxyConfiguration": { "useApifyProxy": false }
}
Example output
{
"type": "track",
"id": "1dGr1c8CrMLDpV6mPbImSI",
"url": "https://open.spotify.com/track/1dGr1c8CrMLDpV6mPbImSI",
"name": "Lover",
"description": "Taylor Swift - Lover - Song - 2019",
"artistNames": ["Taylor Swift"],
"albumName": "Lover",
"durationMs": 221000,
"releaseDate": "2019-08-23",
"imageUrl": "https://i.scdn.co/image/...",
"scrapedAt": "2026-07-03T12:00:00.000Z"
}
Tips for best results
- Use direct Spotify URLs for precise rows: search queries are useful for discovery, URLs are better for known entities.
- Start with low
maxItems: confirm that your search terms return the entities you expect. - Keep canonical URLs: use
open.spotify.comURLs when possible. - Schedule monitoring runs: compare repeated outputs for playlist, artist, or catalog changes.
- Use proxies only when needed: the default no-proxy setup is usually enough for public Spotify pages.
Limits and caveats
- The Actor extracts publicly visible Spotify metadata only.
- It does not access private listening data, private playlists, user libraries, or Spotify account-only analytics.
- Some public counts and fields may be hidden, rounded, null, or changed by Spotify.
- It does not stream or download audio.
API usage
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~spotify-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"startUrls":[{"url":"https://open.spotify.com/track/1dGr1c8CrMLDpV6mPbImSI"}],"maxItems":10}'
MCP and AI agents
This Actor can be used through the official Apify MCP server at https://mcp.apify.com.
For a focused single-Actor tool setup, use:
https://mcp.apify.com?tools=fetch_cat/spotify-scraper
Use the same JSON keys shown in the input configuration table, such as startUrls, searchQueries, maxItems, and proxyConfiguration.
Support
If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.
Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.