Troubleshooting

IPTV Error Codes Explained: 403, 404, 503, “Source Error” and More

· 14 min read · By the IPTV Online Channel team

Cover graphic of a TV showing an error message, with labels for 403 Forbidden, 503 Unavailable and source error
Most IPTV errors are standard web status codes; the first digit already tells you where to look.

Most IPTV error codes are standard web (HTTP) status codes. Codes in the 400s mean your request was refused or pointed at the wrong place, often a login, address or expired-plan problem. Codes in the 500s mean a server along the way failed or was overloaded. Messages without a number, such as “unable to connect” or “timeout”, usually point to your own network or device.

Key takeaways

  • Codes in the 400s mean the request was refused or pointed at the wrong place: check the address, the login and whether the plan is active.
  • Codes in the 500s mean a server along the way failed or was busy; wait a few minutes, then report it with the time.
  • Messages with no number, such as “unable to connect” or “timeout”, usually start on your network or device.
  • 429 means too many requests in a short time; stop retrying and wait, because hammering the button makes it last longer.
  • A photo of the exact message, the channel and the time is the fastest way for support to find the cause.

How to read an IPTV error in ten seconds

IPTV players fetch the channel list, the TV guide and every stream over the same protocol as web pages. When a server answers a request, it includes a three-digit status code. The first digit tells you who is unhappy, and that is enough to know where to start.

  • 4xx (400 to 499): the server received the request and rejected it. Something about the request is wrong: the address, the login, the account, or how often you asked.
  • 5xx (500 to 599): the request was fine, but a server failed, was busy, or didn’t hear back from another server in time.
  • No number at all: the request may never have reached a server. Think network, DNS, device clock or the app itself.

The code can appear in different ways depending on the app: “HTTP error 403”, “Response code: 404”, “Server returned 503” or just the number in a small box. Some Android players show their own error number instead, such as 2004; a later section explains those.

The meaning of each status code is defined by the web’s main standard, RFC 9110 (HTTP Semantics). What follows translates those definitions into what they usually mean in a TV app.

The quick reference table

Find your code, read across, and jump to its section for detail. “Your side” means something you can change on your device, network or account details; “server side” means the fix is with whoever runs the servers.

HTTP status codes seen in IPTV players, what they usually mean and what to do first.
CodeOfficial nameUsually means in a playerWhose sideDo this first
400Bad RequestThe address or request is malformed: a typo, space or cut-off linkYour sideRe-enter the server address or link exactly
401UnauthorizedUsername or password not acceptedUsually your sideRetype the login; see our invalid login guide
403ForbiddenRequest understood but refused: plan ended, connection limit, or address refusedEitherCheck the plan, close other screens, turn off any VPN
404Not FoundThe channel, guide or file address points to nothingEitherRefresh the playlist; try another channel
405Method Not AllowedRight server, wrong kind of request, often a wrong address typeUsually your sideCheck the address format; update the app
408Request TimeoutThe server waited too long for your request to arriveUsually your sideCheck the connection and try again
429Too Many RequestsToo many requests in a short timeYour sideStop retrying, close other devices, wait
500Internal Server ErrorThe server hit an unexpected errorServer sideWait a few minutes, try another channel
502Bad GatewayA server in the middle got a bad answer from the next oneServer sideWait, then retry; report if it lasts
503Service UnavailableTemporarily overloaded or under maintenanceServer sideWait and retry later; report the time
504Gateway TimeoutA server in the middle didn’t hear back in timeServer side, sometimes the routeRetry; test another network
520 to 526Cloudflare errorsA Cloudflare-protected server couldn’t be reached properlyServer sideWait and report

400 Bad Request: something in the address is broken

RFC 9110 describes 400 as the server refusing to process a request because of something it sees as a client error, such as malformed syntax. In an IPTV app, that nearly always means the address the app is asking for has been mangled.

The usual culprits are small and easy to miss:

  • a space at the start or end of the server address, often added by a phone keyboard,
  • an M3U link that was split over two lines or cut short when it was copied from a message,
  • a character typed wrongly in the username or password inside an M3U link,
  • extra text after the address, such as a full stop pasted from the end of a sentence.

