Nexscope

Spotify Album

Look up a Spotify album by ID or URL for its artists, release date, cover art, copyright details, tracks and available sharing information.

CostAt least 10 credits / call
Try online
POST · https://api.nexscope.ai/social/spotify/albumMCP · social_spotify_album

What this API does

Look up a Spotify album by ID or URL for its artists, release date, cover art, copyright details, tracks and available sharing information. The request accepts id, url. Its documented result includes platform, resourceStatus.

Spotify Album API use cases

Plan a Spotify Album request

A researcher checks the published operation description and supplies id, url for Spotify Album. The request stays within the supported parameters rather than assuming other platform capabilities.

Inspect Spotify Album results

An analyst reviews platform, resourceStatus from Spotify Album for the requested subject. Missing values remain explicit, and the response does not establish complete platform coverage.

Document Spotify Album observations

A researcher records the inputs and available results from Spotify Album alongside its published description. The record supports a scoped review without inferring unsupported actions, refresh intervals or broader conclusions.

Spotify Album API FAQ

What does the Spotify Album API return?

Look up a Spotify album by ID or URL for its artists, release date, cover art, copyright details, tracks and available sharing information. The documented output includes platform, resourceStatus. It corresponds to the supplied id, url. Optional fields can be absent; a missing value should not be interpreted as a measured zero. Example values illustrate the response shape, rather than live account results.

How many credits does the Spotify Album API cost?

The current documented cost is At least 10 credits / call. This is the same cost shown at the top of this page. If a range or estimate is displayed, the final charge depends on the request. Review your available credits and the pricing page before calling the API, and check API usage records for the actual charge.

How do I call the Spotify Album API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/social/spotify/album with your API key as a Bearer token and the JSON inputs shown in API integration. In a compatible MCP client such as Claude or Cursor, connect Nexscope and call social_spotify_album. Use the MCP arguments shown in the MCP guide, or switch Online test to MCP to review its request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/social/spotify/album
MCP method
social_spotify_album

Step 1 of 3 · Authenticate

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .

Step 2 of 3 · Send a request

POSThttps://api.nexscope.ai/social/spotify/album

Run an API

Send a JSON request body using the parameters described below.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/social/spotify/album' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG"
}'

Code example

{
  "url": "https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG"
}

Step 3 of 3 · Inspect the result

Check the response

Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.

HTTP status codes

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.
All categories/ Social Data
POSThttps://api.nexscope.ai/social/spotify/album

Run this API

Send a JSON request to execute this API and receive the documented response payload.

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/social/spotify/album
AuthBearer API key
Content-Typeapplication/json

Request parameters

NameTypeRequiredDescription
idstringoptional
Spotify album id. If you'd prefer to use the URL instead, you can use the url parameter instead.
urlstringoptional
Spotify album URL. If you'd prefer to use the id instead, you can use the id parameter instead.
Example: https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG

Social data contract

Use your Nexscope API key. No supplier credentials are required. Requests reject unknown fields, including pageSize. URLs require HTTPS and an exact supported platform host and resource path. Documented YouTube video URLs may use youtu.be; other short links are unsupported. Check the request schema for supported fields and defaults.

Each request fetches one page. Continue manually with the returned nextCursor, or nextPage for Instagram Reels (pages 1–11). Cursors are opaque, unchanged strings up to 65536 UTF-8 bytes. No automatic pagination, retry, media download or transcription is performed. Repeated requests may purchase data again.

Resource status is independent of HTTP and billing: AVAILABLE, PARTIAL, PRIVATE, RESTRICTED, NOT_FOUND, NO_TRANSCRIPT or UNKNOWN can accompany code 0. Unknown values remain null; arrays remain empty arrays. fetchedAt is the response observation time; sourceFetchedAt is null without source evidence.

usage.billingStatus is NOT_CHARGED, SETTLED or UNKNOWN; chargedCredits is null when unconfirmed. Unknown charges never mean free. Completed lookups have a minimum charge of 10 credits, including cached, no-caption and unavailable-resource results; check API usage records for the actual charge. Parameter errors and unpublished APIs use the standard error envelope; upstream failures use code 13007, rate limits 429 and timeouts 408. Always check code and msg.

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

