Skip to content
KLYVOPLAY

October 28, 2026 · 7 min read

What is the Xtream Codes API? A plain-English guide

Server URL, username, password: the three fields of an Xtream login hide a whole API. Here is what it is, what it answers and how a player such as Klyvo Play uses it.

The Xtream Codes API is the way most IPTV services let an app talk to their server. When your service gives you a server URL, a username and a password, it is giving you access to this API: the player sends your credentials to the server, which answers with your account status, your live categories and channels, your films, your series and the TV guide. So what is the Xtream Codes API in practice? A common language between IPTV servers and players, which is why one Xtream login works in many different apps. This guide explains what it contains, how a player uses it, how it compares with an M3U link, and what it means for you.

Klyvo Play is a player. It does not provide any channel, film or series: you connect the service you already have and are authorized to use, with its Xtream login or its M3U link.

What is the Xtream Codes API, and where does the name come from?

Xtream Codes was originally the name of a software panel used to run IPTV servers. The original product is no longer developed, but the way it exposed content to apps became a de facto standard: many server panels today speak the same API. That is why services describe themselves as Xtream-compatible, and why the expression “Xtream codes” is often used for the login itself.

For you, the history matters little. What matters is that an Xtream login is structured: instead of a flat list of addresses, the player can ask the server precise questions and get organised answers.

The three fields of an Xtream login

  • Server URL: the address of your service's server, usually with a port, for example http://server.example:8080. No page path is needed after it.
  • Username: your personal identifier on that server.
  • Password: the secret that goes with it.

Type them exactly as your service sent them: they are case-sensitive, and a missing port or an extra space is the most common reason a login is refused. If you pasted an address that ends with player_api.php or get.php, Klyvo Play removes that ending and keeps the server address. Step-by-step instructions for each device are in how to enter an Xtream Codes login.

How a player talks to an Xtream server

Everything starts with one address on the server: player_api.php, called with your username and password. The first answer describes your account and the server:

  • Account information: whether the line is active, its expiry date, the number of connections allowed at the same time and how many are in use.
  • Server information: its address, ports and time zone, which matter for the guide and for catch-up.

Then the player asks for the catalogue with named actions. The main ones are:

  • get_live_categories and get_live_streams: the live bouquets, then the channels of each bouquet, with their logo, their guide identifier and whether an archive exists.
  • get_vod_categories, get_vod_streams and get_vod_info: the film categories, the films in each one, and the details of a single film (synopsis, cast, duration, file format).
  • get_series_categories, get_series and get_series_info: the series, then their seasons and episodes.
  • get_short_epg and get_simple_data_table: the programmes of a channel — what is on now and next, and the past programmes used for catch-up.

The answers come back as JSON, a structured text format that apps read easily. Because every category and title has an identifier, a player can load only what you open, instead of downloading the whole catalogue at once.

How each stream is addressed

Once the player knows a channel's or a film's identifier, it builds the address of the stream on the same server, with your credentials inside:

  • Live channels: /live/username/password/id, followed by .ts (MPEG-TS) or .m3u8 (HLS).
  • Films: /movie/username/password/id, followed by the file's extension, such as .mp4 or .mkv.
  • Episodes: /series/username/password/id, with the episode's extension.
  • Catch-up: /timeshift/username/password/duration/start/id, for a programme that already aired.

Two other addresses complete the picture: get.php, which produces the same line as an M3U playlist, and xmltv.php, which produces the TV guide as an XMLTV file — see what an EPG and XMLTV are.

Xtream Codes API vs M3U link

An M3U link is a playlist: a text list of channel names and addresses. A get.php M3U link from an Xtream-compatible service carries the same server, username and password as the login. The API, however, is richer when a player uses it directly:

  • Organised catalogue: live channels, films and series arrive separately, each with their own categories.
  • Details on demand: synopsis, seasons and episodes are fetched when you open a title.
  • Guide and catch-up per channel: the server says which channels keep an archive and sends their programmes.
  • Account status: the expiry date and the connection count are known, so a player can tell you that a line has expired instead of showing a vague error.

Klyvo Play accepts both. When you paste a get.php M3U link, the app reads the server and credentials from it and then works with the same API, so you get the same catalogue either way. The comparison is detailed in Xtream login or M3U link.

How Klyvo Play uses the Xtream API

  • Directly with your service: the app asks your service's server for the catalogue, and the streams travel from that server to your device.
  • Bouquet by bouquet: channels are loaded as you open their category, which keeps the first screen quick even on very large playlists — see managing a large playlist.
  • Account status: an expired line is shown as expired, and a refusal from your service's server is shown with its code, so you know who to contact — see line status.
  • Several playlists: you can keep more than one Xtream login on a device and switch between them under My playlists.
  • Credentials kept encrypted, and never shown again in full once saved.

You can also skip typing altogether: each Klyvo Play installation shows a code that looks like a MAC address and a Device Key. Your reseller, or you, can attach the playlist to these codes on the customer portal, and the app picks it up — see the device portal.

Good practice with your Xtream login

  • Keep it private. Your username and password are inside every stream address; anyone who has them can use your connections.
  • Mind the connection limit. If your subscription allows one stream at a time, a second device on the same login will be refused or will cut the first one.
  • Use the address your service gives you, including http or https and the port.
  • Check the expiry date with your service when everything stops at once: it is usually the line, not the app.

FAQ

Is the Xtream Codes API legal? It is a technical interface, used by many server panels. Legality depends on the content a service distributes and on its rights, not on the API or the player.

Can I use my Xtream login in several apps? Usually yes: the format is shared. Each app counts as a connection while it plays, within the limit of your subscription.

Why is my login refused? Most often a typing error, a missing port, an expired line or a server that refuses the app. Klyvo Play shows the reason it receives, such as an expired line or a refusal code.

Do I need an Xtream login if I have an M3U link? No. A get.php M3U link from an Xtream-compatible service carries the same login, and Klyvo Play reads it.

Does Klyvo Play give me an Xtream login? No. The login comes from the service you subscribe to; Klyvo Play is the player.

Connect your Xtream login

The Xtream Codes API is what turns three short fields into a full catalogue of live channels, films, series, guide and catch-up. If you have an Xtream login from a service you are authorized to use, download Klyvo Play on your devices, enter the server URL, username and password, and try the full app free for 10 days.

Try Klyvo Play

On the App Store for iPhone, iPad and Apple TV, on Google Play for Android, and for Windows. Every device starts with 10 days free.

Download the app