Spotify Scraper avatar

Spotify Scraper

Pricing

$3.00 / 1,000 results

Go to Apify Store
Spotify Scraper

Spotify Scraper

Scrape any Spotify artist, track, album, playlist, or keyword search — now with play counts, followers, world rank, biography, top cities, and labels from the Partner API. Works on all 180+ Spotify markets: K-pop, J-pop, Latin, Afrobeats, Bollywood, French, German. $3 per 1,000 results.

Pricing

$3.00 / 1,000 results

Rating

0.0

(0)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

9

Monthly active users

6 days ago

Last modified

Categories

Share

Scrape any Spotify artist, track, album, playlist, or keyword search in seconds. One actor, five modes, no Spotify developer app, no login, no proxy setup. Powered by Spotify's internal Partner API, so you get the real numbers other scrapers can't touch: play counts, followers, monthly listeners, world rank, biography, top 5 cities, full discography, album label, and copyright lines.

$3.00 per 1,000 results. No per-run fee. Works on every Spotify market (180+ countries). K-pop 🇰🇷, J-pop 🇯🇵, Latin 🇲🇽🇧🇷🇨🇴, Afrobeats 🇳🇬🇬🇭, Bollywood 🇮🇳, French rap 🇫🇷, German hip-hop 🇩🇪, Arabic 🇸🇦🇦🇪, C-pop 🇨🇳🇹🇼, Russian 🇷🇺 - all in native script.


🎯 Why this scraper (vs. the Spotify Web API or competitor actors)

ConcernSpotify Web APIOther Apify Spotify actorsThis actor
App registrationRequired, manual approval for extended quotaNot neededNot needed
Per-track play count❌ Not exposedPartial (play-count-only actors)✅ Every track
Monthly listeners, world rank, top cities❌ Not available❌ Mostly not available✅ Partner API
popularity, genresDeprecated Feb 2026 (returns stale data)Some still return dead fieldsSkipped on purpose
Audio features (tempo, key, danceability)Locked to pre-Nov-2024 grandfathered appsAvailable on one actor at $5/1KNot included (honestly unavailable)
Number of actors to installN/AOften split into 3 to 6 separate scrapersOne actor, five modes
Per-run start feeN/A$5 on many competitors$0
Price per 1,000 resultsFree (but rate-limited)$3 to $5$3
Locale URLs (intl-ko, intl-ja, etc.)N/AOften breakHandled

The short version: if you want play counts, followers, world rank, and top cities in one actor without juggling app keys or stitching six separate scrapers together, this is built for that.


🌍 Global & multi-language support

Spotify publishes names and metadata in the artist's native script. This scraper returns them untouched - no transliteration, no dropped characters. It handles Hangul, Kanji, Katakana, Hiragana, Simplified and Traditional Chinese, Cyrillic, Arabic, Hebrew, Devanagari, Gurmukhi, Tamil, Thai, Greek, and every other Unicode script Spotify indexes.

Locale URLs supported

Paste any country-prefixed Spotify link, the scraper auto-strips the locale:

  • https://open.spotify.com/intl-ko/artist/... (Korean)
  • https://open.spotify.com/intl-ja/artist/... (Japanese)
  • https://open.spotify.com/intl-de/artist/... (German)
  • https://open.spotify.com/intl-fr/artist/... (French)
  • https://open.spotify.com/intl-es/artist/... (Spanish)
  • https://open.spotify.com/intl-pt/artist/... (Portuguese / Brazilian)
  • https://open.spotify.com/intl-it/artist/... (Italian)
  • https://open.spotify.com/intl-tr/artist/... (Turkish)
  • https://open.spotify.com/intl-ar/artist/... (Arabic)
  • https://open.spotify.com/intl-hi/artist/... (Hindi)
  • ...every other intl-XX/ locale variant

Search accepts any language

