
Spotify Scraper
hipersoft/spotify-scraper
Search Spotify and scrape public metadata for tracks, artists, albums and playlists: names, artists, popularity, followers, genres, release dates, duration, ISRC, preview URL and more. No Spotify login or API key required. For music research, catalogs and analytics.
Total users
9Monthly users
1Total runs
478Per item scraped
$0.0034Last rebuilt
Oct 28, 2026Overview
Search Spotify and pull clean, structured JSON for tracks, artists, albums and playlists in one run. No Spotify login or API key to set up — authentication is handled automatically. Reliable for music research, catalog building and analytics, with a residential proxy rotated per request by default to stay ahead of IP rate limits.

Features
- 🎼 Four types at once —
searchTypeaccepts any mix oftrack,artist,albumandplaylist. - 🔍 Multi-keyword search — pass several terms in
searches; each is queried independently and de-duplicated. - 🎤 Artist & track detail — artist records carry
verifiedstatus and image; tracks includeartists,album,durationMsandexplicit. - 💿 Album metadata —
albumType, contributingartistsandreleaseDateper album. - 📝 Playlists —
owner, cleaneddescriptionand coverimage. - 🔁 Automatic auth — no keys to manage; a residential proxy rotates per request.
- 🧱 Flat, normalized JSON — consistent field names across every entity type.
What you get

