Spotify Profile Scraper avatar
Spotify Profile Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Spotify Profile Scraper

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

Paco Nassa

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

9 days ago

Last modified

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

ParameterTypeDefaultDescription
profileUrlsarrayrequiredList of Spotify profile URLs to scrape
maxArtistsToFetchnumber50Max artists to fetch per profile
includePlaylistDetailsbooleanfalseInclude detailed playlist info
proxyConfigurationobjectApify ResidentialProxy settings
maxRequestRetriesnumber3Max retries for failed requests
requestHandlerTimeoutSecsnumber60Timeout 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 dataAvailability flags 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