{ "mode": "search", "searchTerm": "米津玄師" } // J-pop
{ "mode": "search", "searchTerm": "أم كلثوم" } // Arabic
{ "mode": "search", "searchTerm": "방탄소년단" } // Korean (BTS in Hangul)
{ "mode": "search", "searchTerm": "Bad Bunny" } // Latin
{ "mode": "search", "searchTerm": "Rammstein" } // German

Top artist IDs by region (paste these to try)

RegionArtists & IDs
🇰🇷 K-popBTS 3Nrfpe0tUJi4K4DXYWgMUX · BLACKPINK 41MozSoPIsD1dJM0CLPjZF · Stray Kids 2dIgFjalVxs4ThymZ67YCE · NewJeans 6HvZYsbFfjnjFrWF950C9d · SEVENTEEN 7nqOGRxlXj7N2JYbgNEjYH · TWICE 7n2Ycct7Beij7Dj7meI4X0
🇯🇵 J-popYOASOBI 64tJ2EAv1R6UaZqc4iOCyj · Ado 6mEQK9m2krja6X1cfsAjfl · Kenshi Yonezu 1snhtMLeb2DYoMOcVbb8iB · Official HIGE DANdism 5Vo1hnCRmCM6M4thZCInCj · Aimyon 5kVZa4lFUmAQlBogl1fkd6
🇲🇽🇧🇷🇨🇴 LatinBad Bunny 4q3ewBCX7sLwd24euuV69X · Karol G 790FomKkXshlbRYZFtlgla · Peso Pluma 12GqGscKJx3aE4t07u7eVZ · Feid 2LRoIwlKmHjgvigdNGBHNo · Rauw Alejandro 1mcTU81TzQhprhouKaTkpq · Anitta 7FNnA9vBm6EKceENgCGRMb
🇳🇬🇬🇭🇿🇦 AfrobeatsBurna Boy 3wcj11K77LjEY1PkEazffa · Wizkid 3tVQdUvClmAT7URs9V3rsp · Tyla 3SozjO3Lat463tQICI9LcE · Asake 3a1tBryiczPAZpgoZN9Rzg · Rema 46pWGuE3dSwY3bMMXGBvVS · Davido 0Y3agQaa6g2r0YmHPOO9rh
🇮🇳 Bollywood & IndianArijit Singh 4YRxDV8wJFPHPTeXepOstw · AP Dhillon 6LEG9Ld1aLImEFEVHdWNSB · Diljit Dosanjh 2FKWNmZWDBZR4dE5KX4plR · Shreya Ghoshal 0oOet2f43PA68X5RxKobEy
🇫🇷 FrenchAya Nakamura 7IlRNXHjoOCgEAWN5qYksg · Orelsan 4FpJcNgOvIpSBeJgRg3OfN · PNL 3NH8t45zOTqzlZgBvZRjvB
🇩🇪 GermanApache 207 1qQLhymHXFPtP5U8KNKsm6 · Rammstein 6wWVKhxIU2cEi0K81v7HvP · RAF Camora 0Dvx6p8JDyzeOPGmaCIH1L
🇨🇳🇹🇼 C-popJay Chou 2elBjNSdBE2Y3f0j1mjrql · JJ Lin 7Dx7RhX0mFuXhCOUgB01uM · Jolin Tsai 1r9DuPTHiQ7hnRRZ99B8nL
🇸🇦🇦🇪🇪🇬 Arabic / MENAAmr Diab 5abSRg0xN1NV3gLbuvX24M · Fairuz 0dwFxqYkvZLSA6U6XfQcDV · Elissa 68rvMwPL0yMbYR5cv0pzCR

Every one of these returns the full Partner API field set: monthly listeners, followers, world rank, top 5 cities, biography, top 10 tracks with play counts, related artists, discography counts.


🎵 What data can you extract?

Artist mode

Per-artist record with every demand-side metric Spotify exposes to the public:

  • Monthly listeners (active 30-day)
  • Followers (total)
  • World rank (global position across all artists)
  • Top 5 cities with country, region, per-city listener count
  • Top 10 tracks with exact play counts (the number people actually search for)
  • Related artists (up to ~20 "fans also like")
  • Full discography: album, single, compilation counts; full lists when includeDiscography: true
  • Biography (complete text, in native language), external links (Instagram, Facebook, Wikipedia, TikTok, store URLs)
  • Avatar image

