Skip to main content

Get Live TV Info

Retrieves information about available live TV services.
curl -X GET "https://your-server/LiveTv/Info" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Info

Authentication

Requires LiveTvAccess policy authorization.

Response

LiveTvInfo
object
Live TV service information

Status Codes

  • 200 - Available live TV services returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Programs (GET)

Retrieves live TV program guide information (EPG data) using query parameters.
curl -X GET "https://your-server/LiveTv/Programs?channelIds=CHANNEL_ID&limit=50" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Programs

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

channelIds
array
required
The channels to return guide information for (comma-delimited GUIDs)
userId
string (Guid)
Filter by user ID
minStartDate
string (DateTime)
The minimum premiere start date
hasAired
boolean
Filter by programs that have completed airing, or not
isAiring
boolean
Filter by programs that are currently airing, or not
maxStartDate
string (DateTime)
The maximum premiere start date
minEndDate
string (DateTime)
The minimum premiere end date
maxEndDate
string (DateTime)
The maximum premiere end date
isMovie
boolean
Filter for movies
isSeries
boolean
Filter for series
isNews
boolean
Filter for news
isKids
boolean
Filter for kids content
isSports
boolean
Filter for sports
startIndex
integer
The record index to start at. All items with a lower index will be dropped from the results
limit
integer
The maximum number of records to return
sortBy
array
Sort orders (comma-delimited): Name, StartDate
sortOrder
array
Sort order: Ascending or Descending (comma-delimited)
genres
array
The genres to return guide information for (pipe-delimited)
genreIds
array
The genre IDs to return guide information for (comma-delimited GUIDs)
enableImages
boolean
Include image information in output
imageTypeLimit
integer
The max number of images to return, per image type
enableImageTypes
array
The image types to include in the output (comma-delimited)
enableUserData
boolean
Include user data
seriesTimerId
string
Filter by series timer ID
librarySeriesId
string (Guid)
Filter by library series ID
fields
array
Additional fields of information to return in the output (comma-delimited)
enableTotalRecordCount
boolean
default:"true"
Retrieve total record count

Response

Items
array
Array of program items
TotalRecordCount
integer
Total number of programs
StartIndex
integer
Starting index of the returned results

Status Codes

  • 200 - Live TV EPG data returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Programs (POST)

Retrieves live TV program guide information using a POST request with a JSON body. This is useful for complex queries that exceed URL length limits.
curl -X POST "https://your-server/LiveTv/Programs" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channelIds": ["channel-id-1", "channel-id-2"],
    "limit": 50,
    "isAiring": true,
    "enableImages": true
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/Programs

Authentication

Requires LiveTvAccess policy authorization.

Request Body

channelIds
array
The channels to return guide information for (array of GUIDs)
userId
string (Guid)
Filter by user ID
minStartDate
string (DateTime)
The minimum premiere start date
hasAired
boolean
Filter by programs that have completed airing
isAiring
boolean
Filter by programs that are currently airing
maxStartDate
string (DateTime)
The maximum premiere start date
minEndDate
string (DateTime)
The minimum premiere end date
maxEndDate
string (DateTime)
The maximum premiere end date
isMovie
boolean
Filter for movies
isSeries
boolean
Filter for series
isNews
boolean
Filter for news
isKids
boolean
Filter for kids content
isSports
boolean
Filter for sports
startIndex
integer
The record index to start at
limit
integer
The maximum number of records to return
sortBy
array
Sort orders array
sortOrder
array
Sort order array
genres
array
The genres to return guide information for
genreIds
array
The genre IDs to return guide information for
enableImages
boolean
Include image information in output
imageTypeLimit
integer
The max number of images to return, per image type
enableImageTypes
array
The image types to include in the output
enableUserData
boolean
Include user data
seriesTimerId
string
Filter by series timer ID
librarySeriesId
string (Guid)
Filter by library series ID
fields
array
Additional fields of information to return
enableTotalRecordCount
boolean
Retrieve total record count

Response

Same as GET /LiveTv/Programs response.

Status Codes

  • 200 - Live TV EPG data returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden
  • 400 - Bad request

Retrieves recommended live TV programs based on user preferences.
curl -X GET "https://your-server/LiveTv/Programs/Recommended?limit=20&isAiring=true" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Programs/Recommended

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

userId
string (Guid)
Filter by user ID
startIndex
integer
The record index to start at
limit
integer
The maximum number of records to return
isAiring
boolean
Filter by programs that are currently airing
hasAired
boolean
Filter by programs that have completed airing
isSeries
boolean
Filter for series
isMovie
boolean
Filter for movies
isNews
boolean
Filter for news
isKids
boolean
Filter for kids content
isSports
boolean
Filter for sports
enableImages
boolean
Include image information in output
imageTypeLimit
integer
The max number of images to return, per image type
enableImageTypes
array
The image types to include in the output (comma-delimited)
genreIds
array
The genres to return guide information for (comma-delimited GUIDs)
fields
array
Additional fields of information to return (comma-delimited)
enableUserData
boolean
Include user data
enableTotalRecordCount
boolean
default:"true"
Retrieve total record count

Response

Items
array
Array of recommended program items
TotalRecordCount
integer
Total number of recommended programs
StartIndex
integer
Starting index of the returned results

Status Codes

  • 200 - Recommended EPG data returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Program

Retrieves detailed information about a specific program.
curl -X GET "https://your-server/LiveTv/Programs/{programId}" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Programs/{programId}

Authentication

Requires LiveTvAccess policy authorization.

Path Parameters

programId
string
required
The program ID

Query Parameters

userId
string (Guid)
Attach user data for this user

Response

