I’m calling the Apple Music API server-to-server using a developer token (ES256) created under my Developer account.
Storefront probe succeeds:
GET /v1/storefronts/us -> HTTP 200
All catalog endpoints return 500 (search, artists, charts) across multiple storefronts:
GET /v1/catalog/us/search?term=rema&types=artists&limit=1 -> HTTP 500
GET /v1/catalog/us/artists/1359441424 -> HTTP 500
GET /v1/catalog/us/charts?types=songs&chart=most-played&genre=0&limit=5 -> HTTP 500
GET /v1/catalog/gb/... same results (500)
I created the Media Services key ~48–72 hours ago. Media Services is enabled and associated with my Media ID. Developer token uses alg ES256, kid=<KEY_ID>, iss=<TEAM_ID>, exp ~6 months. Clock is NTP-synced.
Sample request (curl) and recent response headers:
curl -i -H "Authorization: Bearer " "https://api.music.apple.com/v1/catalog/us/search?term=rema&types=artists&limit=1"
Response (truncated):
HTTP/2 500
x-apple-jingle-correlation-key: NBZFUP7RVJBZOWVPIBVGUFMBLI
x-apple-application-site: st
x-daiquiri-instance: daiquiri:42282005:st53p00it-...
Date: 2025-10-13T16:54:22Z
This occurs consistently from different networks and with different storefronts. The same token returns 200 for /v1/storefronts/us.
Please advise or route to engineering. Happy to provide full JWT header/payload (minus signature) and full response logs.
Selecting any option will automatically load the page