Spotify Profile Scraper
Pricing
from $0.01 / 1,000 results
Go to Apify Store
Spotify Profile Scraper
Scrape public Spotify user profiles to extract usernames, avatars, follower counts, recently played artists, top artists, and public playlists. No OAuth required.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

Paco Nassa
Maintained by Community
Actor stats
0
Bookmarked
4
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
An Apify actor that scrapes public Spotify profile data including username, avatar, recently played artists, top artists, and public playlists.
Features
- Scrapes public Spotify user profiles
- Extracts username, avatar, follower/following counts
- Gets recently played artists (if user has enabled this)
- Gets top artists this month (if visible)
- Lists public playlists
- Handles anti-bot detection with residential proxies
- Returns data availability flags to know what was accessible
Input
{"profileUrls": ["https://open.spotify.com/user/spotify"],"maxArtistsToFetch": 50,"includePlaylistDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
profileUrls | array | required | List of Spotify profile URLs to scrape |
maxArtistsToFetch | number | 50 | Max artists to fetch per profile |
includePlaylistDetails | boolean | false | Include detailed playlist info |
proxyConfiguration | object | Apify Residential | Proxy settings |
maxRequestRetries | number | 3 | Max retries for failed requests |
requestHandlerTimeoutSecs | number | 60 | Timeout per page in seconds |
Output
{"userId": "spotify","profileUrl": "https://open.spotify.com/user/spotify","username": "Spotify","avatarUrl": "https://i.scdn.co/image/...","followerCount": 1234567,"followingCount": 42,"recentlyPlayedArtists": [{"name": "Artist Name","spotifyUrl": "https://open.spotify.com/artist/xxx","spotifyId": "xxx","imageUrl": "https://..."}],"topArtistsThisMonth": [...],"publicPlaylists": [{"name": "Playlist Name","spotifyUrl": "https://open.spotify.com/playlist/xxx","spotifyId": "xxx","trackCount": 50,"imageUrl": "https://...","description": null}],"scrapedAt": "2025-12-11T12:00:00.000Z","dataAvailability": {"recentlyPlayedPublic": true,"topArtistsPublic": false,"playlistsPublic": true,"followersPublic": true},"error": null}
Data Availability
Not all data is available for all profiles:
- recentlyPlayedPublic: User must enable "Show recently played artists on your public profile" in Spotify settings
- topArtistsPublic: Visible on the web profile if the user has listening history
- playlistsPublic: Only public playlists are visible
- followersPublic: Follower/following counts may be hidden by user
Usage via API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('paco_nassa/spotify-profile-scraper').call({profileUrls: ['https://open.spotify.com/user/spotify'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Limitations
- Cannot access private listening history (recently played, top tracks) without OAuth
- Data availability depends on user's privacy settings
- Spotify may change their HTML structure, requiring selector updates
- Rate limiting may apply for large volumes
Troubleshooting
No data returned
- Check if the profile exists and is public
- Check
dataAvailabilityflags to see what's accessible - User may have privacy settings enabled
Blocked by Spotify
- Ensure residential proxies are being used
- Reduce request rate
- Check for CAPTCHA challenges