# Spotify Artist Search API. Artists and listener accounts matching your search.

Artists and listener accounts by name. We handle the proxies, blocks and platform changes.

[Get API key](https://socialtap.dev/signup/?next=%2Fplayground%2F%3Fendpoint%3Dspotify.search_artists)

## Spotify Artist Search API at a glance

Searches Spotify artists by name in any language and returns them a page at a time, each with its Spotify ID, picture and verified badge. Spotify's AI persona label is there too. Set kind=listener for the people, brands and labels that own playlists, with their usernames. The Spotify Artist API adds the bio, followers, monthly listeners, top cities and discography.

GET `/v1/spotify/search_artists`

[Read the API reference](https://socialtap.dev/docs/reference/spotify/search_artists/index.md)

- **1 credit** per page, $0.75–$1.97 per 1,000 pages
- **19 typed fields** null when unknown
- **100** artists and listener accounts per page, Spotify's own ranking for the query
- **`query`** is all it needs, e.g. `rick astley`

## Send one request. Get up to 100 artists and listener accounts back.

Copy the request in your language, or hand it to your agent. Sign up for an API key and your first 100 credits are free.

`$ npm install socialtap`

`query = rick astley`

[Open in playground](https://socialtap.dev/playground/?endpoint=spotify.search_artists)

cURL:

```shell
curl -G 'https://socialtap.dev/v1/spotify/search_artists' \
  --data-urlencode 'kind=artist' \
  --data-urlencode 'query=rick astley' \
  -H "x-api-key: $SOCIALTAP_API_KEY"
```

TypeScript SDK:

```typescript
import { SocialTap } from "socialtap";

const client = new SocialTap(); // apiKey defaults to process.env.SOCIALTAP_API_KEY

const res = await client.spotify.searchArtists.list({ query: "rick astley", kind: "artist" });
console.log(res.data);
console.log(res.credits.charged, res.meta.request_id);
```

Node.js (fetch):

```javascript
const params = new URLSearchParams({
  kind: "artist",
  query: "rick astley",
});
const res = await fetch(`https://socialtap.dev/v1/spotify/search_artists?${params}`, {
  headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, page, meta } = body;
console.log(data, meta.credits_charged);
```

Python (requests):

```python
import os

import requests

res = requests.get(
    "https://socialtap.dev/v1/spotify/search_artists",
    params={"kind": "artist", "query": "rick astley"},
    headers={"x-api-key": os.environ["SOCIALTAP_API_KEY"]},
)
body = res.json()
if not res.ok:
    raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
data, page, meta = body["data"], body["page"], body["meta"]
print(data, meta["credits_charged"])
```

Go (net/http):

```go
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"net/http"
	"net/url"
	"os"
)

func main() {
	q := url.Values{}
	q.Set("kind", "artist")
	q.Set("query", "rick astley")
	req, err := http.NewRequest("GET", "https://socialtap.dev/v1/spotify/search_artists?"+q.Encode(), nil)
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("x-api-key", os.Getenv("SOCIALTAP_API_KEY"))
	res, err := http.DefaultClient.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()
	var body struct {
		Data  json.RawMessage `json:"data"`
		Page  json.RawMessage `json:"page"`
		Meta  map[string]any  `json:"meta"`
		Error *struct {
			Code    string `json:"code"`
			Message string `json:"message"`
		} `json:"error"`
	}
	if err := json.NewDecoder(res.Body).Decode(&body); err != nil {
		log.Fatal(err)
	}
	if body.Error != nil {
		log.Fatalf("%s: %s", body.Error.Code, body.Error.Message)
	}
	fmt.Println(string(body.Data), body.Meta["credits_charged"])
}
```

200 OK:

```json
{
  "data": [
    {
      "approximate_fields": [],
      "avatar_url": "https://i.scdn.co/image/ab6761610000e5eb854861dff9a24a1ed3dfdc7d",
      "banner_url": null,
      "bio": null,
      "category": null,
      "country_code": null,
      "created_at": null,
      "display_name": "Rick Astley",
      "external_links": [],
      "id": "0gxyHStUsqpMadRV0Di1Qt",
      "is_private": null,
      "is_verified": true,
      "location": null,
      "metrics": {
        "follower_count": null,
        "following_count": null,
        "post_count": null,
        "total_like_count": null,
        "total_view_count": null
      },
      "platform": "spotify",
      "platform_specific": {
        "spotify": {
          "active_decades": [],
          "ai_persona": null,
          "albums": null,
          "appears_on": null,
          "biography_type": null,
          "compilations": null,
          "concert_count": null,
          "concerts": [],
          "discovered_on": [],
          "discovered_on_count": null,
          "featured_in": [],
          "featured_in_count": null,
          "gallery_urls": [],
          "is_registered": null,
          "latest_release": null,
          "monthly_listener_count": null,
          "music_video_count": null,
          "music_videos": [],
          "pinned_item": null,
          "playlist_count": null,
          "playlists": [],
          "popular_release_count": null,
          "popular_releases": [],
          "popularity": null,
          "related_artist_count": null,
          "related_artists": [],
          "singles": null,
          "top_cities": [],
          "top_tracks": [],
          "world_rank": null
        }
      },
      "type": "unknown",
      "unknown_fields": [
        "external_links",
        "platform_specific.spotify.active_decades",
        "platform_specific.spotify.gallery_urls"
      ],
      "url": "https://open.spotify.com/artist/0gxyHStUsqpMadRV0Di1Qt",
      "username": null
    },
    {
      "approximate_fields": [],
      "avatar_url": "https://i.scdn.co/image/c89848e407aa02ab2ebfe404843812fe16cad5b7",
      "banner_url": null,
      "bio": null,
      "category": null,
      "country_code": null,
      "created_at": null,
      "display_name": "Sheena Easton",
      "external_links": [],
      "id": "5dcOK4stT4JDkP6Dqhbz5s",
      "is_private": null,
      "is_verified": true,
      "location": null,
      "metrics": {
        "follower_count": null,
        "following_count": null,
        "post_count": null,
        "total_like_count": null,
        "total_view_count": null
      },
      "platform": "spotify",
      "platform_specific": {
        "spotify": {
          "active_decades": [],
          "ai_persona": null,
          "albums": null,
          "appears_on": null,
          "biography_type": null,
          "compilations": null,
          "concert_count": null,
          "concerts": [],
          "discovered_on": [],
          "discovered_on_count": null,
          "featured_in": [],
          "featured_in_count": null,
          "gallery_urls": [],
          "is_registered": null,
          "latest_release": null,
          "monthly_listener_count": null,
          "music_video_count": null,
          "music_videos": [],
          "pinned_item": null,
          "playlist_count": null,
          "playlists": [],
          "popular_release_count": null,
          "popular_releases": [],
          "popularity": null,
          "related_artist_count": null,
          "related_artists": [],
          "singles": null,
          "top_cities": [],
          "top_tracks": [],
          "world_rank": null
        }
      },
      "type": "unknown",
      "unknown_fields": [
        "external_links",
        "platform_specific.spotify.active_decades",
        "platform_specific.spotify.gallery_urls"
      ],
      "url": "https://open.spotify.com/artist/5dcOK4stT4JDkP6Dqhbz5s",
      "username": null
    },
    {
      "approximate_fields": [],
      "avatar_url": "https://i.scdn.co/image/ab6761610000e5eb2ebf587c72f9e5159da9ce55",
      "banner_url": null,
      "bio": null,
      "category": null,
      "country_code": null,
      "created_at": null,
      "display_name": "Wham!",
      "external_links": [],
      "id": "5lpH0xAS4fVfLkACg9DAuM",
      "is_private": null,
      "is_verified": true,
      "location": null,
      "metrics": {
        "follower_count": null,
        "following_count": null,
        "post_count": null,
        "total_like_count": null,
        "total_view_count": null
      },
      "platform": "spotify",
      "platform_specific": {
        "spotify": {
          "active_decades": [],
          "ai_persona": null,
          "albums": null,
          "appears_on": null,
          "biography_type": null,
          "compilations": null,
          "concert_count": null,
          "concerts": [],
          "discovered_on": [],
          "discovered_on_count": null,
          "featured_in": [],
          "featured_in_count": null,
          "gallery_urls": [],
          "is_registered": null,
          "latest_release": null,
          "monthly_listener_count": null,
          "music_video_count": null,
          "music_videos": [],
          "pinned_item": null,
          "playlist_count": null,
          "playlists": [],
          "popular_release_count": null,
          "popular_releases": [],
          "popularity": null,
          "related_artist_count": null,
          "related_artists": [],
          "singles": null,
          "top_cities": [],
          "top_tracks": [],
          "world_rank": null
        }
      },
      "type": "unknown",
      "unknown_fields": [
        "external_links",
        "platform_specific.spotify.active_decades",
        "platform_specific.spotify.gallery_urls"
      ],
      "url": "https://open.spotify.com/artist/5lpH0xAS4fVfLkACg9DAuM",
      "username": null
    }
  ],
  "page": {
    "has_more": true,
    "next_cursor": "c1.EXAMPLE_CURSOR",
    "next_cursor_expires_at": "2026-10-26T12:00:00Z",
    "end_reason": null
  },
  "meta": {
    "request_id": "req_3f9c2a7d1e8b4c6a9f0e2d4b6a8c0e1f",
    "platform": "spotify",
    "source": "api",
    "is_cached": false,
    "credits_charged": 1,
    "latency_ms": 814,
    "fetched_at": "2026-10-25T12:00:00Z",
    "input": null,
    "credits_remaining": 9999,
    "client_request_id": null,
    "warnings": []
  }
}
```

Long arrays and strings are shortened here. Real responses are complete.

## One schema on 27 platforms.

The [response reference](https://socialtap.dev/docs/reference/spotify/search_artists/index.md#response) lists every field, its type and when it is `null`. [See the full schema](https://socialtap.dev/resources/profile/index.md).

- ### Null means unknown

  A field Spotify doesn't show is null, never zero or an empty string, so a real zero always means zero.
- ### What it accepts

  The name to search for, in any language. On artists, Spotify's filters artist:"rick astley" (that name closely) and year:1987 work too.
- ### Write one parser

  Spotify, TikTok, Instagram and 24 more platforms answer in these fields, so the code that reads one reads them all.

- **`platform`string**: Platform ID (tiktok, youtube, …).
- **`id`string**: Platform-native account ID (string; YouTube UC…, Reddit t2_…).
- **`username`string**: Handle without the @; null when the account has none.
- **`display_name`string**: Display name, channel title or page name; null when empty or not exposed.
- **`url`string**: Canonical profile URL.
- **`type`string**: Coarse account kind, as the platform labels it; unknown when it does not (TikTok labels organizations only). New values may be added; treat unknown values as unknown.
- **`bio`string**: Profile bio, channel description or page about text; null when empty or not exposed.
- **`avatar_url`string**: Profile picture URL (largest available). Platform CDN URLs can expire within hours.

Live data from 33 platforms.

[TikTok](https://socialtap.dev/apis/tiktok/index.md) · [Instagram](https://socialtap.dev/apis/instagram/index.md) · [Facebook](https://socialtap.dev/apis/facebook/index.md) · [YouTube](https://socialtap.dev/apis/youtube/index.md) · [Reddit](https://socialtap.dev/apis/reddit/index.md) · [Threads](https://socialtap.dev/apis/threads/index.md) · [Spotify](https://socialtap.dev/apis/spotify/index.md) · [Amazon](https://socialtap.dev/apis/amazon/index.md) · [Apple Music](https://socialtap.dev/apis/applemusic/index.md) · [Pinterest](https://socialtap.dev/apis/pinterest/index.md) · [Rumble](https://socialtap.dev/apis/rumble/index.md) · [X](https://socialtap.dev/apis/x/index.md) · [Bluesky](https://socialtap.dev/apis/bluesky/index.md) · [Twitch](https://socialtap.dev/apis/twitch/index.md) · [LinkedIn](https://socialtap.dev/apis/linkedin/index.md) · [Telegram](https://socialtap.dev/apis/telegram/index.md) · [TikTok Shop](https://socialtap.dev/apis/tiktokshop/index.md) · [Kwai](https://socialtap.dev/apis/kwai/index.md) · [Snapchat](https://socialtap.dev/apis/snapchat/index.md) · [SoundCloud](https://socialtap.dev/apis/soundcloud/index.md) · [Truth Social](https://socialtap.dev/apis/truthsocial/index.md) · [Kick](https://socialtap.dev/apis/kick/index.md) · [Komi](https://socialtap.dev/apis/komi/index.md) · [Lnk.Bio](https://socialtap.dev/apis/linkbio/index.md) · [Linkme](https://socialtap.dev/apis/linkme/index.md) · [Linktree](https://socialtap.dev/apis/linktree/index.md) · [Pillar](https://socialtap.dev/apis/pillar/index.md) · [TikTok Ad Library](https://socialtap.dev/apis/tiktok-ad-library/index.md) · [Facebook Ad Library](https://socialtap.dev/apis/facebook-ad-library/index.md) · [Facebook Events](https://socialtap.dev/apis/facebook-events/index.md) · [Facebook Marketplace](https://socialtap.dev/apis/facebook-marketplace/index.md) · [Google Ads Transparency Center](https://socialtap.dev/apis/google-ads-transparency/index.md) · [LinkedIn Ad Library](https://socialtap.dev/apis/linkedin-ad-library/index.md)

## What teams build with the Spotify Artist Search API.

- ### Turn an artist's name into a Spotify ID
- ### Tell apart artists who share a name
- ### Match an artist roster against Spotify
- ### Find the account behind a label's playlists

## Good to know before you build.

- Results are one kind of account: the tracks, albums, playlists and podcasts a query matches aren't in the list.
- Search lists no bio, follower count, monthly listeners, links or discography, so those are null or empty, the empty lists named in unknown_fields: the Spotify Artist API returns them.
- An artist has an ID and no username. A listener's id is its username, as a playlist's owner shows it, and no endpoint returns a listener's account: the Spotify Artist API refuses it.
- Results are in Spotify's order. An artist's order depends on the page size. A listener's doesn't, since it is always read a hundred candidates at a time and cut to the limit. A walk ends with page.end_reason platform_limit where Spotify stops serving.
- A short page isn't the end of the list: page.next_cursor says whether it goes on, because Spotify keeps only part of the candidates it reads for a page. When Spotify doesn't say where the list ends, the walk goes on until it does, so its last page can be empty.
- Artist filters are artist: and year:. genre: is read loosely, close to plain words, and track:, album:, isrc: and tag: return an empty page. Listeners read no filter.
- Spotify answers a weak query with its nearest guesses, so any artist may be a loose match, and many share a name.
- When Spotify's search doesn't answer, the first pages come from a web search engine's index, each artist read from Spotify, with a partial_data warning naming the fields it lacks, and Spotify's filters are read as plain words. That list holds only what the index has, often a small part of Spotify's, in the engine's order. A next_cursor stays on the list it came from: if Spotify's search stops answering mid-walk, the next page fails with a retryable error instead of switching lists. Listener search has no fallback: its failure is the answer.
- An empty query, a Spotify URI or a link to a Spotify page returns invalid_input, naming the endpoint that takes it where there is one. For a link to Spotify's search page, send its words instead.

## 1 credit per page. Failed requests are free.

Buy credits once and spend them on any endpoint, on any platform.

[Plans and packs](https://socialtap.dev/pricing/index.md) · [How this endpoint is priced](https://socialtap.dev/docs/reference/spotify/search_artists/index.md#pricing) · [How credits work](https://socialtap.dev/docs/credits/index.md)

| Source | Price per successful page | Per 1,000 pages |
| --- | --- | --- |
| Any source | 1 credit | $0.75–$1.97 |

- Cache hits are free.
- Credits from packs and top-ups never expire.
- A monthly plan's credits are spent first, and what is left of them ends at each renewal.
- Prices exclude tax: sales tax is added at checkout where it applies.
- Outside the US, plans and packs are sold to businesses: checkout asks for your VAT, GST or other business tax ID.

## Questions about the Spotify Artist Search API.

More in the [API reference](https://socialtap.dev/docs/reference/spotify/search_artists/index.md).

**How do I find an artist's Spotify ID from their name?**

Search the name here. Each result has its ID with a picture and verified badge to pick the right one, and the Spotify Artist API takes that ID.

**How much does the Spotify Artist Search API cost?**

A page of up to 100 artists and listener accounts costs 1 credit. Every successful page is charged, empty pages included. SocialTap credits cost $0.75–$1.97 per 1,000, depending on the plan or pack.

**How do I get the next page?**

Repeat the same request with cursor set to page.next_cursor from the previous response, keeping the other parameters. When page.has_more is false there are no more pages. Cursors expire after 24 hours.

Other platforms

## Profiles on 26 more platforms.

- [TikTok Profile API](https://socialtap.dev/apis/tiktok/profile/index.md) (1 credit · `GET /v1/tiktok/profile`)
- [Instagram Profile API](https://socialtap.dev/apis/instagram/profile/index.md) (1 credit · `GET /v1/instagram/profile`)
- [Facebook Profile API](https://socialtap.dev/apis/facebook/profile/index.md) (1 credit · `GET /v1/facebook/profile`)
- [YouTube Channel API](https://socialtap.dev/apis/youtube/profile/index.md) (1 credit · `GET /v1/youtube/profile`)
- [Reddit Profile API](https://socialtap.dev/apis/reddit/profile/index.md) (1 credit · `GET /v1/reddit/profile`)
- [Threads Profile API](https://socialtap.dev/apis/threads/profile/index.md) (1 credit · `GET /v1/threads/profile`)
- [Amazon Shop API](https://socialtap.dev/apis/amazon/shop/index.md) (1 credit · `GET /v1/amazon/shop`)
- [Apple Music Artist Search API](https://socialtap.dev/apis/applemusic/search_artists/index.md) (1 credit / page · `GET /v1/applemusic/search_artists`)
- [Pinterest Profile API](https://socialtap.dev/apis/pinterest/profile/index.md) (1 credit · `GET /v1/pinterest/profile`)
- [Rumble Channel API](https://socialtap.dev/apis/rumble/profile/index.md) (1 credit · `GET /v1/rumble/profile`)
- [X (Twitter) Profile API](https://socialtap.dev/apis/x/profile/index.md) (1 credit · `GET /v1/x/profile`)
- [Bluesky Profile API](https://socialtap.dev/apis/bluesky/profile/index.md) (1 credit · `GET /v1/bluesky/profile`)
- [Twitch Profile API](https://socialtap.dev/apis/twitch/profile/index.md) (1 credit · `GET /v1/twitch/profile`)
- [LinkedIn Profile API](https://socialtap.dev/apis/linkedin/profile/index.md) (From 1 credit · `GET /v1/linkedin/profile`)
- [Telegram Channel API](https://socialtap.dev/apis/telegram/channel/index.md) (1 credit · `GET /v1/telegram/channel`)
- [Kwai Profile API](https://socialtap.dev/apis/kwai/profile/index.md) (1 credit · `GET /v1/kwai/profile`)
- [Snapchat Profile API](https://socialtap.dev/apis/snapchat/profile/index.md) (1 credit · `GET /v1/snapchat/profile`)
- [SoundCloud Artist API](https://socialtap.dev/apis/soundcloud/artist/index.md) (1 credit · `GET /v1/soundcloud/artist`)
- [Truth Social Profile API](https://socialtap.dev/apis/truthsocial/profile/index.md) (1 credit · `GET /v1/truthsocial/profile`)
- [Komi Page API](https://socialtap.dev/apis/komi/page/index.md) (1 credit · `GET /v1/komi/page`)
- [Lnk.Bio Profile API](https://socialtap.dev/apis/linkbio/profile/index.md) (1 credit · `GET /v1/linkbio/profile`)
- [Linkme Profile API](https://socialtap.dev/apis/linkme/profile/index.md) (1 credit · `GET /v1/linkme/profile`)
- [Linktree Profile API](https://socialtap.dev/apis/linktree/profile/index.md) (1 credit · `GET /v1/linktree/profile`)
- [Pillar Page API](https://socialtap.dev/apis/pillar/page/index.md) (1 credit · `GET /v1/pillar/page`)
- [Facebook Ad Library Advertiser Search API](https://socialtap.dev/apis/facebook/search_advertisers/index.md) (1 credit / page · `GET /v1/facebook/search_advertisers`)
- [Google Ads Transparency Center Advertiser API](https://socialtap.dev/apis/google/advertiser/index.md) (1 credit · `GET /v1/google/advertiser`)

More Spotify

## Spotify API. 12 endpoints, one key.

- [Spotify Track API](https://socialtap.dev/apis/spotify/track/index.md) (1 credit · `GET /v1/spotify/track`)
- [Spotify Track Search API](https://socialtap.dev/apis/spotify/search_tracks/index.md) (1 credit / page · `GET /v1/spotify/search_tracks`)
- [Spotify Playlist Tracks API](https://socialtap.dev/apis/spotify/playlist_tracks/index.md) (1 credit / page · `GET /v1/spotify/playlist_tracks`)
- [Spotify Podcast Episodes API](https://socialtap.dev/apis/spotify/podcast_episodes/index.md) (1 credit / page · `GET /v1/spotify/podcast_episodes`)
- [Spotify Artist API](https://socialtap.dev/apis/spotify/artist/index.md) (1 credit · `GET /v1/spotify/artist`)
- [Spotify Playlist API](https://socialtap.dev/apis/spotify/playlist/index.md) (1 credit · `GET /v1/spotify/playlist`)
- [Spotify Playlist Search API](https://socialtap.dev/apis/spotify/search_playlists/index.md) (1 credit / page · `GET /v1/spotify/search_playlists`)
- [Spotify Album API](https://socialtap.dev/apis/spotify/album/index.md) (1 credit · `GET /v1/spotify/album`)
- [Spotify Album Search API](https://socialtap.dev/apis/spotify/search_albums/index.md) (1 credit / page · `GET /v1/spotify/search_albums`)
- [Spotify Podcast API](https://socialtap.dev/apis/spotify/podcast/index.md) (1 credit · `GET /v1/spotify/podcast`)
- [Spotify Podcast Search API](https://socialtap.dev/apis/spotify/search_podcasts/index.md) (1 credit / page · `GET /v1/spotify/search_podcasts`)

## Try it with your own search.

Type it in the playground, or copy the request into your code.

100free credits

- No credit card
- Failed requests are free
- Works on all 218 endpoints

[Start for free](https://socialtap.dev/signup/) [Read the docs](https://socialtap.dev/docs/index.md)

---

[HTML version](https://socialtap.dev/apis/spotify/search_artists/) · [Docs index for AI agents](https://socialtap.dev/llms.txt) · [All docs in one file](https://socialtap.dev/llms-full.txt)
