Spotify Preview URL Scraper
Pricing
$4.00 / 1,000 tracks
Spotify Preview URL Scraper
Get 30-second MP3 preview URLs for any Spotify track β even where the official Spotify Web API returns preview_url: null. Bulk track URLs or IDs in, direct audio preview links out. No Spotify developer account or API credentials needed. Export as JSON, CSV, or Excel.
Pricing
$4.00 / 1,000 tracks
Rating
0.0
(0)
Developer
Beat Analytics
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Spotify Preview URL Scraper - Get 30-Second MP3 Preview URLs Even When preview_url Is Null
Spotify removed preview URLs from its Web API, and for most developers the preview_url field now comes back null on every track. Spotify Preview URL Scraper gives you those links back: paste in any Spotify track URL (or a bulk list of them) and get the direct 30-second MP3 preview URL for each one. No Spotify developer account, no API keys, no OAuth - just track URLs in, playable audio preview links out.
It is maintained, so there is nothing for you to host, patch, or babysit when Spotify changes its markup.
Why is preview_url null in the Spotify API?
On November 27, 2024, Spotify changed the Web API so that the preview_url field is no longer populated for apps created after that date. If you register a new Spotify application today, every track you look up returns "preview_url": null - for tracks, for albums, for playlists, everywhere. Spotify has confirmed this is intentional and permanent, not a bug, and there is no setting or scope that turns it back on.
That left a lot of Heardle clones, music-quiz games, discovery apps, and audio-ML pipelines suddenly broken. The 30-second preview clips still exist and still play inside Spotify's own web player and embeds; they are just no longer handed to you through the official API.
Spotify Preview URL Scraper reads those preview URLs directly, so you get the same https://p.scdn.co/mp3-preview/... links you used to get from the API, without an API key and without the field ever being null again.
Why use this Spotify preview URL scraper?
- π§ Gets the preview URL even when the Spotify API returns
preview_url: null- the exact links missing from the official Web API since the 2024 deprecation - π No Spotify developer account or API credentials needed - no client ID, no client secret, no OAuth, no app registration
- π¦ Bulk input - drop in one track or thousands of track URLs / IDs in a single run
- πΈ Pay per result, no subscription - no monthly fee and no per-run start fee; you pay only for the preview URLs you get back
- π οΈ Nothing to host or maintain - no self-hosted script that silently breaks the next time Spotify changes its page markup
- π΅ Direct, playable MP3 links - each result is a ready-to-use
p.scdn.co30-second preview clip you can stream, download, or feed into your app - π€ Export anywhere - download results as JSON, CSV, Excel, XML, or HTML, or pull them straight from the Apify API
What data can you extract with the Spotify Preview URL Scraper?
For every track you provide, the scraper returns:
| Field | Type | Description |
|---|---|---|
trackUrl | string | Canonical Spotify track URL (https://open.spotify.com/track/...) |
trackId | string | Spotify track ID (the 22-character base62 ID) |
previewUrl | string | Direct 30-second MP3 audio preview URL (https://p.scdn.co/mp3-preview/...) |
The previewUrl is a standard MP3 file you can play in an <audio> tag, download, or process however you like.
How to scrape Spotify preview URLs
You don't need any coding experience to get started:
- Create a free Apify account - sign up at apify.com; no credit card required, and new accounts include free usage credits.
- Open the Spotify Preview URL Scraper - from the Apify Store, click Try for free.
- Add your tracks - paste one or more Spotify track URLs into Track URLs (or paste bare 22-character track IDs into Track IDs). You can add thousands at once.
- Click Start - the scraper fetches the preview URL for each track in parallel.
- Download your results - export the dataset as JSON, CSV, or Excel, or grab it from the Apify API.
Input parameters
| Parameter | Field | Type | Description |
|---|---|---|---|
| Track URLs | trackUrls | array | Spotify track URLs to get preview URLs for. Supports full URLs (open.spotify.com/track/...) and track URIs (spotify:track:...). |
| Track IDs | trackIds | array | Spotify track IDs (the 22-character ID from a track URL). Use instead of or in addition to Track URLs. |
Provide at least one track URL or track ID. Duplicate tracks (whether supplied as a URL or an ID) are automatically deduplicated, so you're never charged twice for the same track.
Example input:
{"trackUrls": [{ "url": "https://open.spotify.com/track/2x8evxqUlF0eRabbW2JBJd" },{ "url": "https://open.spotify.com/track/4uLU6hMCjMI75M1A2tKUQC" }],"trackIds": ["3z8h0TU7ReDPLIbEnYhWZb"]}
Output example
Each track produces one dataset record like this:
{"trackUrl": "https://open.spotify.com/track/2x8evxqUlF0eRabbW2JBJd","trackId": "2x8evxqUlF0eRabbW2JBJd","previewUrl": "https://p.scdn.co/mp3-preview/5d554321da6089f449862bf515d63fe3f80829f9"}
Results are available the moment the run finishes, and Apify exports the whole dataset in every common format automatically - JSON, CSV, Excel, XML, and HTML - or streams it through the Apify API into your own systems.
How much does it cost to scrape Spotify preview URLs?
$4.00 per 1,000 preview URLs - each track you successfully get a preview URL for counts as one result. Getting preview URLs for 250 tracks costs $1.00. There is no per-run start fee: you pay purely for results, and tracks with no available preview are skipped free of charge.
Every new Apify account includes $5 in free credits, enough to pull over 1,200 preview URLs at no cost. Enterprise plans with custom pricing and dedicated support are available; contact sales@beatanalytics.org for details.
Use cases for Spotify preview URLs
- Song-guessing and Heardle-style games - power the audio round of a music quiz with the 30-second clips your app lost when Spotify deprecated the API field
- Music discovery apps - let users preview tracks before they open them in Spotify, with real playable audio instead of dead
nullfields - Snippet players and preview widgets - embed short, licensed audio previews on artist pages, blogs, or playlist widgets
- Audio-ML and research datasets - collect preview clips in bulk as training or evaluation data for genre classification, audio fingerprinting, mood detection, and similar models
- Playlist preview tools - generate a scrollable, playable preview reel for an entire playlist or catalog
- Music catalog and metadata enrichment - backfill preview links into a catalog whose Spotify API integration now returns
null
Integrations and API access
Spotify Preview URL Scraper runs on the Apify platform, so you can call it programmatically and wire its output into thousands of external tools.
Python
Use the Apify Python SDK to run the scraper and retrieve preview URLs programmatically:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"trackUrls": [{"url": "https://open.spotify.com/track/2x8evxqUlF0eRabbW2JBJd"},{"url": "https://open.spotify.com/track/4uLU6hMCjMI75M1A2tKUQC"},],}run = client.actor("beatanalytics/spotify-preview-url-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['trackId']} -> {item['previewUrl']}")
JavaScript / Node.js
Use the Apify JavaScript SDK to integrate preview URL scraping into your Node.js app:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("beatanalytics/spotify-preview-url-scraper").call({trackIds: ["2x8evxqUlF0eRabbW2JBJd", "4uLU6hMCjMI75M1A2tKUQC"],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.trackId} -> ${item.previewUrl}`);});
No-code integrations
Connect Spotify Preview URL Scraper to thousands of apps without writing code:
- Make (formerly Integromat) - trigger a workflow whenever new preview URLs are scraped, or schedule recurring runs
- Zapier - push preview URLs into Google Sheets, Airtable, databases, and 5,000+ other apps
- Webhooks - get an HTTP notification when a run finishes, then process the results in your own backend
- Google Sheets / Amazon S3 / Dropbox - export preview URLs directly to spreadsheets or cloud storage
API endpoints
Every run exposes RESTful API endpoints for accessing results, checking run status, and managing datasets. See the Apify API documentation for the full reference.
Frequently asked questions
Why is preview_url null in the Spotify API?
Because Spotify deprecated it. As of November 27, 2024, the Web API no longer returns preview URLs for newly created apps - preview_url is permanently null for those apps, and Spotify has stated this is intentional. The clips still exist inside Spotify's player; they are just no longer exposed through the official API. This scraper reads them directly, so you get real preview URLs instead of null.
Do I need a Spotify API key or developer account?
No. You don't need a Spotify client ID, client secret, developer account, or OAuth flow of any kind. You provide plain Spotify track URLs (or IDs), and the scraper returns the preview URLs. Everything runs on Apify.
Are Spotify preview URLs deprecated for everyone?
The API field is deprecated for apps created after November 27, 2024, and Spotify has said it won't be brought back. Older apps may still see it for now, but relying on that is risky. This scraper doesn't depend on the API field at all, so it keeps returning preview URLs regardless of when your Spotify app was created, or whether you have one.
What does a preview URL look like?
It's a direct MP3 link on Spotify's CDN, in the form https://p.scdn.co/mp3-preview/<hash>. You can play it in an HTML <audio> element, download it, or feed it into audio processing. It's a standard 30-second MP3 clip.
How long are the preview clips?
Spotify preview clips are 30 seconds long. They're the same short audio snippets Spotify uses in its own web player previews.
What if a track has no preview?
Some tracks genuinely have no preview clip available, usually because of regional or label/licensing restrictions. When a track has no available preview, it is simply skipped and doesn't appear in your results, so you're not charged for it. Every result you do get back has a real, playable preview URL.
Can I get preview URLs for a whole playlist or album at once?
This actor takes track URLs and IDs. To cover a full playlist or album, expand it to its track list first (for example with a playlist/album track scraper), then feed those track URLs in here. Deduplication means overlapping tracks across playlists are only fetched once.
How many tracks can I scrape at once?
There's no fixed limit; you can submit thousands of track URLs or IDs in a single run. Requests are made concurrently, so large batches complete quickly, and you pay per result.
Can I get the actual play counts or stream numbers too?
Yes, but that's a different data point. For real Spotify stream counts and monthly-listener numbers, data the official API also doesn't expose, use the Spotify Play Count Scraper, a sibling actor from the same team.
Is scraping Spotify preview URLs legal?
The scraper accesses publicly available preview clips that Spotify already serves to anyone using its web player and embeds. As with any scraping, you're responsible for how you use the data - review Spotify's terms and your local regulations, and use preview clips in line with applicable licensing. This tool doesn't access any private, paid, or authenticated content.
What input formats are accepted?
Full track URLs (https://open.spotify.com/track/...), Spotify track URIs (spotify:track:...), and bare 22-character track IDs. Mix and match them freely across the Track URLs and Track IDs inputs.
Related actors
Real stream counts, play counts, and monthly-listener numbers that the Spotify Web API doesn't expose, for any artist, album, or track. Pull a catalog's preview URLs here and its play counts there to pair playable audio with popularity data.
Building something that needs more Spotify data? Get in touch - we're expanding the catalog.