{
  "code": 0,
  "cost": "-1",
  "data": {
    "data": {
      "__typename": "Album",
      "artists": [
        {
          "id": "14xRX3JR8H4RWh8R7V3fvZ",
          "profile": {
            "name": "Miguel Angeles"
          },
          "sharingInfo": {
            "shareUrl": "https://open.spotify.com/artist/14xRX3JR8H4RWh8R7V3fvZ?si=LfcPfGMFQB-_Gpvc-_mIXA"
          },
          "uri": "spotify:artist:14xRX3JR8H4RWh8R7V3fvZ",
          "visuals": {
            "avatarImage": {
              "sources": [
                {
                  "height": 640,
                  "url": "https://i.scdn.co/image/ab6761610000e5eb9784901e4c2fb5e2e59bf7b2",
                  "width": 640
                }
              ]
            }
          }
        }
      ],
      "copyright": [
        {
          "text": "2025 IRL Angel",
          "type": "C"
        }
      ],
      "courtesyLine": "",
      "coverArt": {
        "extractedColors": {
          "colorDark": {
            "hex": "#777777"
          },
          "colorLight": {
            "hex": "#E0E0E0"
          },
          "colorRaw": {
            "hex": "#E0E0E0"
          }
        },
        "sources": [
          {
            "height": 300,
            "url": "https://i.scdn.co/image/ab67616d00001e029bd93cc6e406b820dfff691f",
            "width": 300
          }
        ]
      },
      "date": {
        "isoString": "2025-03-16T00:00:00Z",
        "precision": "DAY"
      },
      "discs": [
        {
          "number": 1,
          "tracks": {
            "totalCount": 3
          }
        }
      ],
      "id": "0pgrg7phBbnwGJ2HBEl9EG",
      "isPreRelease": false,
      "label": "IRL Angel",
      "moreAlbumsByArtist": [
        {
          "discography": {
            "popularReleasesAlbums": [
              {
                "coverArt": {
                  "sources": [
                    {
                      "height": 300,
                      "url": "https://i.scdn.co/image/ab67616d00001e02e1b81322a76efedc9296226b",
                      "width": 300
                    }
                  ]
                },
                "date": {
                  "year": 2023
                },
                "id": "73WPr90gWBdNLg1KHkgpc0",
                "name": "PROTECTION CHARM (SLOW & HARD VERSION)",
                "playability": {
                  "playable": true,
                  "reason": "PLAYABLE"
                },
                "sharingInfo": {
                  "shareId": "0oYuiIkGSle7UN5bTeILnw",
                  "shareUrl": "https://open.spotify.com/album/73WPr90gWBdNLg1KHkgpc0?si=0oYuiIkGSle7UN5bTeILnw"
                },
                "type": "SINGLE",
                "uri": "spotify:album:73WPr90gWBdNLg1KHkgpc0"
              }
            ]
          }
        }
      ],
      "name": "BEFORE THE SUN RISES & WINTERR ENDS",
      "playability": {
        "playable": true,
        "reason": "PLAYABLE"
      },
      "popularity": 14,
      "preReleaseEndDateTime": null,
      "releases": [],
      "saved": false,
      "sharingInfo": {
        "shareId": "mULFEWCzRY2MmJMhNahQMA",
        "shareUrl": "https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG?si=mULFEWCzRY2MmJMhNahQMA"
      },
      "success": true,
      "tracksV2": [
        {
          "track": {
            "artists": [
              {
                "profile": {
                  "name": "Miguel Angeles"
                },
                "uri": "spotify:artist:14xRX3JR8H4RWh8R7V3fvZ"
              }
            ],
            "associationsV3": {
              "videoAssociations": {
                "totalCount": 0
              }
            },
            "contentRating": {
              "label": "NONE"
            },
            "discNumber": 1,
            "duration": {
              "totalMilliseconds": 184109
            },
            "name": "AN IMPERRFECT BODY",
            "playability": {
              "playable": true
            },
            "playcount": 130437,
            "relinkingInformation": null,
            "saved": false,
            "trackNumber": 1,
            "uri": "spotify:track:0LfCnR4s7l6T4TyCNNsHBs"
          },
          "uid": "0c86f1002074d296d295"
        }
      ],
      "type": "SINGLE",
      "uri": "spotify:album:0pgrg7phBbnwGJ2HBEl9EG",
      "visualIdentity": {
        "squareCoverImage": {
          "__typename": "VisualIdentityImage",
          "extractedColorSet": {
            "encoreBaseSetTextColor": {
              "alpha": 255,
              "blue": 224,
              "green": 224,
              "red": 224
            },
            "highContrast": {
              "backgroundBase": {
                "alpha": 255,
                "blue": 83,
                "green": 83,
                "red": 83
              },
              "backgroundTintedBase": {
                "alpha": 255,
                "blue": 51,
                "green": 51,
                "red": 51
              },
              "textBase": {
                "alpha": 255,
                "blue": 255,
                "green": 255,
                "red": 255
              },
              "textBrightAccent": {
                "alpha": 255,
                "blue": 255,
                "green": 255,
                "red": 255
              },
              "textSubdued": {
                "alpha": 255,
                "blue": 205,
                "green": 205,
                "red": 205
              }
            },
            "higherContrast": {
              "backgroundBase": {
                "alpha": 255,
                "blue": 53,
                "green": 53,
                "red": 53
              },
              "backgroundTintedBase": {
                "alpha": 255,
                "blue": 86,
                "green": 86,
                "red": 86
              },
              "textBase": {
                "alpha": 255,
                "blue": 255,
                "green": 255,
                "red": 255
              },
              "textBrightAccent": {
                "alpha": 255,
                "blue": 96,
                "green": 215,
                "red": 30
              },
              "textSubdued": {
                "alpha": 255,
                "blue": 205,
                "green": 205,
                "red": 205
              }
            },
            "minContrast": {
              "backgroundBase": {
                "alpha": 255,
                "blue": 153,
                "green": 153,
                "red": 153
              },
              "backgroundTintedBase": {
                "alpha": 255,
                "blue": 128,
                "green": 128,
                "red": 128
              },
              "textBase": {
                "alpha": 255,
                "blue": 255,
                "green": 255,
                "red": 255
              },
              "textBrightAccent": {
                "alpha": 255,
                "blue": 255,
                "green": 255,
                "red": 255
              },
              "textSubdued": {
                "alpha": 255,
                "blue": 255,
                "green": 255,
                "red": 255
              }
            }
          }
        }
      },
      "watchFeedEntrypoint": null
    },
    "platform": "spotify",
    "resourceStatus": "AVAILABLE",
    "usage": {
      "billingStatus": "UNKNOWN"
    }
  },
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "0"
}

