Scrape data from Spotify

The Spotify web player shows the song data you might want in a sheet, the tracks in a playlist, an artist's releases, a search result. A bot can read it off the page for you, no copying by hand. There are three ways to start, with no code, with code, or with a Claude skill.

What I mean by scraping Spotify


Scraping Spotify means a bot reads the song information off the web player into a sheet. The tracks in a playlist with their artists and durations, the albums on an artist page, the results of a search. Point it at the page you want and it reads the visible rows, so a playlist or a catalogue becomes clean data you can sort and work with.

The API is genuinely good here


Be honest about the easy path first. Spotify has a proper Web API, well documented and free for metadata, and for clean track, artist, and playlist data it is the right tool. If you are pulling a lot of structured song info, learn the API.

The browser route is for the gaps. When you do not want to set up credentials for a one-off pull, when you need exactly what the web player shows, or when a quick scrape beats writing code against an endpoint. For pulling a whole discography in particular, there is a dedicated walkthrough at scrape Spotify discography. Same song info, a different door, useful when the API is more setup than the job is worth.

Who this is for


This is for anyone who wants song data without the developer setup. A music writer pulling a playlist into a spreadsheet, a researcher gathering release dates, someone cataloguing an artist's work. You can read code or not, it does not matter here. No-coders and coders both, since you can build it without code and drop into code when you want.

How I'd approach it


Check the API first, since for plain metadata it is usually cleaner. If it does not fit, open the web player to the page you want, the playlist, the artist, the search, and have the bot read the visible rows into a sheet. Scroll slowly so everything loads, and take only what you need.

API if it fits, the page if it does not, read what is visible. I would lay out the first draft with Build with description.

Scrape Spotify from a description


Describe the page in plain words in the Chrome extension and it builds the steps for you. Give it a few short lines, check what it made, and run it. Explore no-code.

To the right is an example. Describe the page and the fields you want, and the AI lays out the steps.

Chrome extension
Describe your automation

Instructions

  • Open the playlist on the web player35 / 500
  • Scroll down to load every track31 / 500
  • Scrape the track, artist, and album of each row47 / 500
  • Write the rows to a Google Sheet32 / 500
  • Move to the next playlist25 / 500

Scrape Spotify in code


Build with code. You do not have to write the script by hand. Describe the scrape to our Claude skill and it generates a ready-to-run Node script you own, then debugs it with you, fixing a selector that stopped matching or a step that stalls, until the run is clean. Prefer to write it yourself? Explore the code tool. Either way, the script looks like this.

These are axiom's step functions, the same step library that powers the no-code builder, available as code. Describe the scrape to the Claude skill and it generates and debugs this script for you. It runs on our cloud Chromium, with nothing to manage.

Generate it with the Claude skill
spotify.js
1import { AxiomApi } from "axiom-api";2 3const axiom = new AxiomApi(process.env.AXIOM_API_KEY);4 5await axiom.browserOpen();6try {7  await axiom.goto("https://open.spotify.com/playlist/your-playlist");8  const tracks = await axiom.scrape("[data-testid='tracklist-row'] a[href*='/track/']");9  console.log(tracks); // write these to your sheet10} finally {11  await axiom.browserClose();12}13 

Build with a Claude skill

Build no-code or code bots with a skill.

Add the Claude skill and describe the song data you want. It builds the scraper for you, no-code or code, reading the web player into a sheet.

Claude building a Spotify scraper from a description

What can you scrape?


Most of what the web player shows. A couple of cases worth knowing first.

Works well

  • Track, artist, and album names
  • Playlists and search results
  • An artist's releases
  • Release dates and durations
  • A list of pages from a sheet

Harder

  • Audio features the API exposes but the page does not
  • Very large catalogues in one run
  • Content behind your login

Don't try

  • Downloading audio or ripping tracks
  • High-volume scraping against the terms
  • Reselling Spotify's data

What I'd watch out for


The web player is a polished, lazy-loading app, so a few things trip up a scraper. Here is what I would watch for.

Try the API first

Spotify's Web API gives clean metadata without scraping, and for structured data it is usually less work. Reach for the browser when the API does not fit or the setup is not worth it.

Let the page load

The player fills in as you scroll. Wait for the rows to appear, and scroll if you need more, before reading, or you will catch a half-loaded page.

Stay on metadata

Read the song information, never the audio. Downloading or ripping tracks is off the table.

Pick fields reliably

Spotify changes its markup, so pick what you read with the selector tool and recheck after an update.

"The best investment we've made in our automation workflow. Simple yet powerful."

Jennifer Brown

"Finally, a tool that makes browser automation accessible without compromising on power. Highly recommended!"

Michael Chen

"The support team is amazing, and the product just keeps getting better. Worth every penny."

Emma Davis

"The visual builder is a dream come true. No more writing complex scripts!"

Lisa Anderson

"I was skeptical about no-code automation, but Axiom proved me wrong. It's incredibly powerful."

David Wilson

"Axiom has saved me countless hours. The automation possibilities are endless."

Robert Taylor

"The best browser automation tool I've used. The AI features are game-changing for complex workflows."

Sarah Johnson

Fast to build. Easy to run and scale. Outstanding support.

Start for free. No credit card required.