Track mode

  • Play count (exact, to the single play)
  • Artists array - primary and featured, each with Spotify ID + isPrimary flag
  • Album context: ID, name, type (ALBUM / SINGLE / COMPILATION), release date, label, copyright (C and P lines)
  • Track number, content rating (EXPLICIT / NONE)
  • Duration (ms), release date, 30-second preview MP3 URL, cover image

Album mode

  • Name, Spotify ID, album type, label (e.g., "Republic Records"), copyright (C + P)
  • Release date, track count
  • Full track listing - each track with Spotify ID, name, track/disc number, duration, play count, content rating, explicit flag, artists
  • Supports multi-artist albums, not just primary
  • Cover image

Playlist mode

  • Name, Spotify ID, save count (total followers), owner, description, item count
  • Full track listing paginated automatically up to 500 tracks per playlist
  • Per-track: name, artists, album, duration, play count, content rating, addedAt timestamp

Search mode

One request returns tracks + artists + albums + playlists matching the keyword. Accepts any Unicode input.


💰 Pricing

ItemCost
Per result$0.003 (= $3.00 per 1,000 results)
Per run start fee$0
Monthly subscriptionNone
Platform compute~$0.10 to $0.50 per 1,000 results

The Apify Free plan gives every account $5 in usage credits every month, so you can pull roughly 1,666 results for free before paying anything. The $29/month Starter plan stretches to about 9,666 results per month.

Pay-per-use. Pause whenever. One run or ten million, same price per result.


📥 Input

{
"mode": "artist",
"spotifyUrls": [
"https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4",
"spotify:artist:06HL4z0CvFAxyc27GXpf02",
"1Xyo4u8uXC1ZmMpatF05PJ"
],
"maxResults": 5,
"includeDiscography": true
}
FieldTypeDefaultNotes
modestring"artist"One of artist, track, album, playlist, search. Auto-detected from URL if omitted.
spotifyUrlsstring[][]Full URLs, spotify: URIs, or bare 22-character IDs. Used for every mode except search.
searchTermstring""Only used when mode=search. Any Unicode.
maxResultsinteger500 means unlimited.
includeDiscographybooleanfalseArtist mode: include full album/single/popular-release lists instead of just counts.

🧪 Recipes (ready-to-paste)

Get Drake's monthly listeners, world rank, and top cities

{ "mode": "artist", "spotifyUrls": ["3TVXtAsR1Inumwj472S9r4"], "maxResults": 1 }

Pull play count for a specific track

{ "mode": "track", "spotifyUrls": ["https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b"], "maxResults": 1 }

Dump Today's Top Hits with play counts and added-at timestamps

{ "mode": "playlist", "spotifyUrls": ["37i9dQZF1DXcBWIGoYBM5M"], "maxResults": 1 }

Pull every BLACKPINK album with full track listings and labels

{ "mode": "artist", "spotifyUrls": ["41MozSoPIsD1dJM0CLPjZF"], "includeDiscography": true, "maxResults": 1 }

Discovery search in Japanese

{ "mode": "search", "searchTerm": "米津玄師", "maxResults": 10 }

Bulk compare K-pop followers and world rank

{
"mode": "artist",
"spotifyUrls": [
"3Nrfpe0tUJi4K4DXYWgMUX",
"41MozSoPIsD1dJM0CLPjZF",
"6HvZYsbFfjnjFrWF950C9d",
"2dIgFjalVxs4ThymZ67YCE",
"7nqOGRxlXj7N2JYbgNEjYH"
],
"maxResults": 5
}

📤 Output

Artist record (Drake, real values 2026-04-23)

