Developer Console

Alexa.RemoteVideoPlayer Interface: SearchAndPlay (VSK Fire TV)

When users ask Alexa to play specific video content, such as "Watch Bosch" or "Watch the Warriors game," the Alexa.RemoteVideoPlayer interface sends SearchAndPlay directives to your app or Lambda.

Overview

The SearchAndPlay directive signals that the customer has asked Alexa to "watch" an item. SearchAndPlay results in playback of the specifically requested title, or a title that best matches the requested entity. If there are no matched titles, search results are returned instead.

Here are some example utterances:

  • Alexa, watch title
  • Alexa, play title
  • Alexa, stream title
  • Alexa, start title

Utterances for SearchAndPlay Directives

Alexa sends a SearchAndPlay directive to your app (for app-only integrations) or to your Lambda (for cloudside integrations) when users say the following utterances.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

Watch breaking bad

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

Watch sean connery

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

Watch comedy

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

Watch star trek

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

Watch a movie

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

Watch breaking bad season two

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

Watch breaking bad episode five

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

Watch breaking bad season two episode five

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

Watch james bond

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

Watch seahawks

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

Watch soccer

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

Watch n. b. a. league

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

Watch soccer game

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

mets / joue / lance / pars [VideoName] sur [AppName]

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

regarde un film avec [actor]

mets un film avec [actor]

joue un film avec [actor]

pars un film avec [actor]

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

regarder un [GenreName]

regarder une [GenreName]

mets un [GenreName]

mets une [GenreName]

joue un [GenreName]