Copy the address again from your welcome email, paste it into a note to check it is on one line, then paste it into the app. If you use an M3U link, consider switching to an Xtream Codes login, which splits the server, username and password into three short fields. Our guide to Xtream Codes vs M3U explains the difference.

401 Unauthorized: a login problem

A 401 means the request lacked valid credentials, or that the server refused the credentials you sent. In a player, it is the numeric form of “invalid login” or “authorization failed”.

The fixes are the same as for those messages: retype the username and password exactly, check the server address, and confirm the plan is still active. Our invalid login guide covers each cause and fix step by step, so we won’t repeat it here.

403 Forbidden: understood, but refused

RFC 9110 defines 403 as the server understanding the request but refusing to fulfill it. It also notes that a request might be forbidden for reasons unrelated to the credentials, which is exactly why 403 is the most confusing code in IPTV.

The common reasons, roughly from most to least likely:

  1. The plan has ended. Some servers answer an expired account with 403 rather than 401. Check your end date, or renew from the plans and prices page.
  2. Every screen is in use. Some servers refuse an extra stream with 403. Close the app on other devices, wait a minute or two, and try again.
  3. Your address is refused. Some servers decline connections from VPN or data-centre addresses. Turn off any VPN and test again; our guide to VPNs and IPTV explains why.
  4. One stream is refused. If only one channel shows 403 and the rest play, that stream has a problem on the server side; report its name.

The standard also says a client shouldn’t automatically repeat a forbidden request with the same credentials. In practice that means pressing play ten more times won’t help; change something first.

404 Not Found: the address points to nothing

A 404 means the server didn’t find anything at the address requested. RFC 9110 adds that a 404 doesn’t say whether the absence is temporary or permanent, which matches IPTV well: some 404s fix themselves, others need a refresh.

404 on a channel

The channel’s address may have changed since your player last loaded the channel list, so the player is asking for an old address. Refresh or reload the playlist in the app, wait for it to finish, and open the channel again from the new list. Favourites saved before the change may need to be added again.

404 on the TV guide

If the guide address returns 404, the channels play but the guide stays empty. Check the EPG address in the app if you added one by hand. Our guide to an IPTV guide that won’t load covers the other causes.

404 on catch-up or a movie

A program may have moved outside the catch-up window for that channel, or a movie may have been replaced by a new version. Try a more recent program, or search for the title again rather than opening it from an old favourites list.

405 Method Not Allowed: right server, wrong kind of request

RFC 9110 defines 405 as the server knowing the request method but the target address not supporting it. Put simply, the app knocked on a door that exists, in a way that door doesn’t accept.

In IPTV this is rare, and usually comes from an address of the wrong type: a web page or a portal address typed where the app expects a server address, or a player sending a kind of request the server doesn’t take. Check that you entered the server address exactly as it appears in your welcome message, in the right field of the right login type. If it still fails, update the player; an old version may be making requests the server no longer accepts.

429 Too Many Requests: slow down

The 429 code comes from RFC 6585, which defines it as a user sending too many requests in a given amount of time, also known as rate limiting. The server may include a Retry-After value saying how long to wait. The standard leaves it to each server to decide how it counts requests.

In a player, the usual triggers are things that make many requests at once:

  • pressing Update playlist or Update EPG again and again while the first update is still running,
  • several devices loading the full channel list and guide at the same moment,
  • very fast channel surfing, where each channel opens several requests,
  • an app stuck in a retry loop after an earlier error.

The cure is to stop. Close the app on every device, wait at least a few minutes, then open it on one device and let a single update finish. Retrying immediately only adds requests to the count and stretches out the wait.

500 and 502: a server failed along the way

A 500 means the server hit an unexpected condition and couldn’t complete the request. A 502 means a server acting as a gateway or proxy received an invalid response from the server behind it. Both are server-side problems: nothing on your device caused them, and nothing on your device will fix them.

What you can do is gather useful evidence:

  1. Try two or three other channels. If they play, the error is limited to one stream.
  2. Wait five minutes and try the failing channel again; many of these errors clear on their own.
  3. Note the time and the channel name, and take a photo of the message.
  4. If it lasts longer than about 15 minutes, or affects every channel, tell support.

Avoid reinstalling the app or resetting the device for a 5xx error. It costs you your settings and changes nothing on the server.

