Spotify 17 min read

7 best Spotify scrapers in 2026

A candid comparison of seven ways to collect public Spotify tracks, artists, albums, playlists, podcasts, play counts, and exports.

by
Decision matrix comparing seven Spotify scraper options by data surface and operating model

The short answer

For a developer who wants public Spotify search, artist, track, album, playlist, and podcast data without maintaining Spotify app credentials or browser code, ScrapeCreators is the best practical default. I run ScrapeCreators, so that recommendation is not neutral. Spotify’s official Web API is better when you qualify for its access model and need an official integration. S-Music is simpler for a one-off spreadsheet. SpotifyScraper is the strongest self-hosted Python option in this list.

Do not choose from the word “scraper” alone. A playlist exporter, an artist monitoring job, a track play-count lookup, and an audio downloader are four different products. This comparison covers public metadata, not ripping songs. Product and price claims were checked on September 24, 2026.

Define the data before picking a tool

A Spotify URL can point to several objects. Each one needs a different input and output.

JobInputUseful outputCommon trap
Search the catalogQuery textMixed artists, tracks, albums, playlists, podcasts, and episodesSearch relevance is not a complete catalog export
Track lookupTrack ID or URLName, artists, duration, album, share URL, and sometimes play countThe official API does not expose every public-web metric
Artist monitoringArtist ID or URLProfile, followers, releases, related artists, and top tracksA current total is not a historical time series
Playlist exportPlaylist ID or URL plus cursorPlaylist metadata and ordered track pagesThe first 50 tracks may not be the full playlist
Podcast researchShow ID or URLPublisher, rating, topics, and paginated episodesSpotify calls podcasts “shows” in parts of its official API
Audio collectionA song or episodeAudio file or streamMetadata access does not grant download or redistribution rights

The last row is the boundary that most search results blur. If your actual goal is an MP3 downloader, this list is not a recommendation to bypass Spotify’s playback or rights controls. If you need public metadata for research, enrichment, monitoring, or an internal dashboard, keep reading.

Comparison table

The price units below are intentionally different. A result, page load, vendor credit, and self-hosted request are not interchangeable.

OptionBest forSpotify coveragePublished starting pointMain catch
ScrapeCreatorsHosted structured JSON across several Spotify objectsSearch, artist, track, album, playlist, podcast, and podcast episodes$47 for 25,000 pay-as-you-go credits; the eight live checks for this article charged 1 credit eachNo audio downloading, and route fields differ by object
Spotify Web APIOfficial integrations and user-authorized appsOfficial catalog and approved user data endpointsNo public per-call feeDevelopment mode currently requires Premium for the owner and allows up to five authenticated users
ApifyTeams already using Actors and datasetsReviewed Actor accepts track, album, or artist URLs$5 per 1,000 resultsStore page was marked under maintenance and does not advertise playlist or podcast input
Bright DataCustom, high-volume page extractionThe scraper builder can target Spotify pages and fieldsSpotify page advertises 5,000 page loads per month for freeIt is a scraper builder, not a fixed Spotify response contract
SpotifyScraper for PythonDevelopers who want an open-source local libraryTracks, albums, artists, playlists, podcasts, lyrics, search, and moreMIT-licensed package; vendor fee is $0You own hosting, retries, breakage, and policy review
S-Music ScraperManual browser exports and page monitoringTracks, playlists, artists, albums, user profiles, lyrics, and discographyChrome listing does not show a public priceBrowser workflow is awkward for a backend or scheduled production job
ScrapingBeeCustom extraction with managed browsers and proxiesTrack, artist, and playlist pages through general scraping tools$19/month for 75,000 API credits; 1,000 free credits advertisedJavaScript and proxy options use different credit amounts, and you own the schema

Decision matrix comparing seven Spotify scraper options by data surface and operating model

1. ScrapeCreators

ScrapeCreators’ Spotify API is my pick when the application needs ready JSON for several Spotify object types under one API key. The current catalog has separate routes for:

That object-specific design matters. You do not have to send a page to a generic extraction model and hope it labels the right fields. A playlist response has tracks, cursor, and totalCount. A track response has fields such as duration, artists, and playcount when Spotify exposes it through the source used by the route.

The pricing section currently lists 25,000 credits for $47 and 500,000 for $497. Credits do not expire. Each Spotify request I ran for this article charged one credit, but check the route documentation before assuming all ScrapeCreators endpoints cost the same.

Choose ScrapeCreators if you need a hosted API, named fields, and several Spotify object types. Choose something else if you want to download audio, need official user authorization, or prefer to run the retrieval code yourself.

2. Spotify Web API

Spotify’s official Web API should be the first option you assess, not an afterthought. It is the right fit when you need an official application, user consent, or a documented Spotify contract and can work within the current access rules.