joue une [GenreName

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

regarde [title]

mets [title]

joue [title]

pars [title]

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

regarde un film

mets un film

joue un film

pars un film

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

regarde la saison [x] de [title]

mets la saison [x] de [title]

joue la saison

[x] de [title]

pars la saison [x] de [title]

regarde [title] saison [x]

mets [title] saison [x]

joue [title] saison [x]

pars [title] saison [x]

joue la saison [x] de [title]

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

regarde l'épisode [x] de [title]

mets l'épisode [x] de [title]

joue l'épisode [x] de [title]

pars l'épisode [x] de [title]

joue [title] épisode [x]

mets [title] épisode [x]

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

Same as fr-FR

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

Not supported

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

Regarde le [team]

Regarde le match de [team]

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

Not supported

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

Mets [league]

Joue [league]

Regarde [league]

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

Not supported

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

mets / joue / lance [VideoName] sur [AppName]

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

regarde un film avec [actor]

mets un film avec [actor]

joue un film avec [actor]

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

regarder un [GenreName]

regarder une [GenreName]

mets un [GenreName]

mets une [GenreName]

joue un [GenreName]

joue une [GenreName

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

Regarde [title]

Mets [title]

Joue [title]

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

regarde un film

mets un film

joue un film

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

Regarde la saison [x] de [title]

Mets la saison [x] de [title]

Regarde [title] saison [x]

Mets [title] saison [x]

Joue [title] saison [x]

Joue la saison [x] de [title]

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

Regarde l'épisode [x] de [title]

Mets l'épisode [x] de [title]

Joue l'épisode [x] de [title]

Joue [title] épisode [x]

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

Regarde l'épisode [x] de la saison [x] de [title]

Joue l'épisode [x] de la saison [x] de [title]

Mets l'épisode [x] de la saison [x] de [title]

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

Not supported

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

Regarde le [team]

Regarde le match de [team]

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

Not supported

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

Mets [league]

Joue [league]

Regarde [league]

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

Not supported

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

ich möchte [VideoName] gucken

spiel [VideoName]

spiel watchlist ab von [VideoName]

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

spiel [VideoName] (mit [ActorName]) auf [AppName]

streame einen film mit [ActorName] auf [AppName]

streame einen [ActorName] film auf [AppName]

streame eine serie mit [ActorName] auf [AppName]

streame eine [ActorName] serie auf [AppName]

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

spiel eine [GenreName] [MediaType] auf [DeviceType] ab

spiel eine [GenreName] [MediaType] auf [AppName] ab

[GenreName] [MediaType] schauen

spiel einen [GenreName] [MediaType]

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

ich möchte [VideoName] gucken

spiel [VideoName]

spiel watchlist ab von [VideoName]?

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

spiel einen [MediaType]

spiel [MediaType] aus der/meiner watchlist

streame den [MediaType] [VideoName] auf [AppName]/[Device] spiel trailer von [VideoName]

spiel die neueste folge von [VideoName]

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

spiel [VideoName] [Season] [Season_Numer]

spiel [VideoName] [Season] [Season_Numer] auf [AppName]

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

spiel die [Episode_Number] [Episode] von [VideoName]

spiel [VideoName] [Episode_Number]

spiel von [VideoName] [Episode] [Episode_Number]

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

spiel [Season] [Season_Numer] [Episode] [Episode_Number] von [VideoName]

spiel [VideoName] [Season] [Season_Numer] [Episode] [Episode_Number]

spiel die [VideoName] [Season] [Season_Numer] [Episode] [Episode_Number] auf [AppName] ab

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

Not supported

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

spiel [SportsTeam] [Event] auf [AppName]

[SportsTeam] [Event] anschauen/ansehen

das [SportsTeam] [Event] auf [AppName] anschauen/ansehen

spiel das [SportsTeam] [Event] auf meinem [Device]

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

spiel das [Sport] [Event] auf meinem [Device]

das [Sport] [Event] ansehen

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

spiel [SportsTeam] [Event] auf [AppName]

[SportsTeam] [Event] anschauen

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

spiel das [Sport] [Event] auf meinem [Device]

das [Sport] [Event] ansehen

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

[VideoName] चलाओ/बजाओ/लगाओ/play/देखो [AppName] पे/पर/में [VideoName] चलाओ/बजाओ/लगाओ/play

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

[ActorName] का/की/के movies को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के movies चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [GenreName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [GenreName] चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [VideoName] चलाओ/बजाओ/लगाओ/play/देखो

[ActorName] का/की/के/वाला [GenreName] की [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के/वाला [GenreName] की [VideoName] चलाओ/बजाओ/लगाओ/play/देखो

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

[GenreName] [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [GenreName] [VideoName] चलाओ/बजाओ/लगाओ/play/देखो

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

star trek देखो/देखना/देखिए

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

[VideoName] movies चलाओ/बजाओ/लगाओ/play/देखो

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

[VideoName] का/की/के [SeasonNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] [SeasonNumber] चलाओ/बजाओ/लगाओ/play/देखो

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

[VideoName] का/की/के [EpisodeNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [EpisodeNumber] चलाओ/बजाओ/लगाओ/play/देखो

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

[VideoName] season one episode one चलाओ/बजाओ/लगाओ/play करो

[VideoName] season एक का episode एक चलाओ/बजाओ/लगाओ/play करो

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

[CharacterName] का/की/के/वाला movies चलाओ/बजाओ/लगाओ/play/देखो [CharacterName] का/की/के/वाला movies को चलाओ/बजाओ/लगाओ/play/देखो Watch [CharacterName] movie [VideoName]

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो

[Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

metti / trasmetti / riproduci / fammi guardare / fammi vedere + [VideoName] (+ da/su [DeviceName])

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

guarda un film con [ActorName]

metti un film con [ActorName]

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

guarda una [GenreName]

fammi vedere una commedia

mostra mi una commedia

metti una commedia

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

guarda star trek

fammi vedere star trek

mostra star trek

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

guarda un film

metti un fim

trasmetti un film

riproduci un film

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

guarda [VideoName] stagione due

metti [VideoName] stagione due

riproduci [VideoName] stagione due

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

guarda [VideoName] episodio cinque

metti [VideoName] episodio cinque

riproduci [VideoName] episodio cinque

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

guarda [VideoName] stagione due episodio cinque

metti [VideoName] stagione due episodio cinque

riproduci [VideoName] stagione due episodio cinque

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

guarda [CharacterName]

fammi vedere un film con james bond

mostrami un film di james bond

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

riproduci la partita del [SportsTeam]

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

not supported

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

trasmetti la partita della [League]

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

not supported

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

[VideoName]を再生して [VideoName]を[AppName]で再生して [AppName]で[VideoName][MediaType]を再生して

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

[ActorNameName]が出ている[MediaType]を再生

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

[AppName]で[GenreNameName][MediaType]を再生[AppName]で[GenreNameName]を再生

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

[VideoName]を再生して [VideoName]を<AppName]で再生して [AppName]で[VideoName][MediaType]を再生して

[MediaType]を再生して

[ActorNameName]が出ている[MediaType]を再生

[Anaphor][MediaType]を流して

[AppName]で[GenreNameName][MediaType]を再生

[AppName]で[VideoName][MediaType]を再生して

[ChannelName]の[MediaType]を再生

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

[VideoName]の[Season][Season_Number]の

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

[Episode_Number][Episode]を再生

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

[Episode_Number][Episode]を再生

[VideoName]の[Season][Season_Number]の

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

[SportsTeam]の[Event]を[AppName]で見せて

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

[SportsTeam]の[Event]を[AppName]で見せて

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

[SportsTeam]の[Event]を[AppName]で見せて

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

[SportsTeam]の[Event]を[AppName]で見せて

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

tocar/assistir/reproduzir [VideoName] no/na [AppName]

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

assistir [ator]

colocar [ator]

coloque filmes com [ator]

encontre filmes com [ator]

me mostre filmes com [ator]

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

assitir [GenreName]

assistir programas de [GenreName]

programas de [GenreName]

colocar [GenreName]

por favor reproduzir [GenreName]

reproduzir programas de [GenreName]

colocar um programa de [GenreName]

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

assitir jornada nas estrelas

colocar jornada nas estrelas

reproduzir jornada nas estrelas

você pode passsar jornada nas estrelas

por favor reproduzir jornada nas estrelas

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

assistir um filme

colocar um filme

nós podemos assistir um filme

ver um filme

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

assistir [title] temporada [x]

colocar [title] temporada [x]

reproduzir [title] temporada [x]

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

assistir [title] episódio [x]

colocar [title] episódio [x]

reproduzir [title] episódio [x]

reproduzir o [title] episódio [x]

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

assistir [title] temporada [x] episódio [x]

colocar [title] temporada [x] episódio [x]

reproduzir [title] temporada [x] episódio [x]

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

Not Supported

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

assisitr [SportTeam]

assitir o/a [SportTeam]

colocar no/na [SportTeam]

colocar o jogo do/da [SportTeam]

me mostre o jogo do/da [SportTeam]

mostre o jogo do/da [SportTeam]

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

assistir [Sport]

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

assistir [League]

colocar [League]

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

not supported

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Feature Sample Utterances Expected Response
Watch [title]
Required for certification

pon interstellar

reproduce interstellar

ver interstellar

The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media.

Watch by actor
Required for certification

pon salma hayek

reproduce salma hayek

Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user.

Watch by genre name
Required for certification

pon comedia en netflix (Not supported without AppName)

Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by franchise [title]
Required for certification

pon star wars

reproduce star wars

Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises.

Watch by media type
Optional

pon la película*

reproduce la película*

Note: Not supported in es-ES or es-US

Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user.

Watch [title] with season number
Optional

empieza la segunda temporada de los rompecorazones

comienza la segunda temporada de los rompecorazones

reproduce la segunda temporada de los rompecorazones

The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with episode number
Optional

pon el capítulo final de los serrano

The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays.

Watch [title] with season and episode number
Optional

pon el segundo episodio de la primera temporada de anabel

reproduce el cuarto episodio de la temporada tres de águila roja

The content corresponding to the requested season and episode plays.

Watch by character name
Optional

reproduce algo con james bond

Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports team
Optional

ver el partido del real madrid

Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results.

Watch by sports type
Optional

reproduce el partido de fútbol en mi televisor

ver el partido de fútbol en mi tele

ver el partido de fútbol

Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports league
Optional

pon el partido de la a. c. b. en mi tele

ver el partido de la a. c. b. en mi televisor

Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

Watch by sports event
Optional

ver el partido de fútbol

Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results.

SearchAndPlay Directive Example

The following is an example SearchAndPlay directive. This is a directive that Alexa might send in response to a user's request to watch "Manchester by the Sea."

EXTRA_DIRECTIVE_NAMESPACE: Alexa.RemoteVideoPlayer
EXTRA_DIRECTIVE_NAME: SearchAndPlay
EXTRA_DIRECTIVE_PAYLOAD_VERSION: 3
EXTRA_DIRECTIVE_PAYLOAD: payload

payload contains the following:

{
    "payload": {
      "experience": {
            "mode": "VOICE_OPTIMIZED",
            },
      "entities": [
          {
              "externalIds": {
                  "imdb": "tt4574334"
              },
              "type": "Video",
              "uri": "entity://provider/show/manchesterbythesea",
              "value": "Manchester by the Sea"
          }
      ],
      "searchText": [
          {
              "transcribed": "Manchester by the Sea"
          }
      ],
      "timeWindow": {
          "end": "2016-09-07T23:59:00+00:00",
          "start": "2016-09-01T00:00:00+00:00"
      }
  }
}
{
    "directive": {
        "endpoint": {
            "cookie": {},
            "endpointId": "<the identifier of the target endpoint>",
            "scope": {
                "token": "<an OAuth2 bearer token>",
                "type": "BearerToken"
            }
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "e7f9c31f-cb90-4003-9795-c6fb9f487945",
            "name": "SearchAndPlay",
            "namespace": "Alexa.RemoteVideoPlayer",
            "payloadVersion": "3"
        },
        "payload": {
           "experience": {
               "mode": "VOICE_OPTIMIZED",
                },
            "entities": [
                {
                    "externalIds": {
                        "imdb": "tt4574334"
                    },
                    "type": "Video",
                    "uri": "entity://provider/show/manchesterbythesea",
                    "value": "Manchester by the Sea"
                }
            ],
            "searchText": [
                {
                    "transcribed": "Manchester by the Sea"
                }
            ],
            "timeWindow": {
                "end": "2016-09-07T23:59:00+00:00",
                "start": "2016-09-01T00:00:00+00:00"
            }
        }
    }
}

Payload Definitions

Field Description Data Type
entities
optional
An array of entity objects to play, such as a Title, Franchise, Actor, Team, or MediaType. See Entity Types for more details about entity types and values. array
experience
optional
An object that optimizes the display of search results. With the experience object, you can change the search results based on the device your customer used to search. See Experience Types for more details about the experience object and its values.

Object containing mode
searchText
optional
Contains a transcribed version of the user's search query as a string value in the transcribed field. See Viewing the Customer's Actual Request for details.

Object containing transcribe
transcribed
optional
Provides the transcribed version of the user's utterance. See The searchText Object for details.

Examples: h.d. popular comedy tv shows

String
timeWindow
optional
Provides the time window for the content the customer wants to play. For example if a customer wants to play an episode from last week, time window would indicate the preceding week.

Object containing start and end times.
end
optional

The end time of the time window.



Examples: 2016-09-07T23:59:00+00:00, 2018-01-24T02:30:00Z

A string in ISO 8601 format.
start
optional

The start time of the time window.



Examples: 2016-09-07T23:59:00+00:00, 2018-01-24T02:30:00Z

A string in ISO 8601 format.

Entity Types

The entities object consists of a list of objects, each of which contains a type and a value along with other possible data such as external IDs. The following values are possible for the type value: Actor, App, Channel, Character, Director, Episode, Event, Franchise, Genre, League, MediaType, ProductionCompany, Season, Sport, SportsTeam, Video, Popularity, Recency, and VideoResolution. Details about the payloads for each entity type are provided in the sections below.

Actor

Actor represents an actor credited in video media content; for example, Casey Affleck might contain the following:

Actor Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ ASIN The external ASIN of this entity String B01LTHZVKG
└─ imdb The IMDB identifier for the actor. String tt4034228
uri URI mapping to the actor/actress URI entity://provider/actor/caseyaffleck
value The name of the actor String Casey Affleck

App

App represents the explicit app name specified by the user in utterance; for example, "Manchester by the Sea on Prime" might contain the following:

App Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ ENTITY_ID An application identifier from a list of apps. String amzn1.alexa-ask-target.app.72095
value The name of the application String Prime Video

Channel

Channel represents the identifying data for a television channel; for example, "PBS" might contain the following:

Channel Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The external IMDB identifier String tt4034228
entityMetadata A map of meta data associated with the channel Object
└─ channelNumber The channel number Integer 1234
└─ channelCallSign The call sign for the channel String KBTC
uri The URI of the channel URI entity://provider/channel/1234
value The name of the channel String PBS

Character

A Character represented in video media content.

Character Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ ASIN The Amazon Standard Identification Number (ASIN) for this entity String B00DT55P3K
└─ imdb The IMDB identifier for the character. String character id
uri URI mapping to the character URI entity://provider/character/snowwhite
value The name of the character String Snow White

Director

Director represents the director name for the video media content; for example, "Kenneth Lonergan" might contain the following:

Director Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The external IMDB identifier String tt4034228
uri URI mapping to the director URI entity://provider/director/kennethlonergan
value The name of the director String Kenneth Lonergan

Episode

Episode represents the episode number for serial content like TV Shows; for example, the eighth episode of "Transparent" would have episode number 8.

Episode Payload Fields Description Type Example
value The episode number Integer 8

Event

An Event is a reference to a type of event; examples would include sports, music, or other types of events. For example, searching for "Football games" would search for a game event entity and a football sport entity.

Event Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The IMDB identifier for the event. String tt4034228
uri URI mapping to the event URI entity://amazon/events/games
value The name of the event type String Games

Franchise

A Franchise is a video entity which can represent a number of video entities, like movies or TV shows. For example, take the fictional franchise "Intergalactic Wars" which represents a collection of movie trilogies, as well as animated and live action TV shows. This entity type was introduced to account for requests by customers such as "Find Intergalactic Wars movies", which would search for all "Intergalactic Wars" programs of the MOVIE value for MediaType, rather than attempting to match to a single title.

Franchise Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The external IMDB identifier String tt4034228
uri URI mapping to the franchise URI mapping to the event entity://amazon/franchise/intergalacticwars
value The name of the genre String Intergalactic Wars

Genre

Genre represents the genre of video media content such as action, drama or comedy. For example, the Action genre might contain the following:

Genre Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The external IMDB identifier String tt4034228
uri URI mapping to the genre URI entity://provider/genre/action
value The name of the genre String Action

League

League represents the categorical information for a sporting league; for example, NCAA is a league that might contain the following:

League Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The IMDB identifier for the league String tt4034228
uri URI mapping to the league URI entity://amazon/league/ncaa
value The name of the league String NCAA

MediaType

MediaType represents the media type category of a particular piece of content; for example, the MediaType for "Manchester by the Sea" would be MOVIE.

MediaType Payload Fields Description Type Example
value The media type; possible values are MOVIE, VIDEO, TV_SHOW Enum MOVIE

ProductionCompany

ProductionCompany represents the production company name for the video media content; for example, Marvels, Disney.

ProductionCompany Payload Fields Description Type Example
value Production company name String Marvel

Season

Season represents the season number for serial content like TV Shows; for example, the season two of "Transparent" would have season number 2.

Season Payload Fields Description Type Example
value The season number Integer 2

Sport

Sport represents the categorical information of a sport; for example, football is a sport that might contain the following:

Sport Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The IMDB identifier for the sport String tt4034228
uri URI mapping to the sports URI entity://amazon/sport/football
value The name of the sport String Football

SportsTeam

SportsTeam represents the categorical information of a professional sports team; for example, "University of Washington Huskies" is a sports team that might contain the following:

SportsTeam Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
└─ imdb The IMDB identifier for this team. String tt4034228
uri URI mapping to the sports team URI entity://amazon/sportsteam/huskies
value The name of the sports team String University of Washington Huskies

Video

Video represents the identifying data for the piece of video content; for example, "Manchester by the Sea" might contain the following:

Video Payload Fields Description Type Example
externalIds A map of external identifiers for this entity. Key is the provider, value is the id. Object
ASIN The external ASIN of this entity String B01LTHZVKG
└─ imdb The IMDB identifier String tt4034228
userConfirmations Object containing information about user confirmations for the item Object
└─ entitlementVoiceActivation Flag to inform partner if voice enablement of viewing period or entitlement is successful. Possible values - CONFIRMED (optional). Enum; Default policy - unrecognized values are ignored CONFIRMED
uri URI mapping to the video URI entity://provider/movie/manchesterbythesea
value The name of the video String Manchester by the Sea

Popularity

Popularity indicates whether the user asks for popular content.

Popularity Payload Fields Description Type Example
value Indicates to provider that the user searches for popular content String TRUE
Note that this entity type does not have any `externalIds` included. A sample response (excerpted to the relevant values only) might look as follows: ```json "entities": [..{ "value": "TRUE", "type": "Popularity" } ..], ```

Recency

The resolved values for Recency indicate whether the user asks for new or old content.

Recency Payload Fields Description Type Example
value Indicates whether the user searches for new or old content; possible values are NEW, OLD Enum NEW
Note that this entity type does not have any `externalIds` included. A sample response (excerpted to the relevant values only) might look as follows: ```json "entities": [..{ "value": "NEW", "type": "Recency" } ..], ```

VideoResolution

VideoResolution represents the requested video resolution in one of the following standards:

  • SD (480p)
  • HD (720p-1080p)
  • 4k (2160p)
  • 8k (4320p)
VideoResolution Payload Fields Description Type Example
value Video resolution; possible values are SD, HD, 4k, 8k Enum HD
Note that this entity type does not have any `externalIds` included. A sample response (excerpted to the relevant values only) might look as follows: ```json "entities": [..{ "value": "4k", "type": "VideoResolution" } ..], ```

Experience Types

Use the experience object to optimize the display of search results based on the device used to perform the search. For example, if a customers searches from a Fire TV remote, the experience object shows a large number of search results that the customer can browse through with a remote. However, if the search request is from an Echo paired to Fire TV, the experience object limits the number of results shown, and how they are displayed, allowing the customer to see results without using the remote.

The experience object consists of a mode object, which determines how to display the search results. The mode object takes two values: VOICE_OPTIMIZED and DEFAULT.

  • VOICE_OPTIMIZED: The optimized display of search results for voice-only devices. Provides a list of results that customers can navigate via voice, without the need for a remote.

  • DEFAULT: The default displays of all search results list format, regardless of the device used for the search.

To ensure forward compatibility, fallback to DEFAULT instead of failing if you receive an unknown value in mode.

Handling SearchAndPlay Directives

SearchAndPlay directives contain instructions to watch or play media. The directive contains the desired media object and URI obtained described as an entity. The directive contains an array of entities that specifies what to search and play.

(The SearchAndPlay directive is similar to GetPlayableItems in the video skills for multimodal implementations.)

The following sections provide guidance for handling SearchAndPlay directives with different requests.

Watch by Title

When users say "Alexa, watch Interstellar" or any other title to your Alexa-enabled device, you will receive a SearchAndPlay directive in your app or Lambda.

As part of the SearchAndPlay directive, you will see an externalIds section in the directive. Within this section, you should look for a field corresponding with your own catalog. This field will contain the same ID values you used in your catalog integration, allowing you to know precisely which show a user desires to watch. You can then use that to fulfill the user's request by playing the media.

If within the same catalog you still see multiple ID values in the directive, this may be because Alexa identified multiple shows within your catalog that match the title the user asked for. You should select the best one to play for the user. Leverage any algorithms that help match the content to the user.

If you do not see your own catalog ID values in the externalIds field, and you've made sure that you're asking Alexa to watch content that is in your app, contact your Amazon representative for assistance.

Watch by Title, Episode, and Season

When users say "Alexa, watch Interstellar Season 2 Episode 2," you will receive a similar directive as when users say "Alexa, watch Interstellar." However, the key difference is that this directive will also have the following JSON inside of it:

{
  "type": "Episode",
  "value": "2"
},
{
  "type": "Season",
  "value": "2"
}

This JSON indicates the season and episode number that the user requested. You must play the season/episode the customer requests. The catalog ID you receive will contain only the top-level show's catalog ID, not the season/episode ID. However, you should be able to use the season/episode number alongside the show's catalog ID to play the correct content.

You should also account for the fact that a user might choose to specify a season but not an episode, or an episode but not the season — you must still fulfill their request. Follow this guidance for identifying the right content:

  • If the user asks to watch a title by season, (e.g., "Alexa, watch Bosch, Season 3"), and it is unclear which episode of a TV series a user wants, show the last watched episode. If the last watched episode is completed, show the next unwatched episode after that. Alternatively, show an episode list for the season.
  • If the user asks to watch a title by episode, (e.g., "Alexa, watch Bosch, episode 5") that could belong to multiple seasons, identify the correct season by checking the user's last-watched episode. If the last-watched episode was within Season 2, then play episode 5 in Season 2. Alternatively, show an episode list for the season.

Watch by Franchise

For certain utterances, it's not actually clear which content the user wants. For example, a user might say "Alexa, watch Jurassic Park." In such a scenario, we don't know if the user meant Jurassic Park 1, Jurassic Park 2, or Jurassic Park 3. Media that has multiple variants like this is called a "franchise." Franchise scenarios, which don't fit neatly into the season/episode model, are handled by "Watch by Franchise."

When a user conducts a watch-by-franchise request, you will receive the franchise that the user requested (in this case, Jurassic Park) in the directive, but the directive will not contain a catalog ID. For these directives, the expectation is that you will conduct a search within your catalog for this content and then play the top result from your search. If that is not possible, you must at least take the user to search results within your app so that the user can use their remote to see the content they would like. You shouldn't simply ignore the directive.

A list of franchises is available in Franchise List.

Watch by Genre, Sport, Team, League, and Other Ambiguous Watch Directives

Alexa also supports phrases such as "Alexa, watch a comedy" or "Alexa, watch basketball." For generic scenarios like these, you have the option of either taking the user to search results, or taking the user to the detail page of that particular genre or appropriate entity.

For example, many apps have special pages dedicated to comedies, action movies, sitcoms, etc., which are different from simple search results. These genre pages curate media related to that topic. If desired, you can choose to take the user to these genre pages when the relevant ambiguous request is received by the user. The expectation is that, even in the worst case scenario, your app should at least take the user to search results. You shouldn't simply ignore the directive.

A list of genres that might be received in directives is available in Genre List.

Handling Ambiguous Requests

Similar to SearchAndDisplayResults, SearchAndPlay supports multiple entity types, including a content title, franchise name, actor, director, sports team, media type and more. This means one of these directives might contain an ambiguous entity request.

For example, a customer could request, "Alexa, watch a popular comedy," or "Alexa, watch a Billy Bob Thornton movie." Despite the ambiguity, you can decide how to act on a request. For example, you can do the following:

  • Begin playing a popular comedy or Bob Thornton movie
  • Generate a list of the top ten comedies or Billy Bob Thornton movies and randomly select one for the customer to avoid repetition
  • Go straight to search results for that ambiguous entity

You can choose how to respond; however, it's recommended that you accommodate a customer's request if at all possible.

Viewing the Actual Customer's Request

Recall that an Alexa service in the cloud does the work of interpreting the customer's request, determining the intent, and then packaging it into a directive. What if you want to see the actual user's request (rather than Alexa's interpretation of it)? fortunately, a version of the user's actual request is available.

In the directive payload, the searchText object represents the customer search request. In the searchText object, the transcribed value is a string that represents the customer intent. This transcribed value is a stripped-down version of what the customer said. For example, here's how the transcribed value might look like for the request, "Alexa, watch popular comedy tv shows in HD":

{
    "searchText": {
        "transcribed": "h.d. popular comedy tv shows"
    }
}

As you can see, the transcribed property is a summarized/redacted version of the request that selects the main words of the request. The searchText object has the following limitations:

  • There is no word order guarantee. For the same utterance, searchText might return the transcribed values with different order, such as:
    • "h. d. korean war documentary movies"
    • "korean war documentary h. d. movies"
  • The content of searchText might change over time or by directive. For the same utterance, searchText might return different transcribed values at different points in time, such as:
    • "top ten comedies"
    • "top 10 comedies"
  • Action verbs are omitted. The transcribed value will not show the action verbs used in the user's request.

Note that searchText can include content provider names (if they were part of the customer's request). Here are some examples:

  • The request, "Alexa, find content provider movies" will return the transcribed value "content provider movies"
  • The request, "Alexa, find comedies on content provider" will return the transcribed value "content provider comedies"

Use searchText if you want to focus on key word searches (for example, a full text search). Note that entities rely on resolved catalog values. Use these entities if you have specialized catalogs pertaining to specific values, such as Movie catalog, Genre catalog, and so on, or if you have some form of data model that facilitates structured queries.

Response Example

If your app handled the directive successfully, your BroadcastReceiver class should send a success intent back with a success status, like this:

if (response != null && sendResponse) {
 Intent success = new Intent().putExtra(VSKIntentConstants.EXTRA_DIRECTIVE_STATUS, didSucceed);
 try {
   response.send(context, 0, success);
 } catch(PendingIntent.CanceledException e) {
   //we probably took too long to respond, log error
 }
}

For more details, see Step 7: Add a BroadcastReceiver. Also see the AlexaDirectiveReceiver class in the sample app for a more specific code example.

When a SearchAndPlayResults directive successfully completes, your app or Lambda should respond with an Alexa.Response message.

{
   "context": {
       "properties": []
   },
   "event": {
       "header": {
           "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
           "messageId": "1d8749ce-2805-4781-bb34-c5c59ce71f6a",
           "name": "Response",
           "namespace": "Alexa",
           "payloadVersion": "3"
       },
       "payload": {}
   }
}

No payload content is required. With video skills on Fire TV apps, the response back to Alexa is minimal, with an empty payload. This is because you sent the needed instruction to your Fire TV app through ADM.

If you cannot complete the customer request for some reason, reply with an error. See Error Handling for more details.

Declaring Capability Support for this Interface

To receive SearchAndDisplayResults directives to your app from the RemoteVideoPlayer interface, you must indicate support for this interface when you declare your capabilities. See the following for more information on declaring capabilities with app-only integrations:

To indicate that your video skill supports SearchAndPlay directives from the Alexa.RemoteVideoPlayer interface, you must indicate support for it in your response to the Discover directive sent through the Alexa.Discovery interface. More details are provided in Alexa.Discovery.


Last updated: Jun 09, 2021