Stream and artwork

Stream a track as 128kbps MP3 with metadata headers, and fetch cover art.

Stream and artwork

Stream a track inline for playback, with track metadata returned in response headers, and fetch its cover art. Both routes are keyed by ISRC (exactly 12 characters).

Stream a track

GEThttps://music.jakeypri.me/stream/:isrcAuth required
Stream a track as a 128kbps MP3 with metadata in response headers.

Streaming is 128kbps only. The audio is returned inline (Content-Disposition: inline) so it plays in a browser or audio element rather than downloading. On the first request for an ISRC, Hep.gg fetches and caches the file, so subsequent streams are served from cache.

Path params
isrc
stringrequired
The track's ISRC. Must be exactly 12 characters.

Response

200 with an audio/mpeg stream and these metadata response headers. A HEAD /stream/:isrc is also supported and returns just the headers.

Response headers
X-Track-Title
stringoptional
Track title, URL-encoded. Decode with decodeURIComponent.
X-Track-Artist
stringoptional
Artist name, URL-encoded.
X-Track-Album
stringoptional
Album title, URL-encoded.
X-Track-Duration
integeroptional
Track duration in seconds (a plain integer, not encoded).
X-Track-Artwork
stringoptional
Absolute URL to the cover art: https://music.jakeypri.me/artwork/<ISRC>. A plain URL, not encoded.

Errors

  • 400 { "error": "Invalid ISRC" } when the ISRC is not exactly 12 characters.
  • 404 { "error": "Track not found" } when no track matches the ISRC.
  • 500 on a server-side failure.

Examples

curl
# Read just the metadata headers
curl -I "https://music.jakeypri.me/stream/USRC17607839?key=YOUR_KEY"
 
# Stream the audio to a file
curl -L "https://music.jakeypri.me/stream/USRC17607839?key=YOUR_KEY" -o stream.mp3

Cover artwork

GEThttps://music.jakeypri.me/artwork/:isrcPublic
Fetch the 500x500 cover image for an ISRC. Public, no key required.

The cover art proxy returns a 500x500 JPEG (Deezer cover_medium) for an ISRC. Unlike every download and stream route, this endpoint requires no API key, so you can embed the URL directly in an <img> tag. The image is cached server-side and served with a one-year client cache.

Path params
isrc
stringrequired
The track's ISRC. Must be exactly 12 characters.

Response

200 with Content-Type: image/jpeg and Cache-Control: public, max-age=31536000 (one year). Errors: 400 { "error": "Invalid ISRC" }, 404 { "error": "Artwork not found" }, 500 { "error": "Failed to fetch artwork" }.

curl
curl -L "https://music.jakeypri.me/artwork/USRC17607839" -o cover.jpg