listen links
How the listen links work
The buttons
- ◈ Bandcamp — buys the night from the band, when they have released it. Buying there pays them, which is why it comes first.
- ▷ Listen on nugs and ▷ Watch — hand the show to AppleNugs, a Mac app for nugs.net, at that night. Watch opens its video side.
- ▷ on a setlist row — the same handoff, started at that song.
- ↗ Open on nugs.net — the show’s own page in the nugs web player. It appears only when we know that exact page.
What a click does
The Listen, Watch and row buttons hand your browser an applenugs:// link. If AppleNugs is installed, it opens and finds the show on nugs by artist, date and venue. If nothing claims the link after about a second and you are still on the page, you are sent to nugs.net instead — straight to the show’s page when we know it, or to a search for it when we don’t. Watch does the same for the video side, when the show has one.
What you need
- A nugs.net subscription. These buttons open what a subscription already includes, and nugs.net asks you to sign in.
- AppleNugs for macOS — signed, notarized, updates itself.
- On iPhone, AppleNugs is personal-install only — you build it yourself. There is no App Store version and no TestFlight, so on a phone these buttons land on the nugs website.
What this page can't promise
This index holds no nugs catalog. A night listed here isn’t necessarily on nugs, and landing on an empty search means nugs doesn’t have that night — not that the link broke. As of today, 476 of 855 shows here link straight to their page on nugs.net; the rest fall back to a search.
Two shows on one day are told apart by venue. Where that isn’t enough, this site’s web links fall back to a search rather than guessing — the app, given no usable venue, opens the first show it finds on that date. And a web link reaches a show, never one song — the row’s ▷ starts the app at the song, but without the app you land on the whole show.
Try it
These are the real thing, built for 2026-08-18 at Commodore Ballroom the same way every show page builds its buttons. Clicking tells you whether the handoff works on your machine — it doesn’t say whether the show is on nugs.
The link behind that button:
applenugs://show/2026-08-18?artist=Goose&venue=Commodore%20Ballroom
The same link, asking for video:
applenugs://show/2026-08-18?artist=Goose&venue=Commodore%20Ballroom&media=video
Where it sends you if the app doesn’t open:
https://play.nugs.net/#/search?searchTerm=Goose%202026-08-18
How the links are built
The buttons emit this grammar:
applenugs://show/<YYYY-MM-DD>?artist=<name>[&venue=<venue>][&song=<title>&set=<n>&pos=<n>][&media=audio|video]
| Part | Required | Notes |
|---|---|---|
applenugs:// | yes | The scheme AppleNugs registers. Not nugs:// — that belongs to the official app. |
show/<YYYY-MM-DD> | yes | The performance date — the one identifier this site and nugs share natively. |
artist=<name> | yes | Band name, e.g. Goose. Keeps the app's handler generic instead of hardcoding one artist. |
venue=<venue> | no | Tie-break for two-show days (audio; video resolution is date-only). Without it the app opens the first show on the date; a venue matching nothing falls back to search. |
song=<title>&set=<n>&pos=<n> | no | Start playback at one song. set/pos are sent for future disambiguation — matching today is title-only. |
media=audio|video | no | audio when omitted. |
Query values are percent-encoded with %20 for spaces — never +. Swift’s URLComponents does not decode + to a space, so a + reaches the app literally.
Song titles are matched against the resolved show’s track list in three tiers: exact normalized match, then a track title that contains the song, then the longest track title the song contains (so a segue link like “Madhuvan > Hot Tea” still lands on “Madhuvan”).
Without the app, the same buttons fall back to the nugs web player — https://play.nugs.net/release/<id>, or https://play.nugs.net/watch/release/<id> for video — when this site has resolved the show’s id, and to a search otherwise. There is no per-track web route.
The app, and the full contract, live at github.com/tsvb/applenugs.