Discover/Spotify API
live

Spotify APIopen.spotify.com ↗

Fetch Spotify catalog data via API: search tracks, artists, albums, playlists; get play counts, follower stats, top cities, bios, and album track listings.

Endpoint health
verified 3h ago
search
get_artist
get_album
get_track
get_playlist
5/5 passing latest checkself-healing
Endpoints
5
Updated
4h ago

What is the Spotify API?

The Spotify (open.spotify.com) API exposes 5 endpoints covering the full public catalog: search across tracks, artists, albums, and playlists, then drill into any entity with get_artist, get_album, get_track, or get_playlist. A single get_artist call returns follower counts, monthly listener numbers, world rank, top listening cities, biography, and the artist's top tracks with play counts — data not available from Spotify's official Web API.

This call costs2 credits / call— charged only on success
Try it
Entity type to search. Determines the shape of each item.
Page size; values above 50 are clamped to 50.
Free-text search term, e.g. an artist, song, album or playlist name.
Zero-based index of the first result to return; use next_offset from a previous page to continue.
→ api.parse.bot/scraper/a931d9c5-ff68-4fb2-8de0-36c3dea2f480/<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 GET 'https://api.parse.bot/scraper/a931d9c5-ff68-4fb2-8de0-36c3dea2f480/search?type=tracks&query=radiohead' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalmissing one? ·

Searches the Spotify catalog for one entity type and returns one page of results. The result grain is one item per matched entity; the item shape depends on type (tracks carry artists/album/duration, artists carry images/verified, albums carry album_type/year/artists, playlists carry owner/description). Pagination is offset-based: offset (default 0) and limit (default 20, clamped to 50) are passed upstream; total_count is the site's reported match count, next_offset is the site's continuation (null when exhausted) and has_more mirrors it. A query with no matches returns an empty items array. One upstream request per call plus a one-time session bootstrap.

Input
ParamTypeDescription
typestringEntity type to search. Determines the shape of each item.
limitintegerPage size; values above 50 are clamped to 50.
queryrequiredstringFree-text search term, e.g. an artist, song, album or playlist name.
offsetintegerZero-based index of the first result to return; use next_offset from a previous page to continue.
Response
{
  "type": "object",
  "fields": {
    "type": "echo of the entity type searched",
    "items": "array of result objects; for tracks: track_id, name, artists[{artist_id,name}], album{album_id,name,cover_art[]}, duration_ms, explicit, playable; for artists: artist_id, name, verified, images[]; for albums: album_id, name, album_type, year, artists[], cover_art[], playable; for playlists: playlist_id, name, description, owner{username,name}, images[]",
    "limit": "page size applied (after clamping)",
    "query": "echo of the search term",
    "offset": "offset applied to this page",
    "has_more": "boolean, true when next_offset is non-null",
    "next_offset": "integer offset of the next page, or null when there is no further page",
    "total_count": "integer total matches reported by the site for this type"
  },
  "sample": {
    "data": {
      "type": "tracks",
      "items": [
        {
          "name": "Creep",
          "album": {
            "name": "Pablo Honey",
            "album_id": "3gBVdu4a1MMJVMy6vwPEb8",
            "cover_art": [
              {
                "url": "https://i.scdn.co/image/ab67616d00001e02ec548c00d3ac2f10be73366d",
                "width": 300,
                "height": 300
              }
            ]
          },
          "artists": [
            {
              "name": "Radiohead",
              "artist_id": "4Z8W4fKeB5YxbusRsdQVPb"
            }
          ],
          "explicit": true,
          "playable": true,
          "track_id": "70LcF31zb1H0PyJoS1Sx1r",
          "duration_ms": 238640
        }
      ],
      "limit": 5,
      "query": "radiohead",
      "offset": 0,
      "has_more": true,
      "next_offset": 5,
      "total_count": 7
    },
    "status": "success"
  }
}

About the Spotify API

Search and Pagination

The search endpoint accepts a free-text query and an entity type — one of tracks, artists, albums, or playlists — and returns one page of matching items. Page size is controlled by limit (capped at 50) and offset. Each response includes total_count, has_more, and next_offset so you can walk through arbitrarily large result sets. Item shapes vary by type: track results include artists, album (with cover_art), and duration_ms; artist results include images and a verified flag.

