| Status code | 416 |
|---|---|
| Status text | Range Not Satisfiable |
| Category | 4xx Client Error |
| Response has body | Usually |
| Specification | RFC 9110 |
What does 416 Range Not Satisfiable mean?
The Range header asks for a part of the resource that does not exist. It belongs to the 4xx Client Error class, which means the request contains bad syntax or cannot be fulfilled. Something about the request needs to change.
When do APIs return 416?
A download is resumed from a byte offset at or beyond the end of the file — most often because the file is already complete, or because it changed on the server and is now shorter. The response includes Content-Range: bytes */N, where N is the real size.
How to fix a 416 Range Not Satisfiable
Read the size from the Content-Range header and compare it with what you already have. If the local file is the same size, the download was finished. If the remote file changed, discard the partial copy and start again without a Range header. Guard resumed downloads with If-Range so a changed file is sent whole instead of failing.
Reproduce a 416 response
The fastest way to understand a status code is to trigger one and read the full response. Open the
API tester and send a request to https://httpbin.org/status/416 — you will
see the 416 status along with every response header the server sent. Comparing those headers against
a working request is often what reveals the cause.
When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.
Related 4xx status codes
400 Bad Request
The server could not understand the request because it is malformed.
401 Unauthorized
The request lacks valid authentication credentials. Despite the name, this means unauthenticated.
402 Payment Required
The request cannot be processed until payment is made.
403 Forbidden
The server understood the request and knows who you are, but refuses to authorise it.
404 Not Found
The server cannot find the requested resource.
405 Method Not Allowed
The endpoint exists but does not support the HTTP method you used.
See also
- 206 Partial Content — The server is delivering only part of the resource, as requested by a Range header.
References
- RFC 9110, 416 Range Not Satisfiable — The specification that defines this status code.
- MDN: 416 Range Not Satisfiable — MDN's reference page for this status code.