This project provides a fast and reliable way to extract music-related data directly from Spotify, including artists, tracks, albums, playlists, users, and lyrics. It solves the challenge of gathering detailed Spotify data at scale while keeping results raw, structured, and ready for downstream applications. The Spotify scraper is ideal for developers, researchers, and analysts needing high-quality music metadata.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Spotify you've just found your team — Let’s Chat. 👆👆
The Spotify Scraper retrieves structured data from Spotify based on IDs, names, URLs, or general search queries. It simplifies the process of collecting music metadata and user-related information by offering clean JSON output and flexible input modes. This tool is built for anyone who needs bulk Spotify data, enriched music insights, or automated catalog retrieval.
- Supports both Get and Search operations for multiple Spotify categories.
- Fetches rich information including discography, stats, visuals, merchandise, and related content.
- Processes multiple keywords with optional batching and delay controls.
- Includes lyric extraction via Musixmatch, with translation support.
- Handles playlist contents, podcast metadata, episodes, users, and more.
| Feature | Description |
|---|---|
| Multi-category Retrieval | Supports tracks, artists, albums, playlists, podcasts, users, lyrics, and more. |
| Dual Process Modes | Offers Get for specific IDs/URLs and Search for general queries. |
| Lyric Extraction | Retrieves lyrics and attempts translation when available. |
| Batch Processing | Handles multiple keywords with controlled concurrency. |
| IP-aware Data | Returns location-based content such as concerts and events. |
| Extensive Metadata | Fetches images, discography details, stats, and related artists. |
| Field Name | Field Description |
|---|---|
| id | Unique Spotify identifier for the entity. |
| uri | Spotify URI for direct access. |
| profile | Includes name, biography, pinned items, and external links. |
| visuals | Images such as avatars, gallery, headers, and color metadata. |
| discography | Albums, compilations, singles, and top tracks. |
| stats | Followers, monthly listeners, world rank, and top cities. |
| relatedContent | Related artists, playlists, appearances, and collaborations. |
| goods | Concerts, events, and merchandise info. |
| lyrics | Lyric data (original or translated) when applicable. |
{
"id": "5a2EaR3hamoenG9rDuVn8j",
"uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j",
"profile": {
"name": "Prince",
"verified": true,
"biography": {
"text": "No artist of the rock & roll era compares to singer..."
}
},
"visuals": {
"avatarImage": {
"sources": [
{ "url": "https://i.scdn.co/image/ab6761610000e5ebeaca358712b3fe4ed9814640" }
]
}
},
"discography": {
"albums": { "totalCount": 55 }
},
"stats": {
"followers": 7566358,
"monthlyListeners": 10755536
}
}
Spotify/
├── src/
│ ├── index.js
│ ├── utils/
│ │ ├── fetchClient.js
│ │ └── parser.js
│ ├── processors/
│ │ ├── artistProcessor.js
│ │ ├── trackProcessor.js
│ │ ├── playlistProcessor.js
│ │ └── lyricsProcessor.js
│ ├── outputs/
│ │ └── saveResults.js
│ └── config/
│ └── settings.example.json
├── data/
│ ├── inputs.sample.json
│ └── sampleOutput.json
├── package.json
└── README.md
- Music analysts use it to gather detailed artist discographies, enabling deeper market insights.
- App developers use it to enrich music apps with accurate metadata, so users enjoy high-quality data.
- Researchers use it to collect large datasets for academic music studies and machine learning models.
- Playlist curators use it to search and retrieve track information quickly for automated playlist generation.
- Marketers use it to analyze artist statistics and event data for campaign targeting.
Q: Can this scraper handle multiple queries at once? Yes. You can submit an array of keywords and adjust the batch size to control concurrency.
Q: What happens if a translation for lyrics is unavailable? The scraper automatically returns the original-language version of the lyrics.
Q: Does this tool require specific IDs for Get mode? Yes. Get mode works best with full Spotify IDs, URLs, or valid names depending on category.
Q: Can I retrieve large playlists or discographies? Yes, but for more than 200 items, performance may vary. Increasing memory and timeout is recommended.
Primary Metric: Average throughput of 15–40 Spotify entities per minute depending on category complexity. Reliability Metric: Achieves a 97% success rate on stable connections and standard batch sizes. Efficiency Metric: Designed to minimize redundant requests, resulting in low bandwidth usage even for frequent runs. Quality Metric: Produces highly complete metadata with over 95% field population for most content types.