scraper-api-com Spotify API

Spotify: read-only. 6 public endpoints, no account needed.

Operations 6

GET /v1/spotify/artist Get a Spotify artist (profile, stats, discography) by URL or id #
GET /v1/spotify/track Get a single Spotify track by URL or id #
GET /v1/spotify/album Get a Spotify album (with tracks) by URL or id #
GET /v1/spotify/podcast Get a Spotify podcast/show's metadata by URL or id #
GET /v1/spotify/podcast/episodes Get a Spotify podcast's episodes by URL or id (paginate via ?cursor=) #

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/scraper-api-com:scraper-api-com-spotify-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

scraper-api-com-spotify-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: scraper-api.com Spotify API
  version: 0.1.0
  description: 'Self-hosted social media scraping API — a drop-in replacement for scrapecreators.com.


    ## Authentication

    Every request must send your API key in the `x-api-key` header.


    ## Credits

    Billing is credit-based: **1 request = 1 credit** (some endpoints cost more — see each endpoint''s description). Credits are **non-expiring** — buy once, use whenever.


    Response bodies match the ScrapeCreators shapes so existing integrations work unchanged.'
  contact:
    name: Fabian Bitter
    email: fabian@bitter.de
servers:
- url: https://api.scraper-api.com
  description: Production
security:
- apiKeyAuth: []
tags:
- name: Spotify
  description: 'Spotify: read-only. 6 public endpoints, no account needed.'
