spotapi
A sleek API wrapper for Spotify's private API
What it is and what it does
SpotAPI is a Python wrapper that mimics browser requests to Spotify's private and public APIs, allowing you to search for tracks, manage playlists, retrieve album and artist metadata, and perform other Spotify operations without needing an official API key or Premium subscription. It depends on requests, curl_cffi, beautifulsoup4, and several utility libraries to handle HTTP communication, CAPTCHA solving, and session management.
The package is designed for educational purposes and includes both unauthenticated endpoints (e.g., song search) and authenticated workflows that require user credentials. It supports multi-language responses via ISO 639-1 codes and offers session persistence through pluggable savers (JSONSaver, MongoSaver). The description explicitly disclaims responsibility for misuse and notes that accessing private endpoints without authorization may violate Spotify's terms of service.
Use it for:
- Search and retrieve Spotify tracks, albums, and artists without an official API key or Premium account.
- Build a playlist management tool that creates, modifies, and organizes Spotify playlists programmatically.
- Automate music data collection for analysis, research, or personal music library management.
- Integrate Spotify functionality into a Python application where official API access is unavailable or insufficient.
- Prototype or test Spotify integration workflows in an educational or proof-of-concept context.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SpotAPI wraps Spotify's private and public APIs to search, retrieve, and manipulate Spotify data (tracks, playlists, albums, artists) using browser-like requests without requiring an API key or Premium account.
Yes with strong conditions: SpotAPI offers low install friction and active maintenance, but the unclear license declaration (GPL 3.0 mentioned in docs but not formally registered), explicit legal disclaimers about terms-of-service violations, and reliance on private API endpoints create significant risk. Install only if you understand and accept the legal and operational risks, have verified the current license status, and have confirmed that Spotify has not blocked this client. Not suitable for production use without legal review.
Install
spotapi on PyPI
pip
pip install spotapiuv
uv add spotapipoetry
poetry add spotapiInstalling spotapi
Before you install
Low install friction with a pure-Python wheel and nine runtime dependencies (requests, colorama, Pillow, readerwriterlock, curl_cffi, typing_extensions, validators, pyotp, beautifulsoup4). Package is actively maintained as of the latest release date.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is recorded. The description mentions GPL 3.0, but this is not formally declared in package metadata, creating ambiguity about actual licensing obligations.
Quickstart
from spotapi import Song
song = Song()
gen = song.paginate_songs("weezer")
for batch in gen:
for item in batch:
print(item['item']['data']['name'])
Requires valid Spotify account credentials for authenticated operations; unauthenticated search works without login but may have rate limits or reduced functionality.
Verify before relying
- Whether GPL 3.0 is the actual license or if it is merely mentioned in documentation without formal declaration.
- Whether accessing private Spotify endpoints violates Spotify's terms of service and carries legal risk.
- Current status of Spotify's enforcement against private API clients and whether this package remains functional.
- Whether CAPTCHA solving via Capsolver is required for all authenticated operations or only specific endpoints.
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — requests, colorama, Pillow, readerwriterlock, curl_cffi, typing_extensions, validators, pyotp, beautifulsoup4 |
| Maintenance | actively maintained — 61 days since the last release |
| First released | |
| Downloads | 74,879/month — #14,777 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: spotapi-1.2.8-py3-none-any.whl
Keywords: Spotify, API, Spotify API, Spotify Private API, Follow, Like, Creator, Music, Music API, Streaming, Music Data, Track, Playlist, Album, Artist, Music Search, Music Metadata, SpotAPI, Python Spotify Wrapper, Music Automation, Web Scraping, Python Music API, Spotify Integration, Spotify Playlist, Spotify Tracks
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
spotipySpotipy is a Python client library for the…
permissive · top 15,000 on PyPI
spotipyFreeProvides a Spotipy-compatible interface to…
unclear · top 15,000 on PyPI
spotdlspotDL downloads songs from Spotify playlists…
permissive · top 15,000 on PyPI
discogs-clientA Python client library for querying and…
permissive · top 15,000 on PyPI
spotifywebapipythonA Python library that wraps the Spotify Web…
permissive · top 15,000 on PyPI
ytmusicapiytmusicapi lets you programmatically interact…
permissive · top 15,000 on PyPI
soundcloud-v2A Python wrapper for SoundCloud's internal v2…
permissive · top 15,000 on PyPI
youtube-search-pythonSearch YouTube for videos, channels, and…
permissive · top 15,000 on PyPI
shazamioAsynchronous Python library that recognizes…
permissive · top 15,000 on PyPI
openplantbook-sdkPython SDK for querying the Open Plantbook API…
permissive · top 15,000 on PyPI