Spotify API endpoint
Returns public Spotify profile metadata and preview playlists. Provide username, uri, or url; defaults to Spotify's official profile.
/spotify/profileMCP tool: spotify_profile
Returns public Spotify profile metadata and preview playlists. Provide one of username, uri, or url; when omitted the endpoint defaults to Spotify's official profile.
| Name | Required | Description |
|---|---|---|
username | No | Spotify username, for example spotify. |
uri | No | Spotify user URI, for example spotify:user:spotify. |
url | No | Open Spotify user URL, for example https://open.spotify.com/user/spotify. |
playlist_limit | No | Embedded public playlist limit, clamped to 0..50. |
artist_limit | No | Recently played artist limit, clamped to 0..50. |
episode_limit | No | Embedded episode limit, clamped to 0..50. |
The endpoint fetches anonymous Spotify credentials at request time; caller-supplied Spotify bearer or client tokens are not required.
| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| uri | 10 | |
| id | 10 | |
| name | 10 | |
| imageUrl | 10 | i.scdn.co |
| followersCount | 10 | 4,154,912 to 33,729,177, median 7,638,922 |
| ownerName | 10 | |
| ownerUri | 10 | |
| ownerUsername | 10 | |
| externalUrl | 10 | open.spotify.com |
| ownerUrl | 10 | open.spotify.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| username | string | No | Spotify username | spotify | |
| uri | string | No | Spotify user URI | spotify:user:spotify | |
| url | string | No | open.spotify.com user URL | https://open.spotify.com/user/spotify | |
| playlist_limit | integer | No | Embedded public playlist limit, clamped to 0-50 | 10 | |
| artist_limit | integer | No | Recently played artist limit, clamped to 0-50 | 10 | |
| episode_limit | integer | No | Embedded episode limit, clamped to 0-50 | 0 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/spotify/profile" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"uri": "spotify:user:spotify",
"username": "spotify",
"name": "Spotify",
"followersCount": 12162371,
"followingCount": 327,
"totalPublicPlaylistsCount": 1519,
"publicPlaylists": [
{
"uri": "spotify:playlist:37i9dQZF1DXcBWIGoYBM5M",
"name": "Today’s Top Hits",
"ownerName": "Spotify"
}
]
}Request schema
No body schema
Response schema
#/definitions/spotify.userProfileResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | spotify.UserProfileResponse | No | ||||
| data.allowFollows | boolean | No | true | Whether the profile allows other users to follow it. | ||
| data.color | integer | No | 16085920 | Accent color of the profile, as a number. | ||
| data.externalUrl | string | No | https://open.spotify.com/user/spotify | Link to the user's profile on open.spotify.com. | ||
| data.followersCount | integer | No | 12162371 | Number of followers the user has. | ||
| data.followingCount | integer | No | 327 | Number of accounts the user follows. | ||
| data.hasSpotifyImage | boolean | No | true | Whether the profile has an image set on Spotify. | ||
| data.hasSpotifyName | boolean | No | true | Whether the profile has a display name set on Spotify. | ||
| data.imageUrl | string | No | https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5 | URL of the user's profile image. | ||
| data.isCurrentUser | boolean | No | false | Whether Spotify marks the profile as the current user's own. | ||
| data.isVerified | boolean | No | true | Whether Spotify shows the profile as verified. | ||
| data.meta | object | No | Details about this response. | |||
| data.meta.appVersion | string | No | 1.2.90.403.gf901f20f | Version of the Spotify web player the data was read from. | ||
| data.meta.artistCount | integer | No | 0 | Number of recently played artists returned. | ||
| data.meta.fetchedAt | string | No | 2026-05-13T20:41:12Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.meta.operationName | string | No | userProfileView | Name of the Spotify web player operation that returned the data. | ||
| data.meta.playlistCount | integer | No | 10 | Number of playlists returned. | ||
| data.meta.profileCount | integer | No | 50 | Number of user profiles returned. | ||
| data.name | string | No | Spotify | Display name of the user. | ||
| data.publicPlaylists | array | No | Public playlists of the user. | |||
| data.publicPlaylists[].externalUrl | string | No | https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M | Link to the playlist on open.spotify.com. | ||
| data.publicPlaylists[].followersCount | integer | No | 34324513 | Number of followers the playlist has. | ||
| data.publicPlaylists[].id | string | No | 37i9dQZF1DXcBWIGoYBM5M | Spotify ID of the playlist. | ||
| data.publicPlaylists[].imageUrl | string | No | https://i.scdn.co/image/ab67706f0000000273f7bb6e77ec5e23d7840ae5 | URL of the playlist cover image. | ||
| data.publicPlaylists[].isFollowing | boolean | No | false | Whether Spotify marks the playlist as followed. | ||
| data.publicPlaylists[].name | string | No | Today’s Top Hits | Playlist title as Spotify shows it. | ||
| data.publicPlaylists[].ownerName | string | No | Spotify | Display name of the playlist owner. | ||
| data.publicPlaylists[].ownerUri | string | No | spotify:user:spotify | Spotify URI of the playlist owner. | ||
| data.publicPlaylists[].ownerUrl | string | No | https://open.spotify.com/user/spotify | Link to the playlist owner's profile on open.spotify.com. | ||
| data.publicPlaylists[].ownerUsername | string | No | spotify | Spotify username of the playlist owner. | ||
| data.publicPlaylists[].uri | string | No | spotify:playlist:37i9dQZF1DXcBWIGoYBM5M | Spotify URI of the playlist. | ||
| data.recentlyPlayedArtists | array | No | Artists the user played recently. | |||
| data.recentlyPlayedArtists[].color | integer | No | 16085920 | Accent color of the profile, as a number. | ||
| data.recentlyPlayedArtists[].externalUrl | string | No | https://open.spotify.com/user/example | Link to the user's profile on open.spotify.com. | ||
| data.recentlyPlayedArtists[].followersCount | integer | No | 1000 | Number of followers the user has. | ||
| data.recentlyPlayedArtists[].imageUrl | string | No | https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5 | URL of the user's profile image. | ||
| data.recentlyPlayedArtists[].isFollowing | boolean | No | false | Whether Spotify marks the user as followed. | ||
| data.recentlyPlayedArtists[].name | string | No | Example | Display name of the user. | ||
| data.recentlyPlayedArtists[].uri | string | No | spotify:user:example | Spotify URI of the user. | ||
| data.recentlyPlayedArtists[].username | string | No | example | Spotify username of the user. | ||
| data.showFollows | boolean | No | true | Whether Spotify shows the profile's follows publicly. | ||
| data.topArtists | object | No | Top artists section of the profile. | |||
| data.topArtists.imageUrl | string | No | https://i.scdn.co/image/ab6775700000ee8555c25988a6ac314394d3fbf5 | URL of the image shown for the section. | ||
| data.topArtists.subtitle | string | No | Only visible to the user | Secondary line shown under the section heading. | ||
| data.topArtists.title | string | No | Top artists this month | Heading of the top artists section, as Spotify shows it. | ||
| data.topArtists.topArtistsPageUri | string | No | spotify:user:spotify:top:artists | Spotify URI of the page that lists the user's top artists. | ||
| data.totalPublicPlaylistsCount | integer | No | 1519 | Total number of public playlists the user has. | ||
| data.uri | string | No | spotify:user:spotify | Spotify URI of the user. | ||
| data.username | string | No | spotify | Spotify username of the user. | ||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 503 | Spotify upstream request failed | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/spotify/profile" \
-H "x-api-key: $CRAWLORA_API_KEY"