Spotify API: Get artist
Gets a Spotify artist's public profile from their name, artist link or ID: listeners, followers, world rank, top cities, popular tracks, latest release and release counts.
Unofficial. Not affiliated with or endorsed by Spotify.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Artist, required
artist Artist name, Spotify artist link, or artist ID, for example Taylor Swift.
06HL4z0CvFAxyc27GXpf02
Input as JSON
{ "artist": "06HL4z0CvFAxyc27GXpf02"}Output
{ "genres": [], "verified": true, "artist_id": "06HL4z0CvFAxyc27GXpf02", "followers": 164819635, "top_cities": [ { "city": "London", "country": "United Kingdom", "listeners": 1631243 }, { "city": "Quezon City", "country": "Philippines", "listeners": 1482580 }, { "city": "São Paulo", "country": "Brazil", "listeners": 1165479 } ], "world_rank": 5, "album_count": 34, "artist_name": "Taylor Swift", "single_count": 80, "spotify_link": "https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02" , "latest_release": { "type": "Album", "title": "The Life of a Showgirl: The Encore", "release_date": "2026-09-25", "spotify_link": "https://open.spotify.com/album/4hF2gTGuPYlykYuphDxi8J" }, "popular_tracks": [ { "album": "The Life of a Showgirl", "title": "The Fate of Ophelia", "length": "3:46", "track_id": "53iuhJlwXhSER5J2IYYv1W", "length_ms": 226073, "play_count": 1694932432, "spotify_link": "https://open.spotify.com/track/53iuhJlwXhSER5J2IYYv1W" }, { "album": "1989", "title": "Blank Space", "length": "3:51", "track_id": "1p80LdxRV74UKvL8gnD7ky", "length_ms": 231826, "play_count": 2614612868, "spotify_link": "https://open.spotify.com/track/1p80LdxRV74UKvL8gnD7ky" }, { "album": "The Life of a Showgirl", "title": "Opalite", "length": "3:55", "track_id": "3yWuTOYDztXjZxdE2cIRUa", "length_ms": 235355, "play_count": 889991339, "spotify_link": "https://open.spotify.com/track/3yWuTOYDztXjZxdE2cIRUa" } ], "artist_image_link": "https://i.scdn.co/image/ab6761610000e5eb12184bdd29403de54cb9d9c7" , "monthly_listeners": 103505973}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"open.spotify.com/get_artist","input":{"artist":"06HL4z0CvFAxyc27GXpf02"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "open.spotify.com/get_artist" , "input": { "artist": "06HL4z0CvFAxyc27GXpf02" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "open.spotify.com/get_artist" , "input": { "artist": "06HL4z0CvFAxyc27GXpf02" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run open.spotify.com/get_artist# with {"artist":"06HL4z0CvFAxyc27GXpf02"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "artist" ], "properties": { "artist": { "type": "string", "minLength": 1, "description": "Artist name, Spotify artist link, or artist ID, for example Taylor Swift." } }}Output schema
{ "type": "object", "required": [ "artist_name", "verified", "monthly_listeners", "followers", "world_rank", "top_cities", "popular_tracks", "latest_release", "album_count", "single_count", "genres", "artist_image_link", "spotify_link", "artist_id" ], "properties": { "genres": { "type": "array", "items": { "type": "string" } }, "verified": { "type": "boolean" }, "artist_id": { "type": "string" }, "followers": { "type": [ "integer", "null" ] }, "top_cities": { "type": "array", "items": { "type": "object", "required": [ "city", "country", "listeners" ], "properties": { "city": { "type": [ "string", "null" ] }, "country": { "type": [ "string", "null" ] }, "listeners": { "type": [ "integer", "null" ] } } } }, "world_rank": { "type": [ "integer", "null" ] }, "album_count": { "type": [ "integer", "null" ] }, "artist_name": { "type": "string" }, "single_count": { "type": [ "integer", "null" ] }, "spotify_link": { "type": "string" }, "latest_release": { "anyOf": [ { "type": "object", "required": [ "title", "type", "release_date", "spotify_link" ], "properties": { "type": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "release_date": { "type": [ "string", "null" ] }, "spotify_link": { "type": [ "string", "null" ] } } }, { "type": "null" } ] }, "popular_tracks": { "type": "array", "items": { "type": "object", "required": [ "title", "play_count", "length", "album", "spotify_link", "track_id", "length_ms" ], "properties": { "album": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "length": { "type": [ "string", "null" ] }, "track_id": { "type": [ "string", "null" ] }, "length_ms": { "type": [ "integer", "null" ] }, "play_count": { "type": [ "integer", "null" ] }, "spotify_link": { "type": [ "string", "null" ] } } } }, "artist_image_link": { "type": [ "string", "null" ] }, "monthly_listeners": { "type": [ "integer", "null" ] } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
open.spotify.com/get_artist- Returns
- artist name, verified, monthly listeners, followers, world rank, top cities, popular tracks, latest release, album and single counts, image, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method open.spotify.com/get_artist with the inputs above.
Ask your agent
- How many monthly listeners does Bad Bunny have on Spotify right now?
- Which cities stream Olivia Rodrigo the most, and what's her current world rank?
- Pull up the profile for https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4 — followers, top tracks, and latest release
- Is Tame Impala verified, and how many albums vs singles has he put out?
- Give me the popular tracks and follower count for the Spotify artist with ID 06HL4z0CvFAxyc27GXpf02
See more
All Spotify methodsFinds a Spotify song by title (optionally narrowed by artist), track link, URI or track ID and returns its public play count and details. Without an artist, the most-played exact title match wins. Previews and ISRC may be unavailable for some tracks.
open.spotify.com/get_songGets a Spotify album by name (optionally with the artist), album link or album ID, with its details and ordered track list including play counts.
open.spotify.com/get_albumSearches Spotify for songs, artists, albums, playlists or podcasts by keywords and returns them in Spotify's result order. Songs and albums include a release date when Spotify gives a full date.
spotify.com/search_musicLists Spotify's top or trending podcasts for a country in chart order, with rank, movement, publisher, artwork and Spotify link. Category charts exist only for some countries.
open.spotify.com/list_top_podcastsLooks up a Last.fm artist by name and returns listening statistics, profile, top tracks and albums, similar artists, and upcoming events.
last.fm/get_artistGets an artist's tracked Spotify streaming totals, most-streamed songs and albums from Kworb.
kworb.net/get_artist_stream_countsGets an Apple Music artist profile by name or artist link. The profile includes the latest release, top songs and albums.
music.apple.com/get_artistLists a SoundCloud artist's public tracks in latest or SoundCloud popular order, with profile and track details. SoundCloud's popular list may contain fewer than 100 tracks (currently at most 30).
soundcloud.com/list_artist_tracks