503 and 504: busy, or waiting on another server

RFC 9110 describes 503 as a server that is temporarily unable to handle the request because of overload or scheduled maintenance, which will likely be fixed after some delay. It may include a Retry-After value. The standard also notes that an overloaded server doesn’t have to send 503; it might simply refuse the connection, which a player reports as “unable to connect”.

A 504 means a server in the middle didn’t get a timely response from the server it was waiting on. That is usually server-side, but a poor route between your internet provider and the server can contribute. If 504s appear only on your home connection, try the same channel on a phone using mobile data as a comparison.

Both codes tend to cluster around busy moments, such as the start of a big game. Wait a few minutes, retry once, and report the exact time if it keeps happening.

Codes in the 520s

Codes from 520 to 526 aren’t part of the HTTP standard. They come from Cloudflare, a service that sits in front of many websites and servers. Cloudflare’s documentation of its 5xx error codes lists, for example, 521 as “web server is down”, 522 as “connection timed out” and 525 as “SSL handshake failed”. All of them describe the server behind Cloudflare, so treat them like a 502: wait, then report.

Player messages without an HTTP number

Many errors never reach the stage of an HTTP status code, because the connection failed before a server could answer. Players describe these in words, and the wording varies by app. These are the common ones and what they usually mean.

“Playlist failed to load” or “Unable to load channels”

The app couldn’t download or read the channel list. Check the server address or M3U link first, then the login, then the plan’s end date. If the link is correct and the app still fails, try loading it on a second device; if it works there, clear the first app’s cache and try again.

“Unable to connect”, “Connection refused” or “Connection failed”

The device couldn’t open a connection to the server. A wrong server address or port number is the most common cause, followed by no internet on the device, a VPN or firewall in the way, or an overloaded server refusing connections. Check that other apps on the same device can reach the internet, and run our IPTV speed test on it.

“Timeout” or “Connection timed out”

The device sent a request and gave up waiting for an answer. Weak Wi-Fi, a congested connection or a server under heavy load can all cause it. If timeouts come and go in the evening, the network is the likely cause; if every attempt times out, check the server address.

“Unable to resolve host”

The device couldn’t turn the server’s name into an address, which is a DNS failure. Restart the router and the device, and check that the server name is spelled correctly. If it keeps happening, our guide to restarting the router and clearing the DNS cache walks through the full reset.

Messages about the stream or the app

A second group of messages appears after the connection works: the server answered, but the player couldn’t use what came back, or the app itself refused the address. These point to the stream, the player or its settings rather than the network.

“Source error”

This is a catch-all used by many Android players when the stream itself can’t be loaded or read. The real cause is often in the details: tap More, Details or the error icon if your player offers it, and look for an HTTP code such as “Response code: 403”. Without details, try the channel’s other qualities and another channel to see whether it is one stream or all of them.

“Cleartext HTTP traffic not permitted”

Google’s Android security documentation explains that apps built for Android 9 and later block unencrypted http:// connections by default unless the app opts in. If you see this, the app doesn’t allow the http:// address you entered. Use the exact address from your welcome message, including https:// if it has it, or try a player that supports your address type.

“Behind live window”

You paused or rewound a live channel further back than the stream keeps available. Jump back to live, or restart the channel. For watching earlier programs, catch-up on supported channels is the better tool.

Android player error numbers

Some Android players, on phones, Android TV, Google TV and Android-based Fire OS devices, show a four-digit number instead of a message. Many of these come from Google’s Media3 playback library, and the Media3 PlaybackException reference defines what each number means.

Common Media3 playback error numbers and what to do about them.
NumberWhat it meansWhat to do
1002Playback fell behind the window of available live contentJump back to live or restart the channel
1003A general timeoutCheck the connection and retry
2001Network connection failedCheck internet on the device, the server address and any VPN
2002Network timeout: the server took too longRetry; test Wi-Fi and the time of day
2004The server returned an unexpected HTTP statusLook for the HTTP code in the details, then use this guide
2005The file doesn’t existRefresh the playlist; try another title
2007Cleartext http:// traffic not permitted by the appUse the exact address you were given, or another player
3001The stream’s container data couldn’t be parsedTry another quality; report the channel if it persists
4001The decoder failed to startSwitch the player’s decoder; restart the device
4003Decoding failed during playbackSwitch the decoder; try the channel’s HD version
4004The format exceeds the device’s capabilitiesUse a lower quality, such as HD instead of 4K

