Spotify Scraper
Pricing
$3.00 / 1,000 results
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
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)
| Concern | Spotify Web API | Other Apify Spotify actors | This actor |
|---|---|---|---|
| App registration | Required, manual approval for extended quota | Not needed | Not needed |
| Per-track play count | ❌ Not exposed | Partial (play-count-only actors) | ✅ Every track |
| Monthly listeners, world rank, top cities | ❌ Not available | ❌ Mostly not available | ✅ Partner API |
popularity, genres | Deprecated Feb 2026 (returns stale data) | Some still return dead fields | Skipped on purpose |
| Audio features (tempo, key, danceability) | Locked to pre-Nov-2024 grandfathered apps | Available on one actor at $5/1K | Not included (honestly unavailable) |
| Number of actors to install | N/A | Often split into 3 to 6 separate scrapers | One actor, five modes |
| Per-run start fee | N/A | $5 on many competitors | $0 |
| Price per 1,000 results | Free (but rate-limited) | $3 to $5 | $3 |
Locale URLs (intl-ko, intl-ja, etc.) | N/A | Often break | Handled |
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)
| Region | Artists & IDs |
|---|---|
| 🇰🇷 K-pop | BTS 3Nrfpe0tUJi4K4DXYWgMUX · BLACKPINK 41MozSoPIsD1dJM0CLPjZF · Stray Kids 2dIgFjalVxs4ThymZ67YCE · NewJeans 6HvZYsbFfjnjFrWF950C9d · SEVENTEEN 7nqOGRxlXj7N2JYbgNEjYH · TWICE 7n2Ycct7Beij7Dj7meI4X0 |
| 🇯🇵 J-pop | YOASOBI 64tJ2EAv1R6UaZqc4iOCyj · Ado 6mEQK9m2krja6X1cfsAjfl · Kenshi Yonezu 1snhtMLeb2DYoMOcVbb8iB · Official HIGE DANdism 5Vo1hnCRmCM6M4thZCInCj · Aimyon 5kVZa4lFUmAQlBogl1fkd6 |
| 🇲🇽🇧🇷🇨🇴 Latin | Bad Bunny 4q3ewBCX7sLwd24euuV69X · Karol G 790FomKkXshlbRYZFtlgla · Peso Pluma 12GqGscKJx3aE4t07u7eVZ · Feid 2LRoIwlKmHjgvigdNGBHNo · Rauw Alejandro 1mcTU81TzQhprhouKaTkpq · Anitta 7FNnA9vBm6EKceENgCGRMb |
| 🇳🇬🇬🇭🇿🇦 Afrobeats | Burna Boy 3wcj11K77LjEY1PkEazffa · Wizkid 3tVQdUvClmAT7URs9V3rsp · Tyla 3SozjO3Lat463tQICI9LcE · Asake 3a1tBryiczPAZpgoZN9Rzg · Rema 46pWGuE3dSwY3bMMXGBvVS · Davido 0Y3agQaa6g2r0YmHPOO9rh |
| 🇮🇳 Bollywood & Indian | Arijit Singh 4YRxDV8wJFPHPTeXepOstw · AP Dhillon 6LEG9Ld1aLImEFEVHdWNSB · Diljit Dosanjh 2FKWNmZWDBZR4dE5KX4plR · Shreya Ghoshal 0oOet2f43PA68X5RxKobEy |
| 🇫🇷 French | Aya Nakamura 7IlRNXHjoOCgEAWN5qYksg · Orelsan 4FpJcNgOvIpSBeJgRg3OfN · PNL 3NH8t45zOTqzlZgBvZRjvB |
| 🇩🇪 German | Apache 207 1qQLhymHXFPtP5U8KNKsm6 · Rammstein 6wWVKhxIU2cEi0K81v7HvP · RAF Camora 0Dvx6p8JDyzeOPGmaCIH1L |
| 🇨🇳🇹🇼 C-pop | Jay Chou 2elBjNSdBE2Y3f0j1mjrql · JJ Lin 7Dx7RhX0mFuXhCOUgB01uM · Jolin Tsai 1r9DuPTHiQ7hnRRZ99B8nL |
| 🇸🇦🇦🇪🇪🇬 Arabic / MENA | Amr 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 +
isPrimaryflag - 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,
addedAttimestamp
Search mode
One request returns tracks + artists + albums + playlists matching the keyword. Accepts any Unicode input.
💰 Pricing
| Item | Cost |
|---|---|
| Per result | $0.003 (= $3.00 per 1,000 results) |
| Per run start fee | $0 |
| Monthly subscription | None |
| 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}
| Field | Type | Default | Notes |
|---|---|---|---|
mode | string | "artist" | One of artist, track, album, playlist, search. Auto-detected from URL if omitted. |
spotifyUrls | string[] | [] | Full URLs, spotify: URIs, or bare 22-character IDs. Used for every mode except search. |
searchTerm | string | "" | Only used when mode=search. Any Unicode. |
maxResults | integer | 50 | 0 means unlimited. |
includeDiscography | boolean | false | Artist 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
| Field | artist | track | album | playlist | search |
|---|---|---|---|---|---|
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
dataSourcefield 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
eventChargeLimitReachedafter every charge. If your account credit runs out mid-run, it stops cleanly instead of failing.
💼 Use cases
- K-pop analytics 🇰🇷 - BTS, BLACKPINK, NewJeans, Stray Kids, SEVENTEEN, TWICE, ATEEZ. Monthly listeners, world rank, top cities for fandom mapping, per-song play counts.
- J-pop & anime OST pipeline 🇯🇵 - YOASOBI, Ado, Kenshi Yonezu, Official HIGE DANdism, Aimyon. Release calendars for anime content sites.
- Latin music trend tracking 🇲🇽🇧🇷🇨🇴 - Bad Bunny, Karol G, Peso Pluma, Feid, Rauw Alejandro, Anitta. Reggaeton, corridos tumbados, funk carioca.
- Afrobeats discovery 🇳🇬🇬🇭🇿🇦 - Burna Boy, Wizkid, Davido, Tyla, Asake, Rema. Top cities (Lagos, Accra, London) and regional chart data.
- Bollywood & Indian music 🇮🇳 - Arijit Singh, AP Dhillon, Diljit Dosanjh, Shreya Ghoshal. Hindi, Punjabi, Tamil, Telugu catalogs in native script.
- Editorial playlist monitoring - Today's Top Hits, RapCaviar, Viva Latino, Tomorrow's Hits. Track save counts and per-track play movement daily.
- Artist catalog audit - Pull every album + single + compilation for a roster, full track listings, labels, copyright for rights workflows.
- A&R and sync licensing - Surface breakout artists in any language market before they chart globally. Cover art, release dates, labels for clearance.
- Competitor benchmarking - Compare followers, monthly listeners, world rank, top cities across a label's roster or a DSP playlist.
- Music market research dashboards - Feed monthly listener + follower trends into Looker, Tableau, Metabase.
- Regional chart scraping - Daily Top 50 per country (France, Japan, Brazil, Germany, Korea, Mexico), Viral 50, Global Top 50, RADAR editorial lists.
- European markets 🇫🇷🇩🇪🇮🇹🇪🇸 - French rap, German hip-hop, Italian pop, Spanish flamenco-pop. Native-script names preserved.
- C-pop & Chinese markets 🇨🇳🇹🇼🇭🇰 - Simplified and Traditional Chinese names for CMN-language analytics.
- Arabic music research 🇸🇦🇦🇪🇪🇬 - MENA artists, Khaleeji, Egyptian pop, Rai in Arabic script.
- Newsletter / content automation - Push Spotify metadata into Google Sheets, Airtable, Webflow, Ghost, or a webhook-driven pipeline.
🔗 Other scrapers you might like
| Apple Podcast Scraper | Google Play Store Scraper | Apple App Store Scraper |
| Threads Scraper | Shopify Scraper | SimilarWeb Traffic Scraper |
❓ Frequently asked questions
Is it legal to scrape Spotify?
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.