Those rules are tighter than many old tutorials suggest. Spotify says newly created apps start in development mode. The app owner must currently have Spotify Premium. Up to five authenticated users can use the app, and each must be added to the allowlist. Extended quota applications are now limited to organizations and list requirements that include an active launched service and at least 250,000 monthly active users.

Rate limits are also dynamic. Spotify documents a rolling 30-second window and tells clients to honor Retry-After on a 429 response. That is manageable, but it belongs in your engineering estimate.

Choose the official API when official access, OAuth, and user-specific actions are central to the product. It is less attractive for a small internal tool that only needs public metadata and cannot meet the extended-quota requirements. Read Spotify’s developer policy before storing data, computing derived metrics, or using content commercially.

3. Apify

Apify is a marketplace of Actors, not one Spotify product. The strongest relevant Apify page in the live US search was the community Spotify Scraper from Web_scraper.

Its store page says it accepts public Spotify track, album, or artist URLs and returns structured metadata. The advertised fields include play counts, artist followers, top tracks, album relationships, durations, and artwork. Pricing is $5 per 1,000 results.

There are two catches. First, the store page was marked “Under maintenance” when checked. Its public Actor API reported 45 runs in the prior 30 days, with three successful and 42 failed. That is a point-in-time store statistic, not a controlled benchmark, but it is a reason to run your own sample before adopting it. Second, the documented input does not cover the full Spotify surface in this comparison. Playlist and podcast workflows need another Actor or tool.

Choose Apify if you already schedule Actors, store data in datasets, and only need track, album, or artist URLs. Review the exact Actor, recent status, example output, and pricing event before you build around it. I reviewed the public page and Actor metadata. I did not run the paid Actor.

4. Bright Data

Bright Data’s Spotify scraper page presents a scraper builder rather than a fixed Spotify API. You describe the data, preview the generated scraper, and deploy it as an endpoint. Bright Data handles rendering, blocking, retries, and proxy infrastructure.

That is useful when a fixed vendor schema omits a field that is visible on a public Spotify page. It also means your team must define the extraction and validate it over time. “We can scrape Spotify” does not tell you whether playlists paginate correctly, whether a public count is present, or whether the same schema works across tracks and podcasts.

The page advertises 5,000 page loads per month for free and says no credit card is required. It does not publish one simple Spotify result price on the page I reviewed.

Choose Bright Data if you want managed browser infrastructure and custom fields at larger scale. Pick a Spotify-specific API if stable named JSON is more important than extraction flexibility.

5. SpotifyScraper for Python

SpotifyScraper is the best self-hosted option in this list for a Python team. The project says it reads public Spotify pages without official API credentials and supports tracks, albums, artists, playlists, podcasts, lyrics, search, charts, and more. It has synchronous and asynchronous clients, typed models, a command-line interface, and an MCP server.

The repository was active when checked, with version 3.9.2 on PyPI, Python 3.10 or newer required, an MIT license, 309 GitHub stars, and a commit six days before this review. Those numbers can change, but they are better maintenance signals than an abandoned code snippet.

Open source does not mean zero cost. You still own execution, rate control, caching, tests, source changes, and incident response. You also need to review Spotify’s policy for your use case rather than assuming a public page is unrestricted.

Choose SpotifyScraper when your team wants local control and can maintain Python infrastructure. Choose a hosted API when retrieving Spotify data is plumbing, not the product you want to operate.

6. S-Music Scraper

S-Music Scraper is the easiest option here for a person who wants a file, not an API. The Chrome extension lists tracks, playlists, artists, albums, profiles, lyrics, and discography data. It exports CSV, XLSX, JSON, HTML tables, and raw JSON. It also advertises automatic pagination, batch processing, and page-change monitoring.

The workflow is visible in a short track-export walkthrough: open Spotify, run the extension, scroll or automate collection, customize fields, then export. That is much easier than setting up OAuth for a one-time spreadsheet.

The tradeoff is automation. A browser extension tied to an interactive Spotify page is not the contract I would choose for a backend, queue worker, or daily data pipeline. The Chrome listing showed 446 users and two ratings when checked, and it did not show a public price in the page text I could verify.

Choose S-Music for manual research and ad hoc exports. Do not treat a convenient browser export as a production API.

7. ScrapingBee

ScrapingBee’s Spotify page is aimed at custom retrieval. It can return rendered HTML or structured JSON from track, artist, and playlist pages. The product handles headless browsers and proxy rotation, while you choose CSS/XPath rules or AI extraction.

That flexibility is the reason to buy it. It is also the work that remains on your side. You own field names, pagination, response validation, and repairs when Spotify’s page changes. A general browser API is useful when you need one odd field. It is a poor substitute for a stable domain-specific schema if all you wanted was a track object.

