Artist
1 credit/v1/spotify/artistOne artist: id, name, follower count, monthly listeners, genres, and related artists. Address by Spotify artist URL or id.
id or url
Fetch public Spotify artists, tracks, albums, playlists, and podcasts as structured JSON with one SocialCrawl API key. Same Author and Post schema as every other platform. Reads are priced in credits.
6 active endpoints
Six live read endpoints for public Spotify data. Artists, tracks, albums, playlist search, podcast shows, and podcast episodes. Data API only. No playback control, no private library, no Spotify user OAuth in your client.
/v1/spotify/artistOne artist: id, name, follower count, monthly listeners, genres, and related artists. Address by Spotify artist URL or id.
id or url
/v1/spotify/trackOne track: name, artists, album and cover art, duration, play count, and sharing links.
id or url
/v1/spotify/albumOne album: title, artists, release date, cover art, copyright info, and the tracks on it.
id or url
/v1/spotify/searchPlaylists matching a keyword. Playlist results only: tracks, artists, albums, and podcasts are not returned as search hits today.
query
/v1/spotify/podcastOne podcast show: id, name, description, and cover art. Address by Spotify /show/ URL or id.
id or url
/v1/spotify/podcast/episodesEpisodes for one podcast: title, release date, duration, cover art, and short preview audio URL. Page with the cursor from the previous response.
id or url, cursor
Returns a Spotify artist's details: id, name, follower count, monthly listeners, genres, and related artists.
Use it when you have an artist id or URL and want the artist itself rather than one of their tracks or albums.
1 credit
$ curl https://www.socialcrawl.dev/v1/spotify/artist?url=https%3A%2F%2Fopen.spotify.com%2Fartist%2F0cGUm45nv7Z6M6qdXYQGTX \
-H "x-api-key: sc_YOUR_API_KEY"// Running this live needs your own API key. Hit "Try it" to see an example responseSpotify is a normal SocialCrawl social surface. You call GET /v1/spotify/… with an API key, spend credits on live misses, and get a single JSON envelope back. No Spotify developer app in your client. No second SDK.
Send your key in the x-api-key header. No Spotify OAuth flow in your app. The same key works across the SocialCrawl catalog.
All Spotify routes are GET. Pass url, id, query, and cursor as query strings. We validate formats before charging.
Every Spotify read costs 1 credit on a live miss. Cache hits cost 0. Empty or hard failures refund.
Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached. Episode lists carry pagination when more remain.
Most products resolve an artist or show, pull catalog items, then deepen only the tracks or episodes that matter.
GET /v1/spotify/search?query=…Author-shaped artist or podcast: followers, genres, cover art
Resolve the URL or id once before listing catalog content.
GET /v1/spotify/podcast?url=…Post-shaped track or album with play counts and artwork
Open a single song or the full record when list rows are not enough.
GET /v1/spotify/podcast/episodes?url=…Playlist hits for a keyword
Discover editorial or community playlists without a track id.
GET /v1/spotify/track?url=…Episode list with preview URLs and durations
Page a show after you know the podcast identity.
GET /v1/spotify/artist
?url=https://open.spotify.com/artist/…
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here
# podcast chain
GET /v1/spotify/podcast?url=https://open.spotify.com/show/…
GET /v1/spotify/podcast/episodes?url=…{
"success": true,
"data": {
"id": "0TnOYISbd1XYRBk9myaseg",
"username": "artist_slug",
"display_name": "Example Artist",
"followers": 1200000,
"url": "https://open.spotify.com/artist/…",
"ext": {
"genres": ["pop"],
"popularity": 82
}
},
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_…",
"cached": false
}Field names match the rest of SocialCrawl where archetypes align. Artists and shows map to Author. Tracks, albums, and episodes map to Post leaves.
id, username/display_name, avatar_url, bio, followers, url, ext (monthly listeners, genres, related artists)
track, album, or episode as Post: id, url, content, engagement (plays), author/artists, published_at, media ext
playlist hits for query: id, name, description, cover, owner fields when exposed
items[] with title, release date, duration, cover, preview audio URL; cursor when more episodes remain
Same request lifecycle as every other /v1 platform endpoint. Spotify is not a sidecar.
Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit (600/min) and concurrency (50 in flight per key).
Registry lookup finds spotify/artist (or track, album, search, podcast). Required params and URL format checks run first. Invalid input returns 400 with no charge. Valid calls debit 1 credit atomically before upstream work.
A deterministic cache key is built from platform + resource + params. Hit: return immediately, credits_used = 0. Miss: social-read upstream for Spotify routes. Retries on 5xx/network with a circuit breaker if the source is unhealthy.
Upstream JSON is mapped to Author / Post / PostList (or route archetype), validated against the canonical Zod schema, then wrapped in the success envelope and logged for billing audit.
Billing rules that matter in production
Spotify is public-read music and podcast catalog data. We normalize it into the SocialCrawl schema so your code does not learn a second OAuth flow.
Public artists, tracks, albums, playlist search hits, podcast shows, and episodes. Read-only surface for research, monitoring, and product jobs. No private libraries and no playback control.
Social-read upstreams behind one gateway. You send open.spotify.com URLs or ids; we fetch and normalize without a Spotify app in your client.
A unified JSON envelope: success, data, credits_used, request_id, cached. Artists and shows become Author objects. Tracks, albums, and episodes share Post leaves where archetypes align.
No write endpoints. No user library or playlist mutation. Search returns playlists only today. Prefer the registry docs for the live inventory.
The jobs this API is most often used for.
Catalog enrichment and podcast episode monitoring
Callers concentrate on artist and track detail, album pulls, playlist keyword search, and podcast to episodes chains. Public Spotify catalog reads on the shared schema with credit pricing. No Spotify developer app in your client for these public surfaces.
Artist, track, album, and show calls are typically a few seconds on live miss. Episode lists and search can be slightly slower on cold cache.
The jobs Spotify data is most often used for. Each one is a full recipe with the endpoint chain and pricing.
Common ways teams put this data to work, and the stack each one tends to run.
Resolve artist and track URLs into structured cards. Fill internal catalogs with followers, play counts, and artwork.
Poll podcast plus podcast/episodes for a fixed set of shows. Alert when new episodes publish.
Wire artist to track to album, or search playlists by keyword, into pipelines. Same key as the rest of SocialCrawl.
Every Spotify route is one credit per live call. Cache hits are free.
curl "https://www.socialcrawl.dev/v1/spotify/artist?url=https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg" \
-H "x-api-key: sc_your_api_key_here"curl "https://www.socialcrawl.dev/v1/spotify/search?query=true+crime" \
-H "x-api-key: sc_your_api_key_here"Same key as the rest of the catalog
Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.
Same Spotify data, two very different paths. Auth, rate limits, schema, and cost, side by side.
| Feature | SocialCrawl | Spotify Web API |
|---|---|---|
| Authentication | One x-api-key header | OAuth 2.0 client credentials with token refresh |
| Setup | Sign up and call, no app registration | Developer dashboard app registration before the first call |
| Rate limits | Credit-based: your only quota is your balance | Per-app rolling rate limits with 429 retry handling |
| Response schema | Unified JSON shared across 64 platforms | Well documented, but Spotify-specific objects |
| Pricing | 1 credit per request; 100 free credits on signup | Free for catalog metadata within rate limits |
| Data coverage | Artists, tracks, albums, podcasts, episodes, and search | Full official catalog plus user-authorized data |
| Maintenance | One integration covers Spotify and 63 other platforms | Separate SDK and token logic just for Spotify |
Authentication
Setup
Rate limits
Response schema
Pricing
Data coverage
Maintenance
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usAsk AI about SocialCrawl