App deep links into streaming services
Title and episode responses include a link for each platform the source has on file. Apps use those URLs to open Netflix, Disney+, Max, Prime Video, and the other services in the catalog when a link exists. Watchmode is not affiliated with those services and does not play the video.
On a paid plan a platform field is null when that link is not on file. The API does not fill in a guessed URL. Coverage varies by service, country, title, and episode.
What the API returns
GET /v1/title/{title_id}/sources/ returns one row per source and country. Each row has source_id, name, type (sub, rent, buy, free, or tve), region, format, price, season and episode counts for TV, and these link fields:
- web_url: a web page for the title on that service.
- ios_url and android_url: mobile app links. On the free plan each field is the string “Deeplinks available for paid plans only.” On a paid plan it is the URL or null.
- tvos_url, android_tv_url, and roku_url: Apple TV, Android TV, and Roku. On the free plan each field is the string “TV links available for paid plans only.” On a paid plan it is the link or null. A Roku value may be a launch path such as launch/12?contentID=123&MediaType=movie rather than an https URL.
GET /v1/title/{title_id}/episodes/ returns seasons and episodes. Paid plans include the same style of links for a specific episode where the source has one. The free plan uses the same placeholder strings on the TV link fields. Other title reads, including sources and episodes, cost 1 credit with a Watchmode ID.
Live sports and guide links are a different object. They use platform, type, url, affiliate, requires_subscription, and refresh_after. Those fields are described on the live sports and TV guide page.
Who it is for
Mobile and TV apps that open the service’s own app instead of only a browser page, and catalog products that need a web fallback when an app link is null. The regions query limits rows to countries enabled on the plan.
Which plan unlocks it
- Developer: web_url is returned. iOS, Android, Apple TV, Android TV, and Roku fields return the placeholder strings above, not URLs.
- Startup, Business, and Enterprise: the available app and TV links, or null when that platform has no link. These paid plans do not require attribution.
- Passing an IMDb ID or a TMDB id such as movie-278 or tv-1396 in the title path costs 2 credits because ID resolution is included. A Watchmode ID costs 1. See the ID mapping page.
Questions
Does every Netflix, Disney+, Max, and Prime Video title have an iOS and Android link?
No. Those services are in the catalog, and title-source rows include ios_url and android_url fields, but a paid-plan value is null when Watchmode does not have that platform link. Check the field on the row you render.
Are the free-plan placeholder strings URLs?
No. The free plan returns the text “Deeplinks available for paid plans only.” for iOS and Android, and “TV links available for paid plans only.” for Apple TV, Android TV, and Roku. Do not open those strings as links.
Does a deep link start playback?
The API does not guarantee playback. The link opens a provider destination when the provider and the device accept it. The viewer still needs whatever subscription, rental, purchase, or login that service requires.