Xtream Codes API Explained: How IPTV Logins Actually Work
Xtream Codes is the login method behind most IPTV players. Understanding what it does makes setup and troubleshooting far simpler.

Direct answer: the Xtream Codes API is a standard way for an IPTV player to talk to a provider's server. You supply a server address, a username and a password, and the player requests the channel list, programme guide and stream links directly from the server rather than downloading one large playlist file.
It is the most common login method in modern IPTV players, and understanding what it does makes both setup and troubleshooting considerably easier.
The two ways an IPTV player can log in
There are two established methods, and knowing which one you have been given determines how you set up your player.
| Xtream Codes API | M3U playlist | |
|---|---|---|
| What you are given | Server address, username, password | One long playlist URL |
| Channel list | Requested from the server | Downloaded as a single file |
| Guide data | Requested separately by the player | A separate XMLTV URL |
| Large channel lists | Handles well | Can be slow to parse |
| Player support | Most modern players | Universal |
| Kodi support | No | Yes |
The practical difference: with Xtream Codes, the player asks the server for what it needs, when it needs it. With an M3U playlist, the player downloads everything up front, which is simpler but heavier.
What the three login fields actually are
Server address. The provider's hostname, usually including a port number, for example http://server.example.com:8080. Some providers use a DNS name that resolves to whichever server is least loaded.
Username. The account identifier, which may be a name or a numeric string.
Password. The account password, which is often a long random string rather than something memorable.
A common pitfall: the server address and the playlist URL are different things. If your provider sent you something ending in .m3u, that is a playlist link, not an Xtream Codes server address. The server address is the part before any path.
What happens when you log in
- The player contacts the server at the address you supplied, sending the username and password.
- The server validates the account and returns an authorisation token.
- The player requests the channel list, usually in categories, and displays them.
- The player requests guide data for the channels you can see.
- When you select a channel, the player requests the stream link for that channel and plays it.
The token issued at step two expires, which is why a session occasionally needs re-establishing. Our guide to channels not loading covers that symptom.
How to set it up
- Open your player and choose Login with Xtream Codes API rather than M3U URL.
- Enter the server address, including the port if one was supplied.
- Enter the username exactly as given.
- Enter the password exactly as given.
- Give the connection a name, such as the provider's name.
- Save and wait for the channel list to build.
- Open the EPG settings and confirm guide data is loading.
On typing the fields: type them rather than pasting where practical, and watch for a trailing space. A single stray space at the end of the password is one of the most common causes of a failed login. Our login failure guide covers the error messages.
Which players support it
| Player | Xtream Codes support |
|---|---|
| IPTV Smarters | Yes — see our setup guide |
| TiviMate | Yes — see our setup guide |
| Windows players | Most, see our Windows guide |
| Kodi PVR IPTV Simple Client | No — requires an M3U URL, see our Kodi guide |
| MAG boxes | No — these use portal URLs and MAC addresses, see our MAG guide |
If your player does not support Xtream Codes, ask your provider for the M3U playlist URL instead. Most providers supply both. If the playlist will not load, our M3U errors guide works through the causes.
Common login problems
| Error | Likely cause | Fix |
|---|---|---|
| Invalid username or password | Trailing space, or typo | Re-type both fields by hand |
| Connection failed | Wrong server address or missing port | Re-check against what was supplied |
| Login works, no channels | Account not yet active, or list still building | Wait five minutes, then re-check |
| Channels load, guide empty | Guide data not requested or not supplied | Check EPG settings |
| Logged out unexpectedly | Token expired | Re-enter credentials, or refresh the playlist |
| Works on one device only | Device limit reached | Check how many connections your plan allows |
A note on the name
Xtream Codes is the name of the API standard that many providers' servers implement. It describes the way the player and server communicate, not a particular service, brand or channel line-up.
You will also see the term Xtream UI and similar, referring to server software that implements the same interface. From a viewer's point of view, the distinction does not matter — what matters is that your player and your provider's server can speak the same protocol, and almost all of them can.
The bottom line
Xtream Codes is simply a login method: three fields instead of one long link, with the player requesting what it needs from the server. If your player supports it, use it — it loads faster and copes better with large channel lists. If it does not, ask for the M3U URL instead.
For the wider picture, see our pillar guide to IPTV in the UK and the guide to the best IPTV apps.
Frequently asked questions
Related guides
TechnologyIPTV Picture Quality UK: Why It Looks Different on Every Device
Resolution is only one number, and often the least important one. Here is how picture quality actually works in IPTV, and what you can do about it.
TechnologyDo You Need a VPN for IPTV in the UK?
A VPN is optional for most UK IPTV viewers. Here is what it actually does, the situations where it helps, and the ones where it will not fix your problem.
TechnologyWhat Broadband Speed Do You Need for IPTV in the UK?
Most UK households do not have a speed problem — they have a coverage problem. Here is what IPTV actually needs from your connection, and how to test it.

Ready when you are.
Pick a package, tell us your device, and we'll help you get set up for the evening.