BaseItemDto
object
Detailed program information including metadata, schedule, and images

Status Codes

  • 200 - Program returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Guide Info

Retrieves information about the program guide configuration.
curl -X GET "https://your-server/LiveTv/GuideInfo" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/GuideInfo

Authentication

Requires LiveTvAccess policy authorization.

Response

GuideInfo
object
Guide configuration information

Status Codes

  • 200 - Guide info returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Live Stream File

Gets a live TV channel stream file.
curl -X GET "https://your-server/LiveTv/LiveStreamFiles/{streamId}/stream.ts" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  --output stream.ts

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/LiveStreamFiles/{streamId}/stream.{container}

Path Parameters

streamId
string
required
The stream ID
container
string
required
Container type (e.g., ts, mp4)

Response

Returns a video file stream.

Status Codes

  • 200 - Stream returned successfully
  • 404 - Stream not found

Tuner and Provider Management

Reset Tuner

Resets a TV tuner.
curl -X POST "https://your-server/LiveTv/Tuners/{tunerId}/Reset" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/Tuners/{tunerId}/Reset

Authentication

Requires LiveTvManagement policy authorization.

Path Parameters

tunerId
string
required
The tuner ID

Status Codes

  • 204 - Tuner reset successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Add Tuner Host

Adds a new tuner host to the system.
curl -X POST "https://your-server/LiveTv/TunerHosts" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "Type": "hdhomerun",
    "Url": "http://192.168.1.100"
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/TunerHosts

Authentication

Requires LiveTvManagement policy authorization.

Request Body

Type
string
required
Tuner host type (e.g., hdhomerun, m3u)
Url
string
required
Tuner host URL

Response

TunerHostInfo
object
Created tuner host information

Status Codes

  • 200 - Tuner host created successfully
  • 401 - Unauthorized
  • 403 - Forbidden
  • 400 - Bad request

Delete Tuner Host

Deletes a tuner host.
curl -X DELETE "https://your-server/LiveTv/TunerHosts?id=TUNER_HOST_ID" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
DELETE
endpoint
string
required
/LiveTv/TunerHosts

Authentication

Requires LiveTvManagement policy authorization.

Query Parameters

id
string
Tuner host ID to delete

Status Codes

  • 204 - Tuner host deleted successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Tuner Host Types

Retrieves available tuner host types.
curl -X GET "https://your-server/LiveTv/TunerHosts/Types" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/TunerHosts/Types

Authentication

Requires LiveTvAccess policy authorization.

Response

Array of tuner host type name-ID pairs.

Status Codes

  • 200 - Tuner host types returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Discover Tuners

Discovers available tuners on the network.
curl -X GET "https://your-server/LiveTv/Tuners/Discover?newDevicesOnly=true" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/Tuners/Discover

Authentication

Requires LiveTvManagement policy authorization.

Query Parameters

newDevicesOnly
boolean
default:"false"
Only discover new tuners not already configured

Response

Async enumerable of discovered tuner host information.

Status Codes

  • 200 - Tuners returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Listing Providers

Get Default Listing Provider

Retrieves default listings provider information.
curl -X GET "https://your-server/LiveTv/ListingProviders/Default" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/ListingProviders/Default

Authentication

Requires LiveTvAccess policy authorization.

Status Codes

  • 200 - Default listings provider info returned successfully

Add Listing Provider

Adds a new listings provider (e.g., Schedules Direct).
curl -X POST "https://your-server/LiveTv/ListingProviders?pw=password" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "Type": "SchedulesDirect",
    "Username": "your-username",
    "ListingsId": "lineup-id"
  }'

Endpoint

method
string
required
POST
endpoint
string
required
/LiveTv/ListingProviders

Authentication

Requires LiveTvManagement policy authorization.

Query Parameters

pw
string
Password (will be hashed)
validateListings
boolean
default:"false"
Validate listings
validateLogin
boolean
default:"false"
Validate login credentials

Request Body

ListingsProviderInfo object.

Response

ListingsProviderInfo
object
Created listings provider information

Status Codes

  • 200 - Listing provider created successfully
  • 401 - Unauthorized
  • 403 - Forbidden
  • 400 - Bad request

Delete Listing Provider

Deletes a listings provider.
curl -X DELETE "https://your-server/LiveTv/ListingProviders?id=PROVIDER_ID" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
DELETE
endpoint
string
required
/LiveTv/ListingProviders

Authentication

Requires LiveTvManagement policy authorization.

Query Parameters

id
string
Listing provider ID to delete

Status Codes

  • 204 - Listing provider deleted successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Lineups

Retrieves available lineups for a listings provider.
curl -X GET "https://your-server/LiveTv/ListingProviders/Lineups?id=PROVIDER_ID" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/ListingProviders/Lineups

Authentication

Requires LiveTvAccess policy authorization.

Query Parameters

id
string
Provider ID
type
string
Provider type
location
string
Location (e.g., zip code)
country
string
Country code

Response

Array of available lineups (name-ID pairs).

Status Codes

  • 200 - Available lineups returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden

Get Schedules Direct Countries

Retrieves available countries for Schedules Direct.
curl -X GET "https://your-server/LiveTv/ListingProviders/SchedulesDirect/Countries" \
  -H "Authorization: MediaBrowser Token=YOUR_API_KEY"

Endpoint

method
string
required
GET
endpoint
string
required
/LiveTv/ListingProviders/SchedulesDirect/Countries

Authentication

Requires LiveTvAccess policy authorization.

Response

JSON file containing available countries.

Status Codes

  • 200 - Countries returned successfully
  • 401 - Unauthorized
  • 403 - Forbidden