{
"type": "artist",
"spotifyId": "3TVXtAsR1Inumwj472S9r4",
"name": "Drake",
"monthlyListeners": 88887197,
"followers": 109756415,
"worldRank": 9,
"biography": "Aubrey Drake Graham (born October 24, 1986) is a Canadian rapper, singer, and actor...",
"imageUrl": "https://i.scdn.co/image/ab6761610000e5eb...",
"topCities": [
{ "city": "London", "country": "GB", "region": "ENG", "listeners": 1961434 },
{ "city": "Toronto", "country": "CA", "region": "ON", "listeners": 1287104 },
{ "city": "Los Angeles", "country": "US", "region": "CA", "listeners": 1022891 },
{ "city": "New York", "country": "US", "region": "NY", "listeners": 921483 },
{ "city": "Sydney", "country": "AU", "region": "NSW", "listeners": 612775 }
],
"topTracks": [
{ "spotifyId": "1zi7xx7UVEFkmKfv06H8x0", "name": "One Dance", "durationMs": 173986, "playCount": 4181959064, "explicit": false, "previewUrl": "https://p.scdn.co/mp3-preview/..." },
{ "spotifyId": "5mCPDVBb16L4XQwDdbRUpz", "name": "Passionfruit", "durationMs": 298941, "playCount": 2206537432, "explicit": false, "previewUrl": "https://p.scdn.co/mp3-preview/..." }
],
"topTracksCount": 10,
"relatedArtists": [
{ "spotifyId": "1RyvyyTE3xzB2ZywiAwp0i", "name": "Future", "imageUrl": "..." },
{ "spotifyId": "5K4W6rqBFWDnAN6FQUkS6x", "name": "Kanye West", "imageUrl": "..." }
],
"discography": { "albumsCount": 19, "singlesCount": 61, "compilationsCount": null, "albums": [], "singles": [], "popularReleases": [] },
"externalLinks": [],
"spotifyUrl": "https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4",
"dataSource": "partner"
}

Track record (Blinding Lights - 5.38 billion plays)

{
"type": "track",
"spotifyId": "0VjIjW4GlUZAMYd2vXMi3b",
"name": "Blinding Lights",
"artists": [
{ "name": "The Weeknd", "spotifyId": "1Xyo4u8uXC1ZmMpatF05PJ", "isPrimary": true }
],
"album": {
"spotifyId": "4yP0hdKOZPNshxUOjY0cZj",
"name": "After Hours",
"type": "ALBUM",
"releaseDate": "2020-03-20T00:00:00Z",
"label": null,
"copyright": []
},
"durationMs": 200040,
"playCount": 5379788459,
"trackNumber": 9,
"contentRating": "NONE",
"explicit": false,
"previewUrl": "https://p.scdn.co/mp3-preview/...",
"releaseDate": "2020-03-20T00:00:00Z",
"imageUrl": "https://i.scdn.co/image/...",
"spotifyUrl": "https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b",
"dataSource": "partner"
}

