# Spotify (/docs/spotify) Spotify [#spotify] Spotify artists, tracks, albums, podcast shows and their episodes, plus playlist search — all behind the unified SocialCrawl envelope. Every endpoint is a `GET` and costs **1 credit**. Base URL: `/v1/spotify/...` Getting Started [#getting-started] Five of the six endpoints are addressed by **either an `id` or a `url`, and you must supply one of them**. Sending neither is a `400` before billing. The id is the segment after the object type in any Spotify link: ``` https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02 ^^^^^^^^^^^^^^^^^^^^^^ ``` 1\. Fetch an artist [#1-fetch-an-artist] ```bash curl "https://www.socialcrawl.dev/v1/spotify/artist?url=https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02" \ -H "x-api-key: sc_your_api_key_here" ``` The same call by id: ```bash curl "https://www.socialcrawl.dev/v1/spotify/artist?id=06HL4z0CvFAxyc27GXpf02" \ -H "x-api-key: sc_your_api_key_here" ``` 2\. Walk a podcast's episodes [#2-walk-a-podcasts-episodes] ```bash curl "https://www.socialcrawl.dev/v1/spotify/podcast/episodes?url=https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk" \ -H "x-api-key: sc_your_api_key_here" ``` 3\. Read computed fields [#3-read-computed-fields] When an endpoint supports a computed field and the required source inputs are present, the unified response includes that optional field. Depending on the endpoint, optional fields can include `engagement_rate`, `language`, `content_category`, and `estimated_reach`. See [Computed fields](/docs/computed-fields.md) for formulas, clamping rules, and null semantics. What you can get [#what-you-can-get] **Music.** `GET /v1/spotify/artist` returns an artist's id, name, follower count, monthly listeners, genres, and related artists. `GET /v1/spotify/track` returns one song — its artists, album and cover art, duration, play count, and sharing links. `GET /v1/spotify/album` returns a whole record with its release date, copyright, and track list. Pick by scope: `track` for one song, `album` for the record it sits on, `artist` for the performer. **Podcasts.** Spotify calls podcasts *shows*, and the URL says `/show/` rather than `/podcast/`. `GET /v1/spotify/podcast` returns the show itself — id, name, description, cover art — and `GET /v1/spotify/podcast/episodes` lists what it has published, each episode with a title, release date, duration, cover art, and a short preview audio URL. Episodes are the only paginated endpoint here: pass the previous response's cursor back to walk the back catalogue. **Search.** `GET /v1/spotify/search` takes a `query` and is the one endpoint that does not need an id. **Spotify search returns playlists, and only playlists.** Tracks, artists, albums, and podcasts do not come back as results today, whatever the query. To look up a known song, record, artist, or show, call its own endpoint with an `id` or `url` instead — search will not find it for you. Typical flow [#typical-flow] ```bash # 1. The show curl "https://www.socialcrawl.dev/v1/spotify/podcast?url=https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk" \ -H "x-api-key: sc_your_api_key_here" # 2. Its episodes, first page curl "https://www.socialcrawl.dev/v1/spotify/podcast/episodes?id=4rOoJ6Egrf8K2IrywzwOMk" \ -H "x-api-key: sc_your_api_key_here" # 3. Next page — pass back pagination.next_cursor curl "https://www.socialcrawl.dev/v1/spotify/podcast/episodes?id=4rOoJ6Egrf8K2IrywzwOMk&cursor=CURSOR_FROM_STEP_2" \ -H "x-api-key: sc_your_api_key_here" ``` Endpoints [#endpoints] Notes [#notes] * All endpoints use `GET` method with query parameters * Authentication via `x-api-key` header * Responses follow the unified SocialCrawl schema * `artist`, `track`, `album`, `podcast`, and `podcast/episodes` each accept `id` **or** `url` — supply exactly one; `search` takes `query` instead * Only `podcast/episodes` paginates. The other endpoints return a single object or a fixed set