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 <REDACTED>" "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.