What the user agent is
IPTV runs over HTTP, the same protocol as websites. HTTP’s specification, RFC 9110, defines the User-Agent header as information “about the user agent originating the request”: in practice, the app’s name and version, and sometimes the device or operating system. Your browser sends one with every page; IPTV players do the same with every playlist, guide and stream request.
Why servers check it
- Compatibility. A server can send a format that suits the app asking for it.
- Statistics. Providers can see which apps their customers use.
- Access rules. Some servers only accept requests from apps they recognise, or refuse a few they don’t. When that happens, the usual answer is error 403, which RFC 9110 defines as the server understanding the request but refusing to fulfil it. See IPTV error 403.
If one app gets a 403 and another app with the same login plays fine on the same connection, the user agent is a likely reason.
How to set it
Only change it when your provider gives you a value to use.
Kodi with the IPTV Simple client documents three ways:
- A default for every channel: the add-on’s User-Agent setting, used when a channel doesn’t specify one.
- Per channel, in the stream address: append
|user-agent=and the value to the URL. Other headers can be added the same way, as|name1=val1&name2=val2. - Per channel, in the M3U playlist: a line
#EXTVLCOPT:http-user-agent=followed by the value, placed with the channel’s entry. The README says Kodi turns this, andhttp-referrer, into a header on the request.
Other players: some have a user agent field in the playlist or network settings; others don’t let you change it at all. Check the player’s settings or help pages.
Common mistakes
- Typing it slightly wrong. User agents are matched as text; one changed character can make a server refuse it.
- Setting it globally when only one playlist needs it. If your player has a per-playlist option, use that, so your other playlists keep working.
- Expecting it to fix everything. A user agent only affects servers that check it. Buffering, wrong logins and blocked connections have other causes; see IPTV troubleshooting.