paths:
  /v1/spotify/artist:
    get:
      tags:
      - Spotify
      summary: Get a Spotify artist (profile, stats, discography) by URL or id
      operationId: spotify_v1_artist
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      - name: id
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                __typename: Artist
                id: 06HL4z0CvFAxyc27GXpf02
                uri: spotify:artist:06HL4z0CvFAxyc27GXpf02
                profile:
                  name: Mock Artist
                  biography:
                    text: A mock artist.
                  externalLinks:
                    items: []
                stats:
                  followers: 500000
                  monthlyListeners: 1000000
                  worldRank: 1
                  topCities:
                    items: []
                visuals:
                  avatarImage:
                    sources:
                    - url: https://i.scdn.co/image/mock
                      width: 640
                      height: 640
                discography:
                  albums:
                  - id: mockalbumid
                    name: Mock Album
                    type: ALBUM
                    uri: spotify:album:mockalbumid
                    date:
                      year: 2024
                      month: 1
                      day: 1
                      precision: DAY
                    coverArt:
                      sources:
                      - url: https://i.scdn.co/image/mockcover
                        width: 640
                        height: 640
                    tracks:
                      totalCount: 12
                  compilations: []
                  latest: {}
                  popularReleasesAlbums: []
                  singles: []
                  topTracks:
                  - uid: '0'
                    track:
                      id: mocktrackid
                      name: Mock Track
                      playcount: 12345678
                      uri: spotify:track:mocktrackid
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/spotify/track:
    get:
      tags:
      - Spotify
      summary: Get a single Spotify track by URL or id
      operationId: spotify_v1_track
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      - name: id
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                __typename: Track
                id: mocktrackid
                uri: spotify:track:mocktrackid
                name: Mock Track
                duration:
                  totalMilliseconds: 210000
                playcount: 12345678
                trackNumber: 1
                playability:
                  playable: true
                  reason: PLAYABLE
                contentRating:
                  label: NONE
                albumOfTrack:
                  id: mockalbumid
                  name: Mock Album
                  uri: spotify:album:mockalbumid
                  coverArt:
                    sources:
                    - url: https://i.scdn.co/image/mockcover
                      width: 640
                      height: 640
                firstArtist:
                  items:
                  - id: 06HL4z0CvFAxyc27GXpf02
                    profile:
                      name: Mock Artist
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/spotify/album:
    get:
      tags:
      - Spotify
      summary: Get a Spotify album (with tracks) by URL or id
      operationId: spotify_v1_album
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      - name: id
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                __typename: Album
                id: 0pgrg7phBbnwGJ2HBEl9EG
                uri: spotify:album:0pgrg7phBbnwGJ2HBEl9EG
                name: Mock Album
                type: ALBUM
                label: Mock Records
                date:
                  isoString: '2024-01-01T00:00:00Z'
                  precision: DAY
                copyright:
                  items:
                  - type: C
                    text: © 2024 Mock Records
                playability:
                  playable: true
                  reason: PLAYABLE
                coverArt:
                  sources:
                  - url: https://i.scdn.co/image/mockcover
                    width: 640
                    height: 640
                artists:
                  items:
                  - id: 06HL4z0CvFAxyc27GXpf02
                    profile:
                      name: Mock Artist
                    uri: spotify:artist:06HL4z0CvFAxyc27GXpf02
                tracksV2:
                  totalCount: 1
                  items:
                  - uid: '0'
                    track:
                      name: Mock Track
                      trackNumber: 1
                      uri: spotify:track:mocktrackid
                      duration:
                        totalMilliseconds: 210000
                      playcount: 12345678
                discs:
                  items:
                  - number: 1
                    tracks:
                      totalCount: 1
                moreAlbumsByArtist:
                  items: []
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/spotify/search:
    get:
      tags:
      - Spotify
      summary: Search Spotify across artists, albums, tracks, playlists, podcasts and episodes
      operationId: spotify_v1_search
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: query
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                albumsV2:
                - __typename: Album
                  id: 0pgrg7phBbnwGJ2HBEl9EG
                  name: Mock Album
                  uri: spotify:album:0pgrg7phBbnwGJ2HBEl9EG
                artists:
                - __typename: Artist
                  id: 06HL4z0CvFAxyc27GXpf02
                  profile:
                    name: Mock Artist
                  uri: spotify:artist:06HL4z0CvFAxyc27GXpf02
                audiobooks: []
                episodes: []
                genres: []
                playlists: []
                podcasts:
                - __typename: Podcast
                  id: 3mliji9352UAk3XnWElnDV
                  name: Mock Podcast
                  uri: spotify:show:3mliji9352UAk3XnWElnDV
                topResultsV2: []
                tracksV2:
                - __typename: Track
                  id: mocktrackid
                  name: Mock Track
                  uri: spotify:track:mocktrackid
                users: []
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/spotify/podcast:
    get:
      tags:
      - Spotify
      summary: Get a Spotify podcast/show's metadata by URL or id
      operationId: spotify_v1_podcast
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      - name: id
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                __typename: Podcast
                id: 3mliji9352UAk3XnWElnDV
                uri: spotify:show:3mliji9352UAk3XnWElnDV
                name: Mock Podcast
                description: A mock podcast.
                mediaType: AUDIO
                publisher:
                  name: Mock Publisher
                coverArt:
                  sources:
                  - url: https://i.scdn.co/image/mockshow
                    width: 640
                    height: 640
                episodesV2:
                  totalCount: 1
                  items:
                  - entity:
                      __typename: Episode
                      data:
                        uri: spotify:episode:mockepisodeid
                topics:
                  items: []
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/spotify/podcast/episodes:
    get:
      tags:
      - Spotify
      summary: Get a Spotify podcast's episodes by URL or id (paginate via ?cursor=)
      operationId: spotify_v1_podcast_episodes
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      - name: id
        in: query
        required: false
        description: 'Provide at least one of: url, id.'
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                id: 3mliji9352UAk3XnWElnDV
                uri: spotify:show:3mliji9352UAk3XnWElnDV
                episodes:
                - __typename: Episode
                  id: mockepisodeid
                  uri: spotify:episode:mockepisodeid
                  name: Mock Episode
                  description: A mock episode.
                  duration:
                    totalMilliseconds: 3600000
                  releaseDate:
                    isoString: '2024-01-01T00:00:00Z'
                    precision: DAY
                  coverArt:
                    sources:
                    - url: https://i.scdn.co/image/mockep
                      width: 640
                      height: 640
                cursor: null
                totalCount: 1
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your scraper-api.com API key.
x-tagGroups:
- name: Platforms
  tags:
  - Instagram
  - TikTok
  - YouTube
  - Facebook
  - LinkedIn
  - Twitter
  - Spotify
  - Apple Music
  - Kleinanzeigen
  - Quoka
  - markt.de
  - mobile.de
  - '11880'
  - Gelbe Seiten
  - ImmobilienScout24
  - immowelt
  - WG-Gesucht
  - Bayut
  - LOVOO
  - Jaumo
  - Tinder
  - Bumble
  - Snapchat
  - Google
  - Arbeitsagentur
  - Ausbildung.de
  - meinestadt.de