Discover/Spotify API
live

Spotify APIspotify.com

Search Spotify's catalog and retrieve artist bios, top tracks, follower counts, discographies, top cities, and upcoming releases via 4 JSON endpoints.

This API takes change requests — .
Endpoint health
verified 1d ago
get_artist
get_upcoming_releases
get_artist_releases
search
4/4 passing latest checkself-healing
Endpoints
4
Updated
15d ago

What is the Spotify API?

This API exposes 4 endpoints covering Spotify's music catalog: search across tracks, albums, artists, playlists, and podcasts; retrieve deep artist profiles including biography, follower count, monthly listeners, world ranking, and top listener cities; and fetch upcoming or recent releases by artist or record label. The get_artist endpoint alone returns over 10 distinct fields, including verified status, top tracks with play counts, and related artists.

This call costs3 credits / call— charged only on success
Try it
Filter results to a specific content type. Omitted or 'all' returns all types.
Maximum number of results per content type (1-50).
Search query string (artist name, track title, album, etc.).
Offset for pagination within each content type.
api.parse.bot/scraper/143b411a-341f-40ea-90ca-b73c6cdbb436/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/143b411a-341f-40ea-90ca-b73c6cdbb436/search' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "all",
  "limit": "5",
  "query": "Adele",
  "offset": "0"
}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace spotify-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: Spotify Music Library SDK — search catalog, explore artists, discover releases."""
from parse_apis.Spotify_Music_Library_API import Spotify, ContentType, ArtistNotFound

client = Spotify()

# Search for tracks by a popular artist, capped at 3 results.
for track in client.catalogs.search(query="Adele", type=ContentType.TRACKS, limit=3):
    print(track.name, track.artists, track.duration_ms)

# Get an artist summary from search, then fetch full details.
artist_summary = client.catalogs.search(query="Taylor Swift", type=ContentType.ARTISTS, limit=1).first()
if artist_summary:
    full_artist = artist_summary.details()
    print(full_artist.name, full_artist.monthly_listeners, full_artist.followers)

    # Browse the artist's releases (upcoming + recent).
    for release in full_artist.releases(limit=3):
        print(release.name, release.artists, release.release_date, release.is_upcoming)

# Discover upcoming/recent releases for a record label.
for release in client.releases.upcoming(label_or_distributor="STMPD RCRDS", limit=3):
    print(release.name, release.artists, release.release_date, release.is_upcoming)

# Typed error handling: attempt to get a non-existent artist.
try:
    client.artists.get(artist_id="does_not_exist_xyz", limit=1).first()
except ArtistNotFound as exc:
    print(f"Artist not found: {exc.artist_id}")

print("exercised: catalogs.search / artist_summary.details / artist.releases / releases.upcoming / artists.get / error handling")
All endpoints · 4 totalmissing one? ·

Full-text search across Spotify's music catalog. Returns tracks, artists, albums, playlists, and podcasts matching the query. Results can be filtered by content type and paginated via offset. Each result category returns up to `limit` items per request.

Input
ParamTypeDescription
typestringFilter results to a specific content type. Omitted or 'all' returns all types.
limitintegerMaximum number of results per content type (1-50).
queryrequiredstringSearch query string (artist name, track title, album, etc.).
offsetintegerOffset for pagination within each content type.
Response
{
  "type": "object",
  "fields": {
    "query": "string",
    "albums": "array of album objects with id, name, artists, year, type, image_url, uri",
    "tracks": "array of track objects with id, name, artists, album_name, duration_ms, image_url, uri",
    "artists": "array of artist objects with id, name, image_url, uri",
    "podcasts": "array of podcast objects with id, name, publisher, description, image_url, uri",
    "playlists": "array of playlist objects with id, name, description, owner, image_url, uri",
    "type_filter": "string"
  },
  "sample": {
    "data": {
      "query": "Taylor Swift",
      "albums": [
        {
          "id": "4a6NzYL1YHRUgx9e3YZI6I",
          "uri": "spotify:album:4a6NzYL1YHRUgx9e3YZI6I",
          "name": "The Life of a Showgirl",
          "type": "ALBUM",
          "year": 2025,
          "artists": [
            "Taylor Swift"
          ],
          "image_url": "https://i.scdn.co/image/ab67616d00001e02d7812467811a7da6e6a44902"
        }
      ],
      "tracks": [
        {
          "id": "53iuhJlwXhSER5J2IYYv1W",
          "uri": "spotify:track:53iuhJlwXhSER5J2IYYv1W",
          "name": "The Fate of Ophelia",
          "artists": [
            "Taylor Swift"
          ],
          "image_url": "https://i.scdn.co/image/ab67616d00001e02d7812467811a7da6e6a44902",
          "album_name": "The Life of a Showgirl",
          "duration_ms": 226073
        }
      ],
      "artists": [
        {
          "id": "06HL4z0CvFAxyc27GXpf02",
          "uri": "spotify:artist:06HL4z0CvFAxyc27GXpf02",
          "name": "Taylor Swift",
          "image_url": "https://i.scdn.co/image/ab6761610000e5ebe2e8e7ff002a4afda1c7147e"
        }
      ],
      "podcasts": [
        {
          "id": "57chMWWvJOZlwLEPZyxXKg",
          "uri": "spotify:show:57chMWWvJOZlwLEPZyxXKg",
          "name": "13: A Taylor Swift Fan Podcast",
          "image_url": "https://i.scdn.co/image/ab6765630000f68d03e8bd9c6e7656b14efd2602",
          "publisher": "Jane Doe",
          "description": null
        }
      ],
      "playlists": [
        {
          "id": "0Y44bc2Fd2IfbhqSPnNlTC",
          "uri": "spotify:playlist:0Y44bc2Fd2IfbhqSPnNlTC",
          "name": "Taylor Swift: Hits and Best of",
          "owner": "John Doe",
          "image_url": "https://mosaic.scdn.co/640/ab67616d00001e025076e4160d018e378f488c33",
          "description": "greatest songs"
        }
      ],
      "type_filter": "all"
    },
    "status": "success"
  }
}

About the Spotify API

Search and Discovery

The search endpoint accepts a query string and an optional type filter to narrow results to tracks, albums, artists, playlists, or podcasts. Without a type filter, all five content categories are returned simultaneously, each paginated independently via offset and limit (1–50 items per type per request). Every result object carries a uri suitable for direct linking into Spotify clients, plus an image_url for cover art or artist photos.

Artist Profiles

The get_artist endpoint takes a 22-character Spotify artist_id — available from search results — and returns a full artist record: biography, followers, verified boolean, image_url, a list of albums and singles each with year and total_tracks, and a top_cities array showing the cities and countries where the artist has the most listeners. This makes it practical to build audience-geography tools or artist research dashboards without additional lookups.

Release Tracking

Two endpoints handle release monitoring. get_artist_releases returns an artist's discography sorted newest-first, with each entry tagged is_upcoming: true when the release date is in the future. The only_upcoming boolean filters out past releases entirely. get_upcoming_releases works at the label level: supply a label_or_distributor name (e.g. 'Interscope Records') and it aggregates upcoming and recent releases across all associated artists, returning the same is_upcoming-tagged release objects with artist attribution.

Reliability & maintenanceVerified

The Spotify API is a managed, monitored endpoint for spotify.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when spotify.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official spotify.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track upcoming album and single release dates for a specific artist using get_artist_releases with only_upcoming: true.
  • Monitor all scheduled releases from a record label or distributor using get_upcoming_releases with the label name.
  • Display an artist's top listener cities with top_cities from get_artist to support tour routing or audience analysis.
  • Build a catalog search interface covering tracks, albums, playlists, and podcasts from a single search query.
  • Populate artist profile cards with biography, followers, verified status, and cover art from get_artist.
  • Identify an artist's full discography split into albums and singles arrays, each with release year and track count.
  • Cross-reference artist popularity by comparing followers and monthly listener data across multiple artist IDs.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Spotify have an official developer API?+
Yes. Spotify offers the Spotify Web API at https://developer.spotify.com/documentation/web-api, which requires OAuth 2.0 and app registration. It covers catalog, playback, and user data but enforces strict quota and usage policies.
What does `get_artist` return beyond basic profile info?+
Beyond name, image_url, and biography, it returns followers, verified status, an albums array and a singles array (each with id, name, year, total_tracks, and uri), and a top_cities array of city-level listener geography objects containing city, country, and listeners.
Does the search endpoint return play counts or popularity scores?+
Search results do not include play counts or popularity scores — those fields appear only in get_artist top tracks. You can fork this API on Parse and revise it to surface popularity or play-count fields in search results if that data is present in the source.
Can I retrieve podcast episode-level data, not just podcast objects?+
Not currently. The search endpoint returns podcast objects with id, name, publisher, description, and image_url, but individual episode listings are not exposed by any endpoint. You can fork this API on Parse and revise it to add an episode-detail endpoint.
How do I paginate through a large set of search results?+
Use the offset and limit parameters on search. limit controls how many items are returned per content type (max 50), and offset shifts the starting position within each type's result set. Increment offset by limit on each call to page through deeper results.
Page content last updated . Spec covers 4 endpoints from spotify.com.
Related APIs in MusicSee all →
music.amazon.com API
Search and browse the full Amazon Music catalog to discover artists, albums, and tracks that match your interests. Find upcoming releases and get detailed information about your favorite musicians and their discographies.
qobuz.com API
Search and browse millions of songs, albums, and artists on Qobuz to discover new music, explore charts, and access detailed information about tracks and performers. Explore curated new releases and trending charts to stay updated with the latest music across all genres.
allmusic.com API
Search for music, browse artist biographies and discographies, and retrieve detailed album and song information all in one place. Discover new releases and access comprehensive metadata about artists and tracks.
musicbrainz.org API
Search MusicBrainz for artists and recordings, then fetch detailed metadata for artists, recordings, releases, and release groups, including credits, tags/genres, and track listings.
beatport.com API
Search and discover electronic music tracks, releases, and artists on Beatport while accessing detailed metadata, audio previews, genre listings, and top 10 charts. Get comprehensive information about specific tracks, releases, artists, and labels to power music discovery and curation applications.
whosampled.com API
Discover music samples, covers, and remixes by searching artists and tracks, viewing detailed sample histories, and exploring trending musical connections. Get comprehensive data on which songs sampled specific tracks, artist profiles, and current charts to understand the creative lineage behind your favorite music.
rateyourmusic.com API
Search for albums, artists, and genres to retrieve detailed information including release dates, ratings, and chart rankings from Rate Your Music. Browse music charts and explore genre-specific data to discover trends across the catalog.
api.discogs.com API
Search and browse millions of music releases, artists, and labels to discover tracklists, formats, ratings, and complete discography information. Instantly access detailed release data including community feedback to build your music knowledge and collections.