Response fields

NameTypeRequiredDescription
codeintegerrequired
0 means accepted or successful; nonzero is a platform error.
coststringrequired
Elapsed milliseconds, never credits; -1 outside web requests.
dataanyrequired
Data value used by this API operation.
msgstring | nullrequired
Msg value used by this API operation.
timestringrequired
Server local time: yyyy-MM-dd HH:mm:ss.
traceIdstring | nullrequired
Trace id value used by this API operation.
tsstringrequired
Epoch milliseconds.

Any of option 1 — requires platform, resourceStatus, data, usage

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.dataobjectrequired
Data value used by this API operation.
data.platformstringrequired
Platform value used by this API operation.
data.resourceStatusstringrequired
Resource status value used by this API operation.
data.usageobjectrequired
Usage value used by this API operation.

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Responses

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

Step 1 of 2 · Connect your MCP client

MCP

V2 recommended

Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.

POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
Authentication

OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.

Step 2 of 2 · Call the tool

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "social_spotify_album",
    "arguments": {
      "url": "https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG"
    }
  }
}

Legacy MCP v1

Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.

GET / POST /mcp/legacy

What can you do with this API?

Data explained and practical use cases

AI Guide

Question

What data can Spotify Album provide, and how might I use it?

AI answer

Retrieves detailed information about a Spotify album by its id or URL, including album metadata, artists, release date, cover art, copyright info, tracks, and sharing details.

Data categoryDocumented fieldsHow to use them
RequesturlProvide the required identifiers, filters, or paging inputs listed in the API document.
Responsedata.data, data.platform, data.resourceStatusInspect returned values and source references; availability depends on the request and upstream source.
  • Review Spotify Album.
    • Prompt example: “Retrieve Spotify Album for [public URL]. Summarize only the information actually returned and preserve source links when available. Report private, restricted, missing or partial results explicitly; missing values are not zero.”
  • Read the Album’s Label and Copyright Notices.
    • Prompt example: “Retrieve [Spotify album URL] and show the returned label and copyright notices as written. Explain which details are missing; do not treat a notice as permission to sample, download or reuse the music.”
  • Build a Disc-by-Disc Track List.
    • Prompt example: “Retrieve [Spotify album URL] and organize the returned tracks by disc and track number, with names and durations. Flag missing numbers and unavailable tracks. Do not invent tracks or assume the returned list is complete merely because the album metadata is present.”
  • Check Release and Playback Metadata.
    • Prompt example: “For [Spotify album URL], show the returned release date at its stated precision, label, prerelease indicator and playback availability. Keep prerelease status separate from an already released album and report missing reasons without inventing a launch date or regional access.”

These are suggested workflows, not completed lookups. Report missing, restricted, or partial data explicitly; verify the live response before making a decision.

Online test

Execute the current API with your API key and JSON payload. Online tests use this site's configured API environment; the Endpoint and copyable examples use the public integration address.

One request fetches one page. Copy nextCursor into cursor, or nextPage into page (1–11 for Reels), then run manually. Repeated requests may purchase data again. Completed lookups have a minimum charge of 10 credits, including cached, no-caption, private, restricted and not-found results. Resource status and actual billing status are independent; null credits are unknown, never free. Check usage.billingStatus, usage.chargedCredits and API usage records for the actual charge.

Try it

Send a real request with the same contract shown in the reference.

Endpoint
/social/spotify/album
MCP method
social_spotify_album
cURL
curl -X POST \
  https://api.nexscope.ai/social/spotify/album \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG" }'
Request estimate: Estimating…Usage based. The final charge depends on actual usage. Estimating does not run the API or charge credits.API usage records
Response
No response yet. Run the request to see the response here.

Related APIs