Current general pricing starts at $19 per month for 75,000 API credits. The page offers 1,000 free credits. Do not divide plan price by credits and call that a request rate. JavaScript rendering, premium proxies, and other request modes can spend different credit amounts.

Choose ScrapingBee if your requirement is “render this public Spotify page and extract my fields.” Choose ScrapeCreators or the official API when you want Spotify objects rather than page extraction.

What buyers actually ask for

The phrase “Spotify scraper” is noisier than the product need. I searched YouTube, Reddit, TikTok, and LinkedIn for the primary query and three close variants before writing this comparison.

The useful YouTube discussions were specific. Viewers asked how to collect playlist track URIs, poll artist numbers daily, export play counts, find UPCs, get audio features, and handle playlists longer than one page. Several people also asked for artist emails or audio downloads, neither of which a normal metadata response should promise. A playlist API walkthrough showed the common 50-item page boundary. A monthly-listener workflow showed why people often want scheduled snapshots rather than one lookup.

Reddit threads added two practical concerns: official API access changes and 429 rate limits. They also mixed metadata collection with music piracy. This article separates those jobs on purpose.

TikTok and LinkedIn searches returned rows, but they were much noisier than YouTube and Reddit. I used them as audience research, not proof of demand or ranking potential. The recurring lesson was simple: decide whether you need current metadata, a historical series, a manual export, or actual audio before comparing vendors.

How to choose

Use these questions in order.

1. Do you need official user access?

Use Spotify’s Web API if your app acts for a Spotify user, needs official authorization, and fits the current quota model. Do not route around OAuth with a scraper just because an old tutorial makes it look easier.

2. Do you want objects or pages?

Use ScrapeCreators or the official API when you want tracks, artists, albums, playlists, or podcasts as named objects. Use Bright Data or ScrapingBee when you want to retrieve a page and define your own extraction. Use S-Music when a human wants a file.

3. Who owns maintenance?

A hosted Spotify API owns more retrieval logic. An Actor packages a job inside Apify. A general scraper API owns browsers and proxies but leaves extraction with you. An open-source library gives you control and the maintenance pager.

4. What is the paid unit?

Billing modelCost formula to modelOptions here
Per request or vendor creditRequests × route credits × credit priceScrapeCreators
Per resultReturned results × result priceReviewed Apify Actor
Page loads or browser creditsPages × rendering/proxy multiplier × retriesBright Data, ScrapingBee
Software plus infrastructureCompute + proxies + engineering + failuresSpotifyScraper
Official accessEngineering + review + OAuth operationsSpotify Web API
Manual exportOperator time + any extension planS-Music

Run the same representative sample before estimating a month. Include a 150-track playlist, a missing object, a podcast with hundreds of episodes, and whatever field matters most to the product.

If you are weighing a broader hosted API against browser infrastructure, my guides to social media scraping APIs and why browser automation becomes expensive cover that layer choice in more detail.

Real request and output

This request fetches one public Spotify track by ID:

curl --get "https://api.scrapecreators.com/v1/spotify/track" \
  --data-urlencode "id=1ITJflybJsfarsUtiBvkfK" \
  -H "x-api-key: $SCRAPE_CREATORS_API_KEY"

The live response on September 24, 2026 included this excerpt:

{
  "success": true,
  "credits_charged": 1,
  "id": "1ITJflybJsfarsUtiBvkfK",
  "name": "Shoulda Never (feat. USHER)",
  "duration": {
    "totalMilliseconds": 186112
  },
  "playcount": 21670228
}

Play counts move. Store the track ID and collection timestamp if you are building a history. Do not present one response as a lifetime record that will never change.

For a playlist, keep following the numeric cursor until it is absent:

const playlistId = "37i9dQZF1DX4UtSsGT1Sbe";
let cursor;
const tracks = [];

do {
  const params = new URLSearchParams({ id: playlistId });
  if (cursor !== undefined) params.set("cursor", String(cursor));

  const page = await fetch(
    `https://api.scrapecreators.com/v1/spotify/playlist?${params}`,
    { headers: { "x-api-key": process.env.SCRAPE_CREATORS_API_KEY } },
  ).then((response) => response.json());

  tracks.push(...page.tracks);
  cursor = page.cursor ?? undefined;
} while (cursor !== undefined);

console.log(tracks.length);

My first two live pages for the “All Out 80s” playlist each returned 50 tracks. Their track IDs had no overlap. The response reported totalCount: 150, so stopping after the first page would have silently dropped two-thirds of the playlist.

What I verified

