Catalog search
1 credit/v1/apple_music/searchCatalog hits for a keyword. Optional type restricts the kind to song, album, or artist. Single page. Deepen a hit with artist, album, or track.
query, optional type
Fetch public Apple Music artists, albums, tracks, and search as structured JSON with one SocialCrawl API key. Same Author and Post schema as every other platform. Reads are priced in credits.
4 active endpoints
Four live read endpoints for public Apple Music catalog data. Keyword search, then artist, album, and track by id or URL. Data API only. No playback control, no private library, no MusicKit in your client.
/v1/apple_music/searchCatalog hits for a keyword. Optional type restricts the kind to song, album, or artist. Single page. Deepen a hit with artist, album, or track.
query, optional type
/v1/apple_music/artistOne artist: id, name, artwork, and the Apple Music artist URL. Address by music.apple.com artist URL or id.
id or url
/v1/apple_music/albumOne album: title, artist, artwork, track count, and the Apple Music album URL. Address by album URL or id.
id or url
/v1/apple_music/trackOne track: title, artist, duration, preview audio URL, and the Apple Music track URL. Address by track URL or id.
id or url
Returns Apple Music search results for a query, optionally restricted by type such as song, album, or artist.
Use it to find a catalog item by keyword, then call artist, album, or track with an id or URL for the full record.
query · Search query.
$ curl https://www.socialcrawl.dev/v1/apple_music/search?query=taylor+swift&type=song \
-H "x-api-key: sc_YOUR_API_KEY"// Running this live needs your own API key — hit "Try it" to see an example responseApple Music is a normal SocialCrawl social surface. You call GET /v1/apple_music/… with an API key, spend credits on live misses, and get a single JSON envelope back. No MusicKit. No Apple developer token in your client. No second SDK.
Send your key in the x-api-key header. No MusicKit flow in your app. The same key works across the SocialCrawl catalog.
All Apple Music routes are GET. Pass query, type, url, and id as query strings. We validate formats before charging.
Every Apple Music 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. Search is a single page.
Most products search the catalog, then deepen only the artist, album, or track that matters.
GET /v1/apple_music/search?query=…Catalog hits for a keyword, optionally filtered by type
Find an id or URL before you spend a call on the full record.
GET /v1/apple_music/artist?url=…Author-shaped artist: name, artwork, catalog URL
Resolve the performer once before listing albums or tracks.
GET /v1/apple_music/album?url=…Post-shaped album with artwork and track count
Open the whole record when a search hit is not enough.
GET /v1/apple_music/track?url=…Post-shaped song with duration and preview audio URL
Fetch one song when you already have the catalog URL.
GET /v1/apple_music/search
?query=taylor+swift&type=song
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here
# then deepen one hit
GET /v1/apple_music/artist?url=https://music.apple.com/us/artist/taylor-swift/159260351
GET /v1/apple_music/album?url=https://music.apple.com/us/album/red-taylors-version/1590368448
GET /v1/apple_music/track?url=https://music.apple.com/us/album/22-taylors-version/1590368448?i=1590368457{
"success": true,
"data": {
"id": "159260351",
"username": "Taylor Swift",
"display_name": "Taylor Swift",
"url": "https://music.apple.com/us/artist/taylor-swift/159260351",
"avatar_url": "https://is1-ssl.mzstatic.com/image/thumb/…"
},
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_…",
"cached": false
}Field names match the rest of SocialCrawl where archetypes align. Artists map to Author. Albums and tracks map to Post leaves. Search stays a SearchResult list.
id, username/display_name, avatar_url, url
album or track as Post: id, url, content (title, artwork, duration, preview), author, ext.apple_music
items[] catalog hits for query; optional type filter; single page
success, data, credits_used, credits_remaining, request_id, cached
Same request lifecycle as every other /v1 platform endpoint. Apple Music 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 apple_music/search (or artist, album, track). 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 Apple Music routes. Retries on 5xx/network with a circuit breaker if the source is unhealthy.
Upstream JSON is mapped to Author / Post / SearchResult, validated against the canonical Zod schema, then wrapped in the success envelope and logged for billing audit.
Billing rules that matter in production
Apple Music is public-read catalog data. We normalize it into the SocialCrawl schema so your code does not learn MusicKit or a second developer token.
Public artists, albums, tracks, and keyword search. Read-only surface for research, monitoring, and product jobs. No private libraries and no playback control.
Social-read upstreams behind one gateway. You send music.apple.com URLs or ids; we fetch and normalize without MusicKit in your client.
A unified JSON envelope: success, data, credits_used, request_id, cached. Artists become Author objects. Albums and tracks share Post leaves. Search stays a SearchResult list.
No write endpoints. No user library or playlist mutation. No playback. Prefer the registry docs for the live inventory.
The jobs this API is most often used for.
Catalog enrichment and track or album lookup
Callers concentrate on keyword search, then artist, album, and track detail by URL. Public Apple Music catalog reads on the shared schema with credit pricing. No MusicKit and no Apple developer token in your client.
Artist, album, and track calls are typically a few seconds on live miss. Search can be slightly slower on cold cache.
Common ways teams put this data to work, and the stack each one tends to run.
Resolve artist, album, and track URLs into structured cards. Fill internal catalogs with titles, artwork, and preview URLs.
Search by keyword, pick a hit, then call artist, album, or track for the full record.
Wire Apple Music next to Spotify on the shared schema. Same key as the rest of SocialCrawl.
Every Apple Music route is one credit per live call. Cache hits are free.
curl "https://www.socialcrawl.dev/v1/apple_music/search?query=taylor+swift&type=song" \
-H "x-api-key: sc_your_api_key_here"curl "https://www.socialcrawl.dev/v1/apple_music/artist?url=https://music.apple.com/us/artist/taylor-swift/159260351" \
-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 Apple Music data, two very different paths. Auth, rate limits, schema, and cost — side by side.
| Feature | SocialCrawl | Apple MusicKit API |
|---|---|---|
| Authentication | One x-api-key header | MusicKit identifier plus a signed developer token (JWT) |
| Setup | Sign up and call, no Apple Developer account | Apple Developer Program and MusicKit key before the first call |
| Rate limits | Credit-based: your only quota is your balance | Per-token Apple rate limits with 429 retry handling |
| Response schema | Unified JSON shared across 49 platforms | Apple Music catalog objects documented for MusicKit |
| Pricing | 1 credit per request; 100 free credits on signup | Catalog reads are free within Apple's rate limits |
| Data coverage | Search, artist, album, and track catalog metadata | Full catalog plus playback and user-authorized library data |
| Maintenance | One integration covers Apple Music and 48 other platforms | Separate MusicKit SDK and token logic just for Apple Music |
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