Show what you're listening to on the Amazon Music web player in your Discord status — title, artist, album art, progress bar, the works.
- Live track title, artist, and album art
- Spotify-style progress bar with elapsed and total time
- Animated album art for albums that have it (a small but growing fraction — Lover, SOS, Music of the Spheres, Midnights, recent Apple-curated releases, etc.)
- Small image overlay showing the artist's photo — or a side-by-side split for multi-artist tracks
- Click the album art → opens a song.link page so anyone viewing can listen on Spotify / Apple Music / YouTube Music / etc.
- Click the artist photo → opens the artist on Amazon Music
- "Listen on song.link" button under the activity card
- Compact view in Discord's member list shows just the artist name; expanded view keeps the "Listening to Amazon Music" branding
- Hides automatically when music is paused
- Auto-starts at boot via macOS LaunchAgent — no terminal needed after install
- Survives Discord and bridge restarts cleanly
- Handles multiple Amazon Music tabs sensibly (only the actively-playing tab updates Discord)
- macOS (the auto-start script is Mac-only; the bridge code itself is portable)
- Node.js v18+
- Google Chrome (or any Chromium browser that supports MV3 extensions)
- The Discord desktop app (browser Discord can't receive Rich Presence)
- Amazon Music
- Go to discord.com/developers/applications → New Application
- Name it anything (e.g. "Amazon Music")
- Copy the Application ID — this goes in
.env - Optional: under Rich Presence → Art Assets, upload any Amazon Music logo (512×512+) and name it
amazon_music. Used as a fallback when an artist photo isn't found.
- Go to developer.spotify.com/dashboard → Create app
- Name and description: anything
- Redirect URI:
http://127.0.0.1:8888/callback(not actually used — required field) - APIs/SDKs: select Web API
- Copy the Client ID and Client Secret
- Sign up free at cloudinary.com — Programmable Media plan
- Copy your Cloud name from the dashboard
- Settings (gear icon) → Security → make sure "Fetched URL" is not in Restricted image types
- Settings → Upload → scroll to Upload presets → Add upload preset
- Name:
amazon_rpc_motion(or anything — just remember it) - Signing mode: Unsigned (required)
- Save
- Name:
git clone https://github.com/sh1vvy/AmazonDiscordRPC.git ~/AmazonDiscordRPC
cd ~/AmazonDiscordRPC/bridge
cp .env.example .envEdit .env:
DISCORD_CLIENT_ID=...
SPOTIFY_CLIENT_ID=...
SPOTIFY_CLIENT_SECRET=...
CLOUDINARY_CLOUD_NAME=...
CLOUDINARY_UPLOAD_PRESET=amazon_rpc_motion
Then:
./install.shThis installs the dependencies and registers the bridge as a macOS LaunchAgent so it auto-starts every time you log in.
- Open
chrome://extensions - Toggle Developer mode (top-right)
- Click Load unpacked → select
~/AmazonDiscordRPC/extension
Open music.amazon.com, play a song, and check Discord. Your activity should update within a few seconds.
| Problem | Fix |
|---|---|
| Nothing shows in Discord | Make sure the desktop Discord app is running (browser Discord doesn't support RPC). Then check tail /tmp/amazondiscordrpc.err. |
| Activity shows but no album art | Rare — iTunes probably doesn't have the track (very obscure tracks). |
| No artist photo overlay | Spotify creds missing or wrong in .env, or the artist isn't on Spotify. |
| Multi-artist split missing | Cloudinary cloud name missing, or "Fetched URL" is in Restricted image types. |
| Animated artwork not showing | Most albums simply don't have it — Apple Music only has motion artwork for ~5–10% of releases. |
| RPC stops after closing terminal | It shouldn't — the LaunchAgent keeps it running. Verify with launchctl list | grep amazondiscordrpc. |
MIT.