I called ScrapeCreators because it is the product I can verify directly. I reviewed the other options through their current public product pages, documentation, package metadata, and pricing pages. I did not run paid competitor tools, so this is not a success-rate benchmark.

Live ScrapeCreators checkResultUseful output
Search for Radiohead200, 1 credit20 artists, 20 tracks, 20 playlists, 20 podcasts, and 20 episodes in the mixed response
Artist 4Z8W4fKeB5YxbusRsdQVPb200, 1 creditRadiohead profile and 17,179,589 followers at collection time
Track 1ITJflybJsfarsUtiBvkfK200, 1 creditTrack metadata, 186,112 ms duration, and 21,670,228 plays at collection time
Album 0pgrg7phBbnwGJ2HBEl9EG200, 1 creditAlbum metadata and three track rows
Playlist, page 1200, 1 credit50 tracks, cursor 50, total count 150
Playlist, page 2200, 1 credit50 more tracks, cursor 100, no ID overlap with page 1
Podcast 3mliji9352UAk3XnWElnDV200, 1 creditShow metadata, publisher, topics, and rating data
Podcast episodes200, 1 credit50 episodes, cursor 50, total count 904

These are reproducible point-in-time checks, not a claim that every Spotify URL will always return every field. Public counts and catalogs change. Region, content availability, and object type can change the response.

Limitations

No option here makes Spotify data consequence-free.

  • Public metadata is not permission to copy or redistribute recordings.
  • A current follower or play count is not a historical dataset. Poll and timestamp it if the policy and your use case allow that.
  • Search results do not prove catalog completeness.
  • A playlist owner can edit or remove tracks between pages.
  • Lyrics, preview URLs, artwork, and audio-related fields can carry separate rights and availability rules.
  • Spotify and third-party products can change endpoints, policies, prices, and access requirements after the verification date.

If your product depends on one specific field, verify that field with several real inputs before buying volume. If it depends on Spotify user authorization, start with the official API. If it only needs public objects under one key, try the Spotify API or start with the free credits.

FAQ

What is the best Spotify scraper in 2026?

ScrapeCreators is the best practical default for hosted JSON across search, tracks, artists, albums, playlists, and podcasts. Spotify’s official Web API is better for approved user-authorized apps. S-Music is easier for a manual export, and SpotifyScraper is better when a Python team wants to own the runtime.

Can I scrape Spotify play counts?

Sometimes. The ScrapeCreators track check above returned playcount, and the reviewed Apify Actor advertises play counts. Spotify’s official Web API does not expose a general lifetime stream-count field for each track. Test the exact track type you need before building around that metric.

Does Spotify have an official API?

Yes. New apps currently start in development mode. Spotify says the owner needs Premium, up to five authenticated users can be allowlisted, and extended quota requests are limited to eligible organizations.

Can a Spotify scraper download songs?

Do not assume it can or should. This comparison covers public metadata. A metadata response does not grant rights to download, copy, or redistribute audio.

Is Apify or ScrapeCreators better for Spotify?

ScrapeCreators is the broader ready-JSON choice in this comparison. The reviewed Apify Actor is a focused URL-to-dataset tool for tracks, albums, and artists. Apify is reasonable if that Actor fits and your stack already runs on Apify, but its maintenance notice and recent run statistics deserve a real trial first.

How much does a Spotify scraper cost?

ScrapeCreators lists 25,000 pay-as-you-go credits for $47. The reviewed Apify Actor lists $5 per 1,000 results. ScrapingBee starts at $19 per month for 75,000 API credits. Bright Data advertises 5,000 free page loads per month on its Spotify page. Open-source software trades a vendor fee for infrastructure and maintenance. Verify the current unit before estimating cost.

FAQ

Frequently asked
questions

Can't find what you're looking for? Email us.

Adrian Horning

Written by

Adrian Horning

Founder of ScrapeCreators

Connect

ScrapeCreatorsScrapeCreators
Social Media Scraping API
for Developers

Real-time data from TikTok, Instagram, YouTube, X, Facebook, Reddit, and more.

Real-time Data

Fresh, accurate, always up-to-date.

No Proxies

We handle the infrastructure.

Developer First

Simple API. Powerful results.

TikTok logoInstagram logoYouTube logoX logoFacebook logoReddit logo
{200 OK
"platform": "youtube",
"type": "video",
"title": "Never Gonna Give You Up",
"views": 12504321,
"transcript": "We're no strangers to love...",
}
Success124ms
Purple gift box representing 100 free ScrapeCreators credits
Get 100 credits on us - instantly.

No credit card required. Start building for free.

Try the API, on us.

New developers get 100 free credits automatically when they sign up. No credit card required.

Get started free
Trusted by 10,000+ developers
99.9% uptime
Secure API access