One flat JSON record per item. Example track:
{
"type": "track",
"id": "0DiWol3AO6WpXZgp0goxAV",
"name": "One More Time",
"artists": ["Daft Punk"],
"album": "Discovery",
"albumId": "2noRn2Aes5aoNVsU6iWThc",
"durationMs": 320357,
"explicit": false,
"image": "https://i.scdn.co/image/ab67616d00001e02....",
"url": "https://open.spotify.com/track/0DiWol3AO6WpXZgp0goxAV"
}
Output schema
Fields are shared across item types where they apply; type-specific fields are noted.
| Field | Type | Description |
|---|---|---|
type |
string | Item type: track, artist, album, or playlist. |
id |
string | Spotify ID of the item. |
name |
string | Name of the track, artist, album, or playlist. |
artists |
array | Artist names on the track or album. |
album |
string | Album name the track appears on (track). |
albumId |
string | Spotify ID of the track's album (track). |
albumType |
string | Album category, e.g. album, single, compilation (album). |
durationMs |
integer | Track length in milliseconds (track). |
explicit |
boolean | Whether the track is marked explicit (track). |
releaseDate |
string | Album release date (album). |
verified |
boolean | Whether the artist profile is verified (artist). |
owner |
string | Playlist owner name (playlist). |
description |
string | Playlist description (playlist). |
image |
string (URL) | Cover art or profile image URL. |
url |
string (URL) | Open Spotify link to the item. |
Input
{
"searches": ["daft punk", "lofi beats"],
"searchType": ["track", "artist", "album", "playlist"],
"maxItemsPerSearch": 20
}
| Field | Description |
|---|---|
searches |
Keywords to search on Spotify, one per line. |
searchType |
Which item types to return: any mix of track, artist, album, playlist. |
maxItemsPerSearch |
Results per selected type, per search term (1–50). |
proxyConfiguration |
Proxy settings; residential proxy is used and rotated per request by default. |
Use cases
- Build a music catalog spanning tracks, artists, albums and playlists.
- Research an artist's catalog and verify official profiles.
- Discover playlists around a theme and capture owner and cover art.
- Feed clean track/artist metadata into recommendation or analytics pipelines.
Pricing
Pay-per-event: you're billed a small amount per run and per item scraped — you only pay for what you get. See the Pricing tab for current rates.
FAQ
Do I need a Spotify account or API key? No. There is no login and no developer API key to configure — authentication is handled automatically.
How many items can I get per run?
You control volume with maxItemsPerSearch (1–50), applied per selected type per search term. Pass multiple keywords in searches to scale a single run across many queries.
Can I download songs or audio? No. This Actor returns public metadata only — track, artist, album and playlist details. It does not download audio streams or any DRM-protected content.
What's the output format? Flat, normalized JSON with one record per item, and consistent field names across tracks, artists, albums and playlists. You can export it as JSON, CSV, or Excel from the dataset.
Can I search for artists, albums and playlists too, not just tracks?
Yes. Set searchType to any mix of track, artist, album and playlist, and each selected type is queried and returned in the same run.
Can I integrate this with other tools? The Spotify Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Building a music dataset? Pair this with our other music and media scrapers:
- SoundCloud Scraper — tracks, artists and playlists with play counts, likes and followers.
- Deezer Scraper — tracks, artists, albums, playlists and global top charts with ISRCs.
- Discogs Scraper — vinyl, CD and digital releases with marketplace prices and community stats.
- Apple Podcasts Scraper — podcast shows and episodes with RSS feeds and artwork.
Notes
This Actor reads the public Spotify web player and returns public metadata only — no audio streams or DRM-protected content. Not affiliated with, endorsed by, or connected to Spotify; all trademarks belong to their respective owners.
Input
| Field | Type | Description |
|---|---|---|
searchesSearch terms | array | Keywords to search on Spotify (e.g. "daft punk", "lofi beats"), one per line. |
searchTypeSearch for | array | Which item types to return. Default: ["track", "artist", "album", "playlist"] |
maxItemsPerSearchMax items per type per search | integer | Results per selected type, per search term (up to 50). Default: 20 |
proxyConfigurationProxy | object | Proxy configuration. Leave the default — it is tuned for reliable results. Default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~spotify-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searches": [
"daft punk"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/spotify-scraper").call(run_input={
"searches": [
"daft punk"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/spotify-scraper').call({
"searches": [
"daft punk"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Item scraped One track, artist, album or playlist with full metadata | $0.0034 | $0.0017 |
| API request One Spotify pathfinder API request (token handshakes + one search) | $0.001 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Website Contact Scraper
Extract business emails, phone numbers and social media profiles from any list of websites. De-obfuscates emails, reads Organization schema, and optionally crawls contact/about pages. Bulk-ready.
1,576 runs · 69 users · $0.0024 / website scrapedThreads Downloader
Download Threads photos, videos and carousel posts by URL. Paste threads.net or threads.com links and get ready-to-use download links plus direct media URLs, a thumbnail, media type and count — one row per URL as JSON, CSV or Excel. Cheap, bulk, built for creators and n8n.
799 runs · 4 users · $0.003 / post downloadedTikTok Video Downloader
Download TikTok videos without watermark in bulk. Paste video or photo-slideshow URLs and get a clean HD MP4 download link plus full metadata: caption, author, play/like/comment/share counts, sound and cover — one row per post as JSON, CSV or Excel. For creators, research and n8n.
678 runs · 9 users · $0.0035 / video downloadedReddit Scraper
Scrape Reddit posts and comments by subreddit, keyword, author or thread URL. Get titles, self-text, scores, upvote ratio, comment counts, comment trees and permalinks — one clean row per post or comment. Export as JSON, CSV or Excel.
568 runs · 15 users · $0.0034 / post scrapedReddit Video, Image & GIF Downloader
Download Reddit videos, images and GIFs by post URL. Paste reddit.com or redd.it links and get ready-to-use download links — videos as a single playable MP4 with audio, images and galleries as direct links — one row per URL as JSON, CSV or Excel. Cheap, bulk, built for creators and n8n.
453 runs · 16 users · $0.003 / item scrapedYouTube Scraper
All-in-one YouTube API: get video metadata, full transcripts, comments with replies, channel data, and search results in a single call. No setup, fast and cheap.
350 runs · 52 users · $0.0032 / video scrapedSend the site and the fields. We build it and you get it first.