Skip to main content
Thirdwatchthirdwatch
Social media

Harvest 30-Second Preview URLs for a Tracklist

Collect Spotify's 30-second MP3 preview URLs for every track in a playlist or album — ready for audio pipelines.

Sep 16, 2026 · 3 min read · 518 words
See the scraper →

Spotify hosts a free 30-second MP3 for most tracks — it's the cheapest legal audio sample pipeline there is. Thirdwatch's Spotify Scraper reads Spotify's public embed pages — no API key, no OAuth app — and returns structured track rows for playlists, albums, artists, and individual tracks.

Skip the setup: Run this as a ready-to-go task on Apify — pre-loaded with the configuration from this guide.

Why harvest preview URLs

For audio fingerprinting, recommendation demos, or review tooling, a 30-second preview is enough — and Spotify serves them publicly. What's missing is a bulk way to collect the URLs.

Every track row carries previewUrl when the track offers one; a playlist run harvests dozens at once.

The scraper reads the embed surface directly, so a playlist URL in means a full tracklist dataset out.

How does this compare to the alternatives?

Approach Cost model Coverage Effort
Spotify Web API Free tier, OAuth app Full catalog App registration + tokens
Manual playlist export tools Per-export or subscription Playlists only Account auth required
Thirdwatch Spotify Scraper Pay per row Public playlists, albums, artists, tracks Paste a URL, run

Why this Actor

  • No API key or app registration — public embed pages carry the data.
  • One input field accepts playlists, albums, artists and tracks together.
  • Every track row includes a 30-second previewUrl MP3 when available.
  • includeEntityRows adds a container-level summary row for each playlist or album.
  • Pure HTTP and fast — a playlist pull costs a fraction of a cent.

How to do it in 3 steps

Step 1: Configure the input

Set the inputs as shown below — urls takes the targets, Playlist, album, artist and track URLs all work in the same input; maxTracksPerEntity bounds the tracklist size.

Step 2: Run the Actor

Run it from the console, the API, or the linked saved task. One dataset row is written per track.

Step 3: Use the output

Track rows carry artists, album, duration, release date, preview URL and Spotify URI; includeEntityRows adds a summary row per playlist or album.

{
  "urls": [
    "https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"
  ],
  "maxTracksPerEntity": 50
}

Each dataset row looks like:

{
  "title": "Flowers",
  "artists": "Miley Cyrus",
  "parentName": "Today's Top Hits",
  "parentType": "playlist",
  "position": 1,
  "durationSec": 200,
  "isExplicit": false,
  "releaseDate": "2023-01-13",
  "previewUrl": "https://p.scdn.co/mp3-preview/...",
  "spotifyUrl": "https://open.spotify.com/track/...",
  "uri": "spotify:track:..."
}

What to watch for

Play counts and follower numbers aren't available — embed surfaces don't carry them, so playlist-popularity metrics are out of scope. Playlists return roughly the top 50 tracks per entity.

Related use cases

Run the Spotify Scraper on Apify Store — pay per result, free to try, no credit card to test.

Frequently asked questions

Do I need a Spotify API key or developer app?

No — the Actor reads public embed pages, so there is nothing to register or provision.

What entity types work?

Playlists, albums, artists, and individual tracks — all accepted in the same `urls` list.

Do I get play counts or follower numbers?

No — embed pages don't expose them. You get catalog metadata: tracks, artists, durations, release dates, previews.

Is there a playlist size cap?

Embed pages return roughly the first 50 tracks per playlist; `maxTracksPerEntity` controls how many rows you keep.

What's in the preview URL?

A 30-second MP3 preview hosted by Spotify, where the track offers one — handy for audio-fingerprinting or review pipelines.

Does it work for editorial playlists?

Yes — Spotify-curated playlists like Today's Top Hits work the same as user playlists.

Related

Try it yourself

100 free credits, no credit card.

About 30 real searches. Add the MCP to Claude or Cursor in two minutes.