Playlist record (Today's Top Hits - 34M saves)

{
"type": "playlist",
"spotifyId": "37i9dQZF1DXcBWIGoYBM5M",
"name": "Today's Top Hits",
"description": "The hottest 50...",
"owner": "Spotify",
"itemCount": 50,
"saveCount": 34361871,
"tracks": [
{
"spotifyId": "...",
"name": "DAISIES",
"artists": [{ "name": "Justin Bieber", "spotifyId": "1uNFoZAHBGtllmzznpCI3s" }],
"album": { "spotifyId": "...", "name": "SWAG", "releaseDate": "2025-06-20" },
"durationMs": 200000,
"playCount": 693387695,
"contentRating": "NONE",
"addedAt": "2025-07-11T04:00:32.382Z"
}
],
"imageUrl": "https://i.scdn.co/image/...",
"spotifyUrl": "https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M",
"dataSource": "partner"
}

Search record (query "drake")

{
"type": "search",
"query": "drake",
"tracks": [{ "spotifyId": "6DCZcSspjsKoFjzjrWoCdn", "name": "God's Plan", "artists": ["Drake"], "album": "Scorpion", "durationMs": 198973, "spotifyUrl": "..." }],
"artists": [{ "spotifyId": "3TVXtAsR1Inumwj472S9r4", "name": "Drake", "imageUrl": "...", "spotifyUrl": "..." }],
"albums": [{ "spotifyId": "...", "name": "Take Care (Deluxe)", "artist": "Drake", "albumType": "ALBUM", "imageUrl": "...", "spotifyUrl": "..." }],
"playlists": [{ "spotifyId": "...", "name": "BEST OF DRAKE", "owner": "Spotify", "description": "...", "imageUrl": "...", "spotifyUrl": "..." }],
"dataSource": "partner"
}

Field availability by mode

Fieldartisttrackalbumplaylistsearch
name, spotifyId, spotifyUrl, imageUrl
monthlyListeners, followers, worldRank, biography, topCities----
topTracks, relatedArtists, discography, externalLinks----
playCount, trackNumber, contentRating, previewUrl(top tracks)✅ (per track)✅ (per track)-
discNumber--✅ (per track)--
album, artists, durationMs, releaseDate, explicit--✅ (per track)
albumType, label, copyright, trackCount, tracks-(album obj)--
saveCount, owner, description, itemCount, addedAt----
tracks, artists, albums, playlists, query (grouped results)----

⚡ Performance & reliability

  • HTTP-only. No browser, no Playwright, no Puppeteer. A single artist finishes in 2 to 5 seconds. A batch of 500 finishes in a few minutes on default memory.
  • Partner API with embed fallback. If Spotify's Partner API rejects a token or rate-limits, the actor auto-refreshes tokens, retries once, and falls back to the embed + Googlebot SEO path for that entity. Runs don't die mid-batch. The dataSource field on every record tells you which path produced the data ("partner" or "embed").
  • Zero-result runs don't charge. If you paste a bad URL, a deleted artist, or a private playlist, that specific entity logs a warning and you're billed $0 for it.
  • Budget-limit safe. The actor checks eventChargeLimitReached after every charge. If your account credit runs out mid-run, it stops cleanly instead of failing.

💼 Use cases

  1. K-pop analytics 🇰🇷 - BTS, BLACKPINK, NewJeans, Stray Kids, SEVENTEEN, TWICE, ATEEZ. Monthly listeners, world rank, top cities for fandom mapping, per-song play counts.
  2. J-pop & anime OST pipeline 🇯🇵 - YOASOBI, Ado, Kenshi Yonezu, Official HIGE DANdism, Aimyon. Release calendars for anime content sites.
  3. Latin music trend tracking 🇲🇽🇧🇷🇨🇴 - Bad Bunny, Karol G, Peso Pluma, Feid, Rauw Alejandro, Anitta. Reggaeton, corridos tumbados, funk carioca.
  4. Afrobeats discovery 🇳🇬🇬🇭🇿🇦 - Burna Boy, Wizkid, Davido, Tyla, Asake, Rema. Top cities (Lagos, Accra, London) and regional chart data.
  5. Bollywood & Indian music 🇮🇳 - Arijit Singh, AP Dhillon, Diljit Dosanjh, Shreya Ghoshal. Hindi, Punjabi, Tamil, Telugu catalogs in native script.
  6. Editorial playlist monitoring - Today's Top Hits, RapCaviar, Viva Latino, Tomorrow's Hits. Track save counts and per-track play movement daily.
  7. Artist catalog audit - Pull every album + single + compilation for a roster, full track listings, labels, copyright for rights workflows.
  8. A&R and sync licensing - Surface breakout artists in any language market before they chart globally. Cover art, release dates, labels for clearance.
  9. Competitor benchmarking - Compare followers, monthly listeners, world rank, top cities across a label's roster or a DSP playlist.
  10. Music market research dashboards - Feed monthly listener + follower trends into Looker, Tableau, Metabase.
  11. Regional chart scraping - Daily Top 50 per country (France, Japan, Brazil, Germany, Korea, Mexico), Viral 50, Global Top 50, RADAR editorial lists.
  12. European markets 🇫🇷🇩🇪🇮🇹🇪🇸 - French rap, German hip-hop, Italian pop, Spanish flamenco-pop. Native-script names preserved.
  13. C-pop & Chinese markets 🇨🇳🇹🇼🇭🇰 - Simplified and Traditional Chinese names for CMN-language analytics.
  14. Arabic music research 🇸🇦🇦🇪🇪🇬 - MENA artists, Khaleeji, Egyptian pop, Rai in Arabic script.
  15. Newsletter / content automation - Push Spotify metadata into Google Sheets, Airtable, Webflow, Ghost, or a webhook-driven pipeline.

🔗 Other scrapers you might like

Apple Podcast ScraperGoogle Play Store ScraperApple App Store Scraper
Threads ScraperShopify ScraperSimilarWeb Traffic Scraper

❓ Frequently asked questions

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data that falls under GDPR or CCPA without a lawful basis. This actor only hits publicly accessible Spotify pages - the same pages a logged-out visitor sees in a browser. You're responsible for how you use the output. Apify has a detailed breakdown: Is web scraping legal?.

How does it compare to Spotify's official Web API?

The official Web API requires you to register a developer app, manage OAuth, handle rate limits, and live with deprecations (popularity and genres were killed Feb 2026). It also doesn't expose per-track play counts, monthly listeners, world rank, or top cities. This actor gives you those fields without app registration or OAuth. The tradeoff: no ISRC, UPC, or audio_features - those live behind the official API (and audio_features is locked to pre-Nov-2024 apps anyway).

Why are popularity, genres, and audio features missing?

popularity (0-100) and genres were deprecated by Spotify in Feb 2026. Any actor still returning them hands you stale or random numbers. audio_features (tempo, key, danceability, valence, energy) is locked behind Spotify's grandfathered app quota - new apps literally can't hit that endpoint. I'd rather ship nothing than fake it.

ISRC and UPC?

Not today. Both require a registered Spotify developer app on the official Web API. The plan is to add an opt-in flag in Q2 2026 that bundles 2 to 3 rotating dev apps so ISRC / UPC can be enriched on demand. Follow the Issues tab for the ship date.

Does it work on K-pop, J-pop, Arabic, Hindi, and other non-Latin scripts?

Yes. Names come back in whatever script Spotify publishes - Hangul, Kanji, Cyrillic, Arabic, Devanagari, Thai, Hebrew, Simplified and Traditional Chinese. intl-ko/, intl-ja/, intl-de/, intl-ar/, and every other locale prefix is accepted. BTS (3Nrfpe0tUJi4K4DXYWgMUX), BLACKPINK (41MozSoPIsD1dJM0CLPjZF), Arijit Singh (4YRxDV8wJFPHPTeXepOstw), and Amr Diab (5abSRg0xN1NV3gLbuvX24M) all return the full Partner API field set.

What happens on bad URLs, deleted artists, or private playlists?

The run succeeds with zero results for that specific URL plus a warning line in the log. You're billed $0 for failed lookups. No run-level failures on user input mistakes.

Can I integrate it with other tools?

Push results straight into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and any webhook consumer. The Apify platform treats every actor as a webhook source. See Apify integrations.

Can I use it with the Apify API?

Yes. Minimal start-run call:

curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~spotify-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"artist","spotifyUrls":["3TVXtAsR1Inumwj472S9r4"],"maxResults":1}'

Full docs: Apify API reference.

Can I use it through an MCP server (Claude Desktop, Cursor)?

Yes. Apify ships an MCP server that exposes every actor as a tool. Setup: Apify MCP docs.

How fast is it?

2 to 5 seconds per entity at default memory (512 MB). A batch of 500 artists finishes in a few minutes. Playlists of up to 500 tracks paginate automatically in a single run.

What's the rate limit?

None you have to manage. The actor handles sequential pacing + token refresh internally. No Spotify API quota to track, no 429s to retry, no OAuth to babysit.


🗳️ Your feedback

Ran into a bug, want a new field, or need a different market covered? Drop a note in the Issues tab. Every report goes to a human and fixes usually ship the same week.