Spotify Audio Features Scraper avatar

Spotify Audio Features Scraper

Pricing

$3.99 / 1,000 results

Go to Apify Store
Spotify Audio Features Scraper

Spotify Audio Features Scraper

Get Spotify πŸŽ›οΈ Audio Features (tempo, key, energy & more) for any track. βœ… 99% success rate. ⚑ Results in seconds. πŸ“¦ Clean output.

Pricing

$3.99 / 1,000 results

Rating

5.0

(1)

Developer

Musicae

Musicae

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

πŸŽ›οΈ Spotify Audio Features Scraper

Get Spotify audio features for any track, restored after the November 2024 deprecation. Tempo (BPM), key, energy, danceability, valence, acousticness and more, in the exact JSON shape developers already know. A drop-in alternative to Spotify's removed audio-features endpoint.

No Spotify developer account needed. No API key, no OAuth. Just paste URLs, IDs, ISRCs, or search keywords and hit Run.


⚑ Why this scraper?

In November 2024, Spotify removed public access to the audio-features (and audio-analysis) endpoints, breaking countless apps, playlists tools, and ML pipelines. This scraper restores that access: same fields, same value ranges, no migration headache.

  • πŸŽ›οΈ Full audio-features object: tempo, key, mode, time signature, energy, danceability, valence, acousticness, instrumentalness, speechiness, liveness, loudness, duration.
  • πŸ”Œ Drop-in shape: returns the exact audio_features JSON structure Spotify used to serve. Swap the source, keep your code.
  • 🧠 ML embedding (optional): a normalized 12-feature vector per track, ready for similarity search, clustering, and recommendation models.
  • πŸ”€ Flexible input: Spotify URLs, track IDs, ISRCs, or plain search keywords, mix and match freely.
  • πŸ“¦ Clean, bulk output: one row per track as JSON, CSV, or Excel, no rate-limit juggling.

πŸ† How it compares

FeatureThis scraperSpotify Web APIOther scrapers
πŸŽ›οΈ Audio featuresβœ…βŒ Deprecated (Nov 2024)❌ Most can't
πŸ”‘ API key / OAuth required❌ Noneβœ… Required⚠️ Varies
🏷️ ISRC inputβœ…βŒβŒ
πŸ” Search by keywordβœ…βœ…βŒ Most don't
🧠 ML embedding vectorβœ…βŒβŒ
πŸ“¦ Bulk + JSON/CSV/Excelβœ…βš οΈ Manual⚠️ Varies

πŸ“Š What data do you get?

For every track, the full audio-features object plus a minimal track identity:

FeatureDescriptionExample
TempoBPM (beats per minute)122.746
KeyMusical key (0 = C, 1 = C#/Db, ..., 11 = B)2
ModeMajor (1) or Minor (0)1
Time SignatureEstimated time signature4
EnergyIntensity and activity (0.0 to 1.0)0.697
DanceabilityHow suitable for dancing (0.0 to 1.0)0.613
ValenceMusical positivity / mood (0.0 to 1.0)0.476
AcousticnessConfidence the track is acoustic (0.0 to 1.0)0.0194
InstrumentalnessLikelihood of no vocals (0.0 to 1.0)0.0
SpeechinessPresence of spoken words (0.0 to 1.0)0.133
LivenessProbability of a live recording (0.0 to 1.0)0.332
LoudnessOverall loudness in decibels (dB)-8.618
DurationTrack length in milliseconds320357

Each result also includes the track's name, Spotify ID, ISRC, popularity, cover art, URL and URI, plus the standard id, uri, track_href, analysis_url and type fields, so it parses exactly like Spotify's original response.

🧠 ML Embedding (optional)

Enable Include ML Embedding Vector to add a normalized 12-feature vector per track:

"embedding": {
"id": "0DiWol3AO6WpXZgp0goxAV",
"features": ["danceability", "energy", "acousticness", "instrumentalness", "liveness", "speechiness", "valence", "loudness", "tempo", "key", "mode", "time_signature"],
"vector": [0.613, 0.697, 0.0194, 0.0, 0.332, 0.133, 0.476, 0.856367, 0.490984, 0.181818, 1.0, 0.571429]
}

πŸš€ How to use

  1. Enter your tracks: Paste Spotify URLs, track IDs, ISRCs, or keywords in the Tracks field.
  2. Toggle the embedding: Enable the ML vector if you need it for similarity/ML work.
  3. Run: Click Start and get audio features back in seconds.

βš™οΈ Options

OptionDefaultDescription
🧠 Include ML Embedding Vector⬜ OffAdd a normalized 12-feature vector per track
πŸ”’ Max results per keyword10Cap the number of results per search keyword (URL/ID/ISRC always return one)

Input examples

You can mix input types freely:

https://open.spotify.com/track/0DiWol3AO6WpXZgp0goxAV
49X0LAl6faAusYq02PRAY6
GBDUW0000053
Music Sounds Better With You
  • πŸ”— URL: Any open.spotify.com/track/ link
  • πŸ†” ID: The 22-character Spotify track ID
  • 🏷️ ISRC: International Standard Recording Code (e.g. GBDUW0000053)
  • πŸ” Keyword: A search term returning up to 50 results (configurable)

πŸ“€ Output

Each result is a JSON object. Results are pushed to the dataset and saved as individual JSON files in the key-value store (e.g. track_0DiWol3AO6WpXZgp0goxAV.json).

{
"name": "One More Time",
"type": "track",
"url": "https://open.spotify.com/track/0DiWol3AO6WpXZgp0goxAV",
"image": "https://i.scdn.co/image/ab67616d0000b273...",
"success": true,
"result": "1/1",
"mode": "url",
"target": "https://open.spotify.com/track/0DiWol3AO6WpXZgp0goxAV",
"error": null,
"track": {
"track_image": "https://i.scdn.co/image/ab67616d0000b273...",
"track_name": "One More Time",
"track_id": "0DiWol3AO6WpXZgp0goxAV",
"track_url": "https://open.spotify.com/track/0DiWol3AO6WpXZgp0goxAV",
"track_uri": "spotify:track:0DiWol3AO6WpXZgp0goxAV",
"track_isrc": "GBDUW0000053",
"track_popularity": 80
},
"audio_features": {
"acousticness": 0.0194,
"danceability": 0.613,
"energy": 0.697,
"instrumentalness": 0.0,
"liveness": 0.332,
"speechiness": 0.133,
"valence": 0.476,
"loudness": -8.618,
"tempo": 122.746,
"key": 2,
"mode": 1,
"time_signature": 4,
"duration_ms": 320357,
"id": "0DiWol3AO6WpXZgp0goxAV",
"uri": "spotify:track:0DiWol3AO6WpXZgp0goxAV",
"track_href": "https://api.spotify.com/v1/tracks/0DiWol3AO6WpXZgp0goxAV",
"analysis_url": "https://api.spotify.com/v1/audio-analysis/0DiWol3AO6WpXZgp0goxAV",
"type": "audio_features"
}
}

Available as JSON, CSV, Excel, or via the Apify API and dataset exports.


πŸ’‘ Use cases

  • πŸ€– ML & recommendation pipelines: Feed normalized audio features (or the embedding vector) straight into your models.
  • πŸ“Š Music analytics: Compare tempo, energy and valence distributions across catalogs, genres, or playlists.
  • 🎢 Playlist & mood tooling: Build energy- or mood-based playlists from valence/energy/danceability.
  • πŸ“ˆ Trend research: Track how the sonic profile of releases shifts over time.
  • πŸ› οΈ App migration: Restore the audio-features data your app lost when Spotify deprecated the endpoint.
  • πŸŽ“ Academic research: Collect structured audio-feature datasets for musicology or computational analysis.

❓ FAQ

Do I need a Spotify account or API key? No. No developer account, no token, no OAuth, just paste your input and Run.

Spotify deprecated audio features in Nov 2024, how does this still work? This scraper restores access to the same audio-feature data and returns it in Spotify's original audio_features JSON shape, so existing code keeps working.

What can I use as input? Spotify track URLs, 22-character track IDs, ISRCs, or plain search keywords. Mix all four freely in one run.

Is the output the same shape as Spotify's old endpoint? Yes. The audio_features object uses the same field names and value ranges, so it's a drop-in replacement.

What's the ML embedding for? It's a normalized, fixed-order 12-feature vector per track, convenient for similarity search, clustering, and feeding recommendation/ML models without re-normalizing.

How many tracks can I process in one run? As many as you like. Search keywords return up to 50 results each (configurable); URL/ID/ISRC inputs return exactly one each.

What formats can I export? JSON, CSV, Excel, or via the Apify API and dataset exports.


πŸ”Œ Integrations

Connect results to your existing workflow:

  • πŸ“— Google Sheets: Auto-export results to a spreadsheet
  • πŸͺ Webhooks: Trigger downstream actions when a run completes
  • ⚑ Zapier / Make: Plug into 1000+ apps
  • πŸ› οΈ API: Fetch results programmatically from any language
  • πŸ”„ Scheduled runs: Refresh your audio-feature datasets on a schedule