The 4000 range is about decoding, not the network, so speed tests and router restarts won’t help there. If those errors come with a black picture, our guide to an IPTV black screen covers decoder and display fixes in detail.

Errors caused by the device clock

Secure connections depend on certificates that are valid only between two dates. If your device’s date is wrong, for example after a power cut on a box without a clock battery, it can decide a perfectly valid certificate has expired or isn’t valid yet. The player then reports a security, certificate or SSL handshake error, or simply “unable to connect”.

The fix takes a minute: turn on automatic date and time in the device’s settings and pick your real time zone. A wrong clock also makes the TV guide look empty or shifted, so if you see both problems at once, the clock is almost certainly the cause.

Your side or the server’s? A five-minute test

If the code doesn’t make the answer obvious, these checks sort it out quickly. Do them in order and stop when one gives a clear answer:

  1. Another channel. If other channels play, the problem is limited to one stream; report its name.
  2. Another device on the same network. If a phone or second TV plays the same channel, the first device or its app is the cause.
  3. Another network. Try the same channel on a phone using mobile data. If it works there and not at home, look at the home network, DNS or VPN.
  4. The connection itself. Run the IPTV speed test on the failing device and check download, ping and jitter.
  5. The account. Confirm the plan’s end date and that no other device is using your last screen.

If everything on your side checks out and the error continues on every device and network, the cause is on the server side, and support needs to know.

What not to do when an error appears

Some reactions to an error cost time or make it worse:

  • Don’t hammer the retry button. Repeated retries can turn a short hiccup into a 429 rate limit.
  • Don’t reinstall straight away. Reinstalling deletes your settings and favourites and does nothing for server-side codes.
  • Don’t clear the app’s data before its cache. Clearing data signs you out; clearing the cache keeps your login.
  • Don’t post your login publicly when asking for help in a forum or review. Use the private support chat instead.
  • Don’t change several things at once. Change one thing, test, then move on.

If the app closes itself when the error appears, rather than showing a message, that is a crash rather than a server error. Our guide to an IPTV app that keeps crashing covers that case.

What to send support

An error code is far more useful with its context. When you message Online Support, include:

  • a photo of the exact message, including any number and details,
  • the player app and the device model,
  • the channel or title, and its quality (4K, FHD, HD or SD),
  • the time it happened, and whether it is still happening,
  • what you already tried, such as another channel, device or network.

With those details we can usually say in one reply whether the fix is on your side or ours. Quick, specific answers like this are part of every plan from our team, the Canadian IPTV provider behind this blog.

Questions people ask

What does error 403 mean on IPTV?

It means the server understood the request but refused it. The most common reasons are a plan that has ended, every screen on the plan already in use, or a VPN address the server won’t accept. Check your end date, close the app on other devices, turn off any VPN, then try again.

Is a 503 error on IPTV my fault?

No. A 503 means the server is temporarily overloaded or under maintenance, so nothing on your device caused it and nothing on your device will fix it. Wait a few minutes and try once more. If it keeps happening, report the time and the channel to support so it can be checked.

Why does my IPTV app say “source error”?

Many Android players use “source error” when a stream can’t be loaded or read. The details often hold the real cause, such as an HTTP 403 or 404, so open them if the app allows. Then try another channel and another quality to see whether one stream or everything is affected.

How long should I wait after a 429 Too Many Requests error?

Close the app on every device and wait at least a few minutes before trying again from one device. Each retry counts as another request, so tapping refresh repeatedly makes the limit last longer. After that, let one playlist or guide update finish fully before starting another.

Why do I get a 404 on a channel that used to work?

The channel’s address has probably changed since your player last loaded the channel list, so it is asking for an old address. Refresh or reload the playlist in your player, wait for it to finish, and open the channel again from the updated list rather than from an old favourite.

Questions about your setup?

Our support team is available 24/7 and happy to help — even before you buy.

Open Online Support

7-day money-back guarantee

Live Chat