Artist Detail

get_artist returns the complete profile for a single artist identified by their 22-character artist_id. The response includes followers, biography (which may contain Spotify URI anchors), verified, top_cities (each entry has city, region, country, and listeners), top_tracks with per-track play_count, and paginated albums and singles arrays. The world rank field reflects the artist's global popularity standing as shown on the site.

Album and Track Detail

get_album accepts an album_id and returns album metadata — label, copyrights, release_date, disc_count, cover_art — plus a paginated tracks array where each entry carries track_number, disc_number, duration_ms, play_count, explicit, and playable. get_track resolves a single track to its full detail including media_type (AUDIO or VIDEO), play_count, track_number, and a nested album object with its own copyrights and track_total.

Playlist Detail

get_playlist takes a playlist_id and returns the playlist name, description, owner (with username and display name), followers, images, and a paginated tracks array. Each track entry includes added_at (ISO timestamp), full artists, a compact album summary with cover_art, and play_count. Non-track entries such as podcast episodes are omitted from the tracks array.

Reliability & maintenanceVerified

The Spotify API is a managed, monitored endpoint for open.spotify.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when open.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 open.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
3h ago
Latest check
5/5 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
  • Build a music discovery app that surfaces artist top tracks and play counts for a given search query.
  • Track an artist's follower growth and monthly listener figures over time using get_artist.
  • Analyze which cities drive the most streams for a given artist via the top_cities field.
  • Reconstruct a public playlist's full track list including added_at timestamps and per-track play counts.
  • Audit album metadata — label, copyrights, release precision, and disc count — for a catalog of album IDs.
  • Classify tracks by media_type (AUDIO vs VIDEO) or explicit flag across an album or playlist.
  • Paginate through a large artist discography using the albums and singles arrays from get_artist combined with get_album.
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 provides the Spotify Web API at https://developer.spotify.com/documentation/web-api/. It requires OAuth 2.0 authentication and a registered application. The Parse API covers public catalog data visible on open.spotify.com without requiring an OAuth token.
What does get_artist return beyond basic profile fields?+
Beyond name, biography, and images, get_artist returns follower count, monthly listener count, world rank, a top_cities array (each entry has city, region, country, and listeners), and a top_tracks array with per-track play_count and playable flag. It also returns the first page of albums and singles, each with release_date broken down by year, month, day, and precision.
Does the API return audio preview URLs or full streaming data?+
No. The endpoints return catalog and metadata fields — play counts, durations, artist credits, cover art, and playable flags — but not audio preview URLs or stream tokens. The playable field indicates whether a track is available, but no audio data is returned. You can fork this API on Parse and revise it to add a preview URL field if the source exposes one for the entities you need.
How does pagination work across endpoints?+
search, get_album, and get_playlist all accept limit (max 50) and offset parameters. Each response includes has_more and next_offset (for search) or a computed has_more boolean (for album and playlist tracks). Iterating with the returned next_offset or incrementing offset by limit covers the full result set. get_artist returns only the first page of albums and singles; deeper album pagination requires calling get_album individually.
Does the API cover podcast episodes or audiobook data?+
Not currently. The API covers tracks, artists, albums (including singles and compilations), and public playlists. Podcast episodes appear in the Spotify catalog but are not exposed by these endpoints; non-track entries in playlists are omitted. You can fork this API on Parse and revise it to add an episode or show endpoint.
Page content last updated . Spec covers 5 endpoints from open.spotify.com.
Related APIs in MusicSee all →
spotify.com API
Search millions of songs and artists in Spotify's catalog, then dive deep into any artist's complete discography, top tracks, fan statistics, and similar artists they're connected to. Perfect for discovering new music, researching artist backgrounds, or building personalized music recommendations.
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.
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.
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.
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.
chosic.com API
Search for songs on Chosic and discover similar tracks filtered by audio attributes like energy, happiness, danceability, and more. Returns song titles, artists, Spotify IDs, and thumbnail images.
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.
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.