Spotify Users API

The Users API from Spotify — 8 operation(s) for users.

Operations 10

GET /me Get Current User's Profile #
GET /me/top/{type} Get User's Top Items #
GET /users/{user_id} Get User's Profile #
PUT /playlists/{playlist_id}/followers Follow Playlist #
DELETE /playlists/{playlist_id}/followers Unfollow Playlist #
GET /me/following Get Followed Artists #
PUT /me/following Follow Artists or Users #
DELETE /me/following Unfollow Artists or Users #
GET /me/following/contains Check If User Follows Artists or Users #
GET /playlists/{playlist_id}/followers/contains Check if Current User Follows Playlist #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spotify-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spotify-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'You can use Spotify''s Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens.


    In order to make successful Web API requests your app will need a valid access token. One can be obtained through <a href="https://developer.spotify.com/documentation/general/guides/authorization-guide/">OAuth 2.0</a>.


    The base URI for all Web API requests is `https://api.spotify.com/v1`.


    Need help? See our <a href="https://developer.spotify.com/documentation/web-api/guides/">Web API guides</a> for more information, or visit the <a href="https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer">Spotify for Developers community forum</a> to ask questions and connect with other developers.

    '
  version: 1.0.0
  title: Spotify Web Users API
  termsOfService: https://developer.spotify.com/terms/
  contact:
    name: Spotify for Developers Community
    url: https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer
servers:
- url: https://api.spotify.com/v1
tags:
- name: Users
paths:
  /me:
    get:
      tags:
      - Users
      operationId: get-current-users-profile
      summary: 'Get Current User''s Profile

        '
      description: 'Get detailed profile information about the current user (including the

        current user''s username).

        '
      responses:
        '200':
          $ref: '#/components/responses/OnePrivateUser'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-read-private
        - user-read-email
  /me/top/{type}:
    get:
      tags:
      - Users
      operationId: get-users-top-artists-and-tracks
      summary: 'Get User''s Top Items

        '
      description: 'Get the current user''s top artists or tracks based on calculated affinity.

        '
      parameters:
      - name: type
        required: true
        in: path
        schema:
          title: Type
          description: 'The type of entity to return. Valid values: `artists` or `tracks`

            '
          enum:
          - artists
          - tracks
          type: string
      - name: time_range
        required: false
        in: query
        schema:
          title: Time Range
          description: 'Over what time frame the affinities are computed. Valid values: `long_term` (calculated from ~1 year of data and including all new data as it becomes available), `medium_term` (approximately last 6 months), `short_term` (approximately last 4 weeks). Default: `medium_term`

            '
          default: medium_term
          example: medium_term
          type: string
      - $ref: '#/components/parameters/QueryLimit'
      - $ref: '#/components/parameters/QueryOffset'
      responses:
        '200':
          $ref: '#/components/responses/PagingArtistOrTrackObject'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-top-read
  /users/{user_id}:
    get:
      deprecated: true
      tags:
      - Users
      operationId: get-users-profile
      summary: 'Get User''s Profile

        '
      description: 'Get public profile information about a Spotify user.

        '
      parameters:
      - $ref: '#/components/parameters/PathUserId'
      responses:
        '200':
          $ref: '#/components/responses/OnePublicUser'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0: []
  /playlists/{playlist_id}/followers:
    put:
      deprecated: true
      tags:
      - Users
      operationId: follow-playlist
      description: 'Add the current user as a follower of a playlist.


        **Note:** This endpoint is deprecated. Use [Save Items to Library](/documentation/web-api/reference/save-library-items) instead.

        '
      summary: 'Follow Playlist

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      requestBody:
        content:
          application/json:
            schema:
              example:
                public: false
              type: object
              additionalProperties: true
              properties:
                public:
                  type: boolean
                  description: 'Defaults to `true`. If `true` the playlist will be included in user''s public playlists (added to profile), if `false` it will remain private. For more about public/private status, see [Working with Playlists](/documentation/web-api/concepts/playlists)

                    '
      responses:
        '200':
          description: Playlist followed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - playlist-modify-public
        - playlist-modify-private
    delete:
      deprecated: true
      tags:
      - Users
      operationId: unfollow-playlist
      summary: 'Unfollow Playlist

        '
      description: 'Remove the current user as a follower of a playlist.


        **Note:** This endpoint is deprecated. Use [Remove Items from Library](/documentation/web-api/reference/remove-library-items) instead.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      responses:
        '200':
          description: Playlist unfollowed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - playlist-modify-public
        - playlist-modify-private
  /me/following:
    get:
      tags:
      - Users
      operationId: get-followed
      summary: 'Get Followed Artists

        '
      description: 'Get the current user''s followed artists.

        '
      parameters:
      - name: type
        required: true
        in: query
        schema:
          title: Item Type
          description: 'The ID type: currently only `artist` is supported.

            '
          enum:
          - artist
          example: artist
          type: string
      - name: after
        required: false
        in: query
        schema:
          title: After
          description: 'The last artist ID retrieved from the previous request.

            '
          example: 0I2XqVXqHScXjHhk6AYYRe
          type: string
      - name: limit
        required: false
        in: query
        schema:
          title: Limit
          description: 'The maximum number of items to return. Default: 20\. Minimum: 1\. Maximum: 50\.

            '
          default: 20
          example: 10
          type: integer
          minimum: 0
          maximum: 50
      responses:
        '200':
          $ref: '#/components/responses/CursorPagedArtists'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-follow-read
    put:
      deprecated: true
      tags:
      - Users
      operationId: follow-artists-users
      summary: 'Follow Artists or Users

        '
      description: 'Add the current user as a follower of one or more artists or other Spotify users.


        **Note:** This endpoint is deprecated. Use [Save Items to Library](/documentation/web-api/reference/save-library-items) instead.

        '
      parameters:
      - name: type
        required: true
        in: query
        schema:
          title: Item Type
          description: 'The ID type.

            '
          enum:
          - artist
          - user
          example: artist
          type: string
      - name: ids
        required: true
        in: query
        schema:
          title: Spotify IDs
          description: 'A comma-separated list of the artist or the user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids).

            A maximum of 50 IDs can be sent in one request.

            '
          example: 2CIMQHirSU0MQqyYHq0eOx,57dN52uHvrHOxijzpIgu3E,1vCWHaC5f2uS3yhpwWbIA6
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              required:
              - ids
              properties:
                ids:
                  type: array
                  description: 'A JSON array of the artist or user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids).

                    For example: `{ids:["74ASZWbe4lXaubB36ztrGX", "08td7MxkoHQkXnWAYD8d6Q"]}`. A maximum of 50 IDs can be sent in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._

                    '
                  items:
                    type: string
      responses:
        '204':
          description: Artist or user followed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-follow-modify
    delete:
      deprecated: true
      tags:
      - Users
      operationId: unfollow-artists-users
      summary: 'Unfollow Artists or Users

        '
      description: 'Remove the current user as a follower of one or more artists or other Spotify users.


        **Note:** This endpoint is deprecated. Use [Remove Items from Library](/documentation/web-api/reference/remove-library-items) instead.

        '
      parameters:
      - name: type
        required: true
        in: query
        schema:
          title: Item Type
          description: 'The ID type: either `artist` or `user`.

            '
          enum:
          - artist
          - user
          example: artist
          type: string
      - name: ids
        required: true
        in: query
        schema:
          title: Spotify IDs
          description: 'A comma-separated list of the artist or the user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `ids=74ASZWbe4lXaubB36ztrGX,08td7MxkoHQkXnWAYD8d6Q`. A maximum of 50 IDs can be sent in one request.

            '
          example: 2CIMQHirSU0MQqyYHq0eOx,57dN52uHvrHOxijzpIgu3E,1vCWHaC5f2uS3yhpwWbIA6
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                ids:
                  type: array
                  description: 'A JSON array of the artist or user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids). For example: `{ids:["74ASZWbe4lXaubB36ztrGX", "08td7MxkoHQkXnWAYD8d6Q"]}`. A maximum of 50 IDs can be sent in one request. _**Note**: if the `ids` parameter is present in the query string, any IDs listed here in the body will be ignored._

                    '
                  items:
                    type: string
      responses:
        '204':
          description: Artist or user unfollowed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-follow-modify
  /me/following/contains:
    get:
      tags:
      - Users
      operationId: check-current-user-follows
      summary: 'Check If User Follows Artists or Users

        '
      deprecated: true
      description: 'Check to see if the current user is following one or more artists or other Spotify users.


        **Note:** This endpoint is deprecated. Use [Check User''s Saved Items](/documentation/web-api/reference/check-library-contains) instead.

        '
      parameters:
      - name: type
        required: true
        in: query
        schema:
          title: Item Type
          description: 'The ID type: either `artist` or `user`.

            '
          enum:
          - artist
          - user
          example: artist
          type: string
      - name: ids
        required: true
        in: query
        schema:
          title: Spotify IDs
          description: 'A comma-separated list of the artist or the user [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) to check. For example: `ids=74ASZWbe4lXaubB36ztrGX,08td7MxkoHQkXnWAYD8d6Q`. A maximum of 50 IDs can be sent in one request.

            '
          example: 2CIMQHirSU0MQqyYHq0eOx,57dN52uHvrHOxijzpIgu3E,1vCWHaC5f2uS3yhpwWbIA6
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ArrayOfBooleans'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0:
        - user-follow-read
  /playlists/{playlist_id}/followers/contains:
    get:
      tags:
      - Users
      operationId: check-if-user-follows-playlist
      summary: 'Check if Current User Follows Playlist

        '
      deprecated: true
      description: 'Check to see if the current user is following a specified playlist.


        **Note:** This endpoint is deprecated. Use [Check User''s Saved Items](/documentation/web-api/reference/check-library-contains) instead.

        '
      parameters:
      - $ref: '#/components/parameters/PathPlaylistId'
      - name: ids
        required: false
        in: query
        schema:
          title: Spotify user IDs
          description: '**Deprecated** A single item list containing current user''s [Spotify Username](/documentation/web-api/concepts/spotify-uris-ids). Maximum: 1 id.

            '
          example: jmperezperez
          type: string
      responses:
        '200':
          $ref: '#/components/responses/SingletonArrayOfBoolean'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - oauth_2_0: []
components:
  responses:
    Unauthorized:
      description: 'Bad or expired token. This can happen if the user revoked a token or

        the access token has expired. You should re-authenticate the user.

        '
      content:
        application/json:
          schema:
            type: object
            required:
            - error
            properties:
              error:
                $ref: '#/components/schemas/ErrorObject'
    TooManyRequests:
      description: 'The app has exceeded its rate limits.

        '
      content:
        application/json:
          schema:
            type: object
            required:
            - error
            properties:
              error:
                $ref: '#/components/schemas/ErrorObject'
    SingletonArrayOfBoolean:
      description: Array of boolean, containing a single boolean
      content:
        application/json:
          schema:
            type: array
            example:
            - true
            items:
              type: boolean
    PagingArtistOrTrackObject:
      description: Pages of artists or tracks
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/PagingObject'
            - type: object
              properties:
                items:
                  type: array
                  items:
                    type: object
                    oneOf:
                    - $ref: '#/components/schemas/ArtistObject'
                    - $ref: '#/components/schemas/TrackObject'
                    discriminator:
                      propertyName: type
    Forbidden:
      description: 'Bad OAuth request (wrong consumer key, bad nonce, expired

        timestamp...). Unfortunately, re-authenticating the user won''t help here.

        '
      content:
        application/json:
          schema:
            type: object
            required:
            - error
            properties:
              error:
                $ref: '#/components/schemas/ErrorObject'
    OnePublicUser:
      description: A user
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicUserObject'
    CursorPagedArtists:
      description: A paged set of artists
      content:
        application/json:
          schema:
            type: object
            required:
            - artists
            properties:
              artists:
                $ref: '#/components/schemas/CursorPagingSimplifiedArtistObject'
    OnePrivateUser:
      description: A user
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PrivateUserObject'
    ArrayOfBooleans:
      description: Array of booleans
      content:
        application/json:
          schema:
            type: array
            example:
            - false
            - true
            items:
              type: boolean
  schemas:
    PublicUserObject:
      type: object
      x-spotify-docs-type: PublicUserObject
      properties:
        display_name:
          type:
          - string
          - 'null'
          description: 'The name displayed on the user''s profile. `null` if not available.

            '
        external_urls:
          allOf:
          - $ref: '#/components/schemas/ExternalUrlObject'
          description: 'Known public external URLs for this user.

            '
        followers:
          deprecated: true
          allOf:
          - $ref: '#/components/schemas/FollowersObject'
          description: 'Information about the followers of this user.

            '
        href:
          type: string
          description: 'A link to the Web API endpoint for this user.

            '
        id:
          type: string
          description: 'The [Spotify user ID](/documentation/web-api/concepts/spotify-uris-ids) for this user.

            '
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageObject'
          description: 'The user''s profile image.

            '
        type:
          type: string
          enum:
          - user
          description: 'The object type.

            '
        uri:
          type: string
          description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for this user.

            '
    CursorPagingObject:
      type: object
      x-spotify-docs-type: CursorPagingObject
      properties:
        href:
          type: string
          description: A link to the Web API endpoint returning the full result of the request.
        limit:
          type: integer
          description: The maximum number of items in the response (as set in the query or by default).
        next:
          type: string
          description: URL to the next page of items. ( `null` if none)
        cursors:
          allOf:
          - $ref: '#/components/schemas/CursorObject'
          description: The cursors used to find the next set of items.
        total:
          type: integer
          description: The total number of items available to return.
    AlbumBase:
      type: object
      required:
      - album_type
      - total_tracks
      - available_markets
      - external_urls
      - href
      - id
      - images
      - name
      - release_date
      - release_date_precision
      - type
      - uri
      properties:
        album_type:
          type: string
          description: 'The type of the album.

            '
          enum:
          - album
          - single
          - compilation
          example: compilation
        total_tracks:
          type: integer
          description: The number of tracks in the album.
          example: 9
        available_markets:
          deprecated: true
          type: array
          items:
            type: string
          example:
          - CA
          - BR
          - IT
          description: 'The markets in which the album is available: [ISO 3166-1 alpha-2 country codes](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). _**NOTE**: an album is considered available in a market when at least 1 of its tracks is available in that market._

            '
        external_urls:
          allOf:
          - $ref: '#/components/schemas/ExternalUrlObject'
          description: 'Known external URLs for this album.

            '
        href:
          type: string
          description: 'A link to the Web API endpoint providing full details of the album.

            '
        id:
          type: string
          description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the album.

            '
          example: 2up3OPMp9Tb4dAKM2erWXQ
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageObject'
          description: 'The cover art for the album in various sizes, widest first.

            '
        name:
          type: string
          description: 'The name of the album. In case of an album takedown, the value may be an empty string.

            '
        release_date:
          type: string
          example: 1981-12
          description: 'The date the album was first released.

            '
        release_date_precision:
          type: string
          enum:
          - year
          - month
          - day
          example: year
          description: 'The precision with which `release_date` value is known.

            '
        restrictions:
          allOf:
          - $ref: '#/components/schemas/AlbumRestrictionObject'
          description: 'Included in the response when a content restriction is applied.

            '
        type:
          type: string
          enum:
          - album
          description: 'The object type.

            '
        uri:
          type: string
          example: spotify:album:2up3OPMp9Tb4dAKM2erWXQ
          description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the album.

            '
    TrackRestrictionObject:
      type: object
      x-spotify-docs-type: TrackRestrictionObject
      properties:
        reason:
          type: string
          description: 'The reason for the restriction. Supported values:

            - `market` - The content item is not available in the given market.

            - `product` - The content item is not available for the user''s subscription type.

            - `explicit` - The content item is explicit and the user''s account is set to not play explicit content.


            Additional reasons may be added in the future.

            **Note**: If you use this field, make sure that your application safely handles unknown values.

            '
    ExternalUrlObject:
      type: object
      x-spotify-docs-type: ExternalUrlObject
      properties:
        spotify:
          type: string
          description: 'The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the object.

            '
    CursorObject:
      type: object
      x-spotify-docs-type: CursorObject
      properties:
        after:
          type: string
          description: The cursor to use as key to find the next page of items.
        before:
          type: string
          description: The cursor to use as key to find the previous page of items.
    FollowersObject:
      type: object
      x-spotify-docs-type: FollowersObject
      properties:
        href:
          type:
          - string
          - 'null'
          description: 'This will always be set to null, as the Web API does not support it at the moment.

            '
        total:
          type: integer
          description: 'The total number of followers.

            '
    CursorPagingSimplifiedArtistObject:
      type: object
      x-spotify-docs-type: PagingArtistObject
      allOf:
      - $ref: '#/components/schemas/CursorPagingObject'
      - type: object
        properties:
          items:
            type: array
            items:
              $ref: '#/components/schemas/ArtistObject'
    TrackObject:
      type: object
      x-spotify-docs-type: TrackObject
      properties:
        album:
          allOf:
          - $ref: '#/components/schemas/SimplifiedAlbumObject'
          description: 'The album on which the track appears. The album object includes a link in `href` to full information about the album.

            '
        artists:
          type: array
          items:
            $ref: '#/components/schemas/SimplifiedArtistObject'
          description: 'The artists who performed the track. Each artist object includes a link in `href` to more detailed information about the artist.

            '
        available_markets:
          deprecated: true
          type: array
          items:
            type: string
          description: 'A list of the countries in which the track can be played, identified by their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code.

            '
        disc_number:
          type: integer
          description: 'The disc number (usually `1` unless the album consists of more than one disc).

            '
        duration_ms:
          type: integer
          description: 'The track length in milliseconds.

            '
        explicit:
          type: boolean
          description: 'Whether or not the track has explicit lyrics ( `true` = yes it does; `false` = no it does not OR unknown).

            '
        external_ids:
          allOf:
          - $ref: '#/components/schemas/ExternalIdObject'
          description: 'Known external IDs for the track.

            '
        external_urls:
          allOf:
          - $ref: '#/components/schemas/ExternalUrlObject'
          description: 'Known external URLs for this track.

            '
        href:
          type: string
          description: 'A link to the Web API endpoint providing full details of the track.

            '
        id:
          type: string
          description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the track.

            '
        is_playable:
          type: boolean
          description: 'Part of the response when [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied. If `true`, the track is playable in the given market. Otherwise `false`.

            '
        linked_from:
          deprecated: true
          type: object
          description: 'Part of the response when [Track Relinking](/documentation/web-api/concepts/track-relinking) is applied, and the requested track has been replaced with different track. The track in the `linked_from` object contains information about the originally requested track.

            '
        restrictions:
          allOf:
          - $ref: '#/components/schemas/TrackRestrictionObject'
          description: 'Included in the response when a content restriction is applied.

            '
        name:
          type: string
          description: 'The name of the track.

            '
        popularity:
          deprecated: true
          type: integer
          description: 'The popularity of the track. The value will be between 0 and 100, with 100 being the most popular.<br/>The popularity of a track is a value between 0 and 100, with 100 being the most popular. The popularity is calculated by algorithm and is based, in the most part, on the total number of plays the track has had and how recent those plays are.<br/>Generally speaking, songs that are being played a lot now will have a higher popularity than songs that were played a lot in the past. Duplicate tracks (e.g. the same track from a single and an album) are rated independently. Artist and album popularity is derived mathematically from track popularity. _**Note**: the popularity value may lag actual popularity by a few days: the value is not updated in real time._

            '
        preview_url:
          deprecated: true
          type:
          - string
          - 'null'
          description: 'A link to a 30 second preview (MP3 format) of the track. Can be `null`

            '
          x-spotify-policy-list:
          - $ref: '#/components/x-spotify-policy/policies/StandalonePreview'
        track_number:
          type: integer
          description: 'The number of the track. If an album has several discs, the track number is the number on the specified disc.

            '
        type:
          type: string
          description: 'The object type: "track".

            '
          enum:
          - track
        uri:
          type: string
          description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the track.

            '
        is_local:
          type: boolean
          description: 'Whether or not the track is from a local file.

            '
    AlbumRestrictionObject:
      type: object
      x-spotify-docs-type: AlbumRestrictionObject
      properties:
        reason:
          type: string
          enum:
          - market
          - product
          - explicit
          description: 'The reason for the restriction. Albums may be restricted if the content is not available in a given market, to the user''s subscription type, or when the user''s account is set to not play explicit content.

            Additional reasons may be added in the future.

            '
    ExplicitContentSettingsObject:
      type: object
      x-spotify-docs-type: ExplicitContentSettingsObject
      properties:
        filter_enabled:
          type: boolean
          description: 'When `true`, indicates that explicit content should not be played.

            '
        filter_locked:
          type: boolean
          description: 'When `true`, indicates that the explicit content setting is locked and can''t be changed by the user.

            '
    ArtistObject:
      type: object
      x-spotify-docs-type: ArtistObject
      properties:
        external_urls:
          allOf:
          - $ref: '#/components/schemas/ExternalUrlObject'
          description: 'Known external URLs for this artist.

            '
        followers:
          deprecated: true
          allOf:
          - $ref: '#/components/schemas/FollowersObject'
          description: 'Information about the followers of the artist.

            '
        genres:
          deprecated: true
          type: array
          items:
            type: string
          example:
          - Prog rock
          - Grunge
          description: 'A list of the genres the artist is associated with. If not yet classified, the array is empty.

            '
        href:
          type: string
          description: 'A link to the Web API endpoint providing full details of the artist.

            '
        id:
          type: string
          description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the artist.

            '
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageObject'
          description: 'Images of the artist in various sizes, widest first.

            '
        name:
          type: string
          description: 'The name of the artist.

            '
        popularity:
          deprecated: true
          type: integer
          description: 'The popularity of the artist. The value will be between 0 and 100, with 100 being the most popular. The artist''s popularity is calculated from the popularity of all the artist''s tracks.

            '
        type:
          type: string
          enum:

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotify/refs/heads/main/openapi/spotify-users-api-openapi.yml