How Apple TV deep linking actually works
One press that opens Max at a specific film looks like magic and is really a short string of text handed from one app to another. Here is the whole mechanism, including the parts that fail.
An app can ask tvOS to open a URL
Every app on an Apple TV runs in its own sandbox and cannot reach inside another app. What it can do is ask the system to open a URL. The system looks at that URL, works out which installed app claims it, and switches to that app, handing it the URL as it launches.
That is the entire trick. The app doing the sending never controls what happens next — it hands over a string and the receiving app decides what to make of it. If the receiving app understands the string, you land on a film's page. If it does not, you land wherever that app opens by default, usually its home screen.
Two kinds of link, with different failure modes
Custom URL schemes
An app can register a private scheme — a prefix before the colon that belongs to it rather than to the web. When the system sees a URL starting with that prefix, it launches the owning app. Schemes are simple and fast, and they are also completely undocumented in most cases: they are an implementation detail the service can rename in any release, and there is no public registry that says which prefixes exist or what paths they accept.
Universal links
The other kind is an ordinary https:// web address that the app has claimed. A service publishes a file on its own domain declaring which of its app identifiers may handle which paths, and the device checks that file. When the claim holds, opening the web address opens the app instead of a browser.
Universal links are the better-behaved option, because the claim is verified by the service's own server and the address is one you can also open on a phone or a laptop. On tvOS there is a wrinkle: there is no browser to fall back to. On a phone, an unclaimed universal link opens Safari and you still reach the film. On an Apple TV, if the app does not claim the link, nothing useful happens at all.
Why you cannot look this up
There is no directory of streaming deep links. Services publish link formats for their own marketing, partners get formats under agreement, and everyone else infers them. Two apps from the same company can behave differently on tvOS and on iOS. The same app can behave differently in two countries, because the identifier a link carries may be regional.
This is why the only honest way to know whether a link works is to send it to a real Apple TV, with that app installed and signed in, and watch the television. Not a simulator — the simulator does not have the streaming apps.
What "it did not work" actually looks like
Deep links do not fail loudly. They have three failure shapes, and telling them apart matters if you are trying to fix one:
- The app opens at its home screen. The system found the app but the app did not recognise the path — usually because the format changed, or the identifier in the link is not the one that service uses in your region.
- Nothing happens. No app claims the URL. On tvOS, with no browser to catch it, the press appears to do nothing at all.
- The App Store opens. The app is not installed. This is the one genuinely helpful failure, and only if the sending app deliberately arranged it as a fallback.
A well-built link opener checks whether an app is installed before it promises anything, and degrades in a stated order: exact title, then app home screen, then the App Store page for the app. What it should never do is promise the title and silently deliver the home screen.
Some apps accept nothing at all
The uncomfortable part of this topic is that deep linking is a courtesy, not an obligation. A streaming app that does not want to be launched into by third parties simply does not claim any links, and there is no technical route around that. No amount of cleverness in the sending app can create an entry point the receiving app has not built.
Netflix's Apple TV app is the case people notice, because it is often the service a title turns out to be on. It accepts no incoming links, so the best any app can do is open Netflix and let you search there. The right response to that is not to pretend otherwise — it is to say "opens the app" on the button before it is pressed.
The other route: Apple's own integration
Separately from all of this, Apple runs a partner integration behind universal search and the Apple TV app's "Ways to Watch" row. Participating services hand Apple catalogue metadata and playback entry points, which is why some titles play from Apple's own interface without you ever seeing the other app's home screen. That path is closed to third-party apps — it is a business arrangement between Apple and each service, not an API, and it covers only the services that signed up. When people say universal search "does not find Netflix", this is the mechanism they are bumping into.
How JumpIn handles it
JumpIn keeps a table of link formats per service and per region, and treats every entry as unverified until it has been watched working on a real Apple TV. Verified entries get the strong promise; everything else gets the weak one. The button text is the contract: it tells you whether you are about to land on the title or on the app's front door, before you press it.
Two honest limits. JumpIn never plays video — it hands you to the service's own app, which does the playing, and it cannot bypass a subscription you do not have.
Link formats also change without notice. When one breaks, JumpIn falls back to opening the app rather than failing silently, and there is an optional on-device log you can turn on to tell us which one broke. That is documented on the support page.
You can see the full ladder of what opens where on the JumpIn home page, or read how to find which streaming service has a movie for the step that comes before the press. The app is in TestFlight rather than the App Store while exactly this behaviour is verified on hardware — email us to join the list.