Errors

What each error of the screenshot API means and how to fix it, and the 249 network errors Chrome can end a page load with (ERR_CONNECTION_REFUSED, ERR_NAME_NOT_RESOLVED, ...), the common ones with their causes and fixes.

Common Chrome errors

ERR_CONNECTION_RESET The connection to the website was open, then cut off by the other side (or something in between) with a TCP … ERR_CONNECTION_REFUSED Chrome reached the server’s address, but nothing accepted the connection on that port: the server … ERR_CONNECTION_TIMED_OUT Chrome tried to open a connection to the website’s server and got no answer at all before it gave up. … ERR_CACHE_MISS Chrome needed a page from its cache and it was not there. You see it most often after going back to a page … ERR_ADDRESS_UNREACHABLE Chrome had an IP address for the website, but there was no network route to it: the address cannot be reached … ERR_TIMED_OUT Something Chrome waited for took too long: the connection, the server’s answer or the rest of the page. … ERR_SSL_PROTOCOL_ERROR The secure (HTTPS) connection could not be set up: Chrome and the server could not complete the TLS handshake, … ERR_CONNECTION_CLOSED The connection was closed by the other side in the normal way (a TCP FIN) before Chrome got a complete answer. … ERR_QUIC_PROTOCOL_ERROR The connection over QUIC (HTTP/3), the UDP-based protocol Chrome uses with many large sites, failed. Usually … ERR_NAME_NOT_RESOLVED Chrome could not find an IP address for the website’s host name: the DNS lookup failed. Either the name … ERR_TOO_MANY_REDIRECTS The page redirected again and again, more than 20 times, so Chrome stopped. The site sends visitors in a loop, … ERR_NETWORK_CHANGED The network connection changed while the page was loading: another Wi-Fi, a VPN going up or down, or a new IP … ERR_SSL_VERSION_OR_CIPHER_MISMATCH Chrome and the server have no TLS version or cipher in common, so the secure connection cannot start. The … ERR_HTTP2_PROTOCOL_ERROR The server, or a proxy in front of it, broke the rules of HTTP/2 while sending the page, for example by … ERR_SOCKET_NOT_CONNECTED Chrome tried to use a network connection (socket) that was no longer connected. It points to a problem on the … ERR_CERT_AUTHORITY_INVALID The website’s HTTPS certificate is not signed by an authority Chrome trusts. The connection may be … ERR_CONNECTION_ABORTED The connection timed out while sending data: Chrome sent something and never got an acknowledgement, so the … ERR_INTERNET_DISCONNECTED Chrome has no internet connection at all: the device is offline, so no website can load. ERR_FILE_NOT_FOUND Chrome could not find a local file: the page or resource points to a file:// path, or a browser extension … ERR_FAILED A generic failure: the request failed for a reason Chrome does not name more precisely. Often something on the … ERR_EMPTY_RESPONSE The server accepted the connection and then closed it without sending anything back: no status line, no … ERR_BLOCKED_BY_RESPONSE The server answered, but its response headers forbid showing it in this context, so Chrome blocked it. Typical … ERR_UNKNOWN_URL_SCHEME The URL starts with a scheme Chrome cannot open, such as intent://, whatsapp:// or market://. On Android it is … ERR_CERT_COMMON_NAME_INVALID The certificate the server presented was issued for a different host name than the one in the address bar, so … ERR_SSL_UNRECOGNIZED_NAME_ALERT The server rejected the TLS handshake because it has no configuration for the host name Chrome asked for (the … ERR_TUNNEL_CONNECTION_FAILED Chrome is set to use a proxy, and the proxy could not open a tunnel to the website. The proxy was reached, the … ERR_INVALID_RESPONSE The server sent an answer Chrome could not use as an HTTP response: broken headers, a wrong content length or … ERR_BAD_SSL_CLIENT_AUTH_CERT The server asked for a client certificate (mutual TLS) and rejected the one Chrome sent, or got none. ERR_CERT_DATE_INVALID The website’s certificate has expired or is not valid yet, judged by your device’s clock. ERR_PROXY_CONNECTION_FAILED Chrome is set to use a proxy server and could not connect to it at all, so no website loads. ERR_BLOCKED_BY_CLIENT Something in the browser itself blocked the request, usually an ad blocker or privacy extension that matched … ERR_CONNECTION_FAILED A connection attempt failed for a reason Chrome does not name more precisely: the server could not be reached …

Screenshot API errors

Every error answers with JSON and a message. None of these requests are billed.

StatusErrorMeaning
400target_unresolvableHost name not resolved
401invalid_api_keyInvalid API key
401missing_api_keyMissing API key
403forbiddenForbidden
403key_not_allowed_for_productKey of another product
403referrer_not_allowedReferrer not allowed
404not_foundEndpoint not found
408target_timeoutTarget took too long
422invalid_parametersInvalid parameters
422output_too_large_for_formatImage too large for its format
422page_too_largePage too large for markdown
422target_blocked_private_rangeTarget on a private network
429grace_quota_exceededGrace quota used up
429overage_quota_exceededOverage limit reached
429quota_exceededMonthly quota used up
429rate_limit_exceededRate limit exceeded
500render_failedRender failed
502target_unreachableTarget website unreachable
503storage_unavailableFile could not be stored

All statuses, 405 and 504 included: status codes in the API documentation.

Chrome network errors

Every network error in Chromium, grouped by the ranges of its source file. The descriptions are Chromium's own.

System errors

ErrorCodeDescription
ERR_IO_PENDING-1An asynchronous IO operation is not yet complete. This usually does not indicate a fatal error. Typically this error will be generated as a notification to wait for some external notification that the IO operation finally completed.
ERR_FAILED-2A generic failure occurred.
ERR_ABORTED-3An operation was aborted (due to user action).
ERR_INVALID_ARGUMENT-4An argument to the function is incorrect.
ERR_INVALID_HANDLE-5The handle or file descriptor is invalid.
ERR_FILE_NOT_FOUND-6The file or directory cannot be found.
ERR_TIMED_OUT-7An operation timed out.
ERR_FILE_TOO_BIG-8The file is too large.
ERR_UNEXPECTED-9An unexpected error. This may be caused by a programming mistake or an invalid assumption.
ERR_ACCESS_DENIED-10Permission to access a resource, other than the network, was denied.
ERR_NOT_IMPLEMENTED-11The operation failed because of unimplemented functionality.
ERR_INSUFFICIENT_RESOURCES-12There were not enough resources to complete the operation.
ERR_OUT_OF_MEMORY-13Memory allocation failed.
ERR_UPLOAD_FILE_CHANGED-14The file upload failed because the file's modification time was different from the expectation.
ERR_SOCKET_NOT_CONNECTED-15The socket is not connected.
ERR_FILE_EXISTS-16The file already exists.
ERR_FILE_PATH_TOO_LONG-17The path or file name is too long.
ERR_FILE_NO_SPACE-18Not enough room left on the disk.
ERR_FILE_VIRUS_INFECTED-19The file has a virus.
ERR_BLOCKED_BY_CLIENT-20The client chose to block the request.
ERR_NETWORK_CHANGED-21The network changed.
ERR_BLOCKED_BY_ADMINISTRATOR-22The request was blocked by the URL block list configured by the domain administrator.
ERR_SOCKET_IS_CONNECTED-23The socket is already connected.
ERR_UPLOAD_STREAM_REWIND_NOT_SUPPORTED-25The upload failed because the upload stream needed to be re-read, due to a retry or a redirect, but the upload stream doesn't support that operation.
ERR_CONTEXT_SHUT_DOWN-26The request failed because the URLRequestContext is shutting down, or has been shut down.
ERR_BLOCKED_BY_RESPONSE-27The request failed because the response was delivered along with requirements which are not met ('X-Frame-Options' and 'Content-Security-Policy' ancestor checks and 'Cross-Origin-Resource-Policy' for instance).
ERR_CLEARTEXT_NOT_PERMITTED-29The request was blocked by system policy disallowing some or all cleartext requests. Used for NetworkSecurityPolicy on Android.
ERR_BLOCKED_BY_CSP-30The request was blocked by a Content Security Policy
ERR_BLOCKED_BY_ORB-32The request was blocked by CORB or ORB.
ERR_NETWORK_ACCESS_REVOKED-33The request was blocked because it originated from a frame that has disabled network access.
ERR_BLOCKED_BY_FINGERPRINTING_PROTECTION-34The request was blocked by fingerprinting protections.
ERR_BLOCKED_IN_INCOGNITO_BY_ADMINISTRATOR-35The request was blocked by the Incognito Mode URL block list configured by the domain administrator.
ERR_LOCAL_NETWORK_PERMISSION_MISSING-36The request was blocked because the local network permission is missing. Note that this is different from BLOCKED_BY_LOCAL_NETWORK_ACCESS_CHECKS which is specifically for a CORS error code.
ERR_STRICT_ECH_REQUIRED-37The request was blocked because ECH is strictly required, but:

Connection errors

ErrorCodeDescription
ERR_CONNECTION_CLOSED-100A connection was closed (corresponding to a TCP FIN).
ERR_CONNECTION_RESET-101A connection was reset (corresponding to a TCP RST).
ERR_CONNECTION_REFUSED-102A connection attempt was refused.
ERR_CONNECTION_ABORTED-103A connection timed out as a result of not receiving an ACK for data sent. This can include a FIN packet that did not get ACK'd.
ERR_CONNECTION_FAILED-104A connection attempt failed.
ERR_NAME_NOT_RESOLVED-105The host name could not be resolved.
ERR_INTERNET_DISCONNECTED-106The Internet connection has been lost.
ERR_SSL_PROTOCOL_ERROR-107An SSL protocol error occurred.
ERR_ADDRESS_INVALID-108The IP address or port number is invalid (e.g., cannot connect to the IP address 0 or the port 0).
ERR_ADDRESS_UNREACHABLE-109The IP address is unreachable. This usually means that there is no route to the specified host or network.
ERR_SSL_CLIENT_AUTH_CERT_NEEDED-110The server requested a client certificate for SSL client authentication.
ERR_TUNNEL_CONNECTION_FAILED-111A tunnel connection through the proxy could not be established. For more info see the comment on PROXY_UNABLE_TO_CONNECT_TO_DESTINATION.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH-113The client and server don't support a common SSL protocol version or cipher suite.
ERR_SSL_RENEGOTIATION_REQUESTED-114The server requested a renegotiation (rehandshake).
ERR_PROXY_AUTH_UNSUPPORTED-115The proxy requested authentication (for tunnel establishment) with an unsupported method.
ERR_BAD_SSL_CLIENT_AUTH_CERT-117The SSL handshake failed because of a bad or missing client certificate.
ERR_CONNECTION_TIMED_OUT-118A connection attempt timed out.
ERR_HOST_RESOLVER_QUEUE_TOO_LARGE-119There are too many pending DNS resolves, so a request in the queue was aborted.
ERR_SOCKS_CONNECTION_FAILED-120Failed establishing a connection to the SOCKS proxy server for a target host.
ERR_SOCKS_CONNECTION_HOST_UNREACHABLE-121The SOCKS proxy server failed establishing connection to the target host because that host is unreachable.
ERR_ALPN_NEGOTIATION_FAILED-122The request to negotiate an alternate protocol failed.
ERR_SSL_NO_RENEGOTIATION-123The peer sent an SSL no_renegotiation alert message.
ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES-124Winsock sometimes reports more data written than passed. This is probably due to a broken LSP.
ERR_SSL_DECOMPRESSION_FAILURE_ALERT-125An SSL peer sent us a fatal decompression_failure alert. This typically occurs when a peer selects DEFLATE compression in the mistaken belief that it supports it.
ERR_SSL_BAD_RECORD_MAC_ALERT-126An SSL peer sent us a fatal bad_record_mac alert. This has been observed from servers with buggy DEFLATE support.
ERR_PROXY_AUTH_REQUESTED-127The proxy requested authentication (for tunnel establishment).
ERR_PROXY_CONNECTION_FAILED-130Could not create a connection to the proxy server. An error occurred either in resolving its name, or in connecting a socket to it. Note that this does NOT include failures during the actual "CONNECT" method of an HTTP proxy.
ERR_MANDATORY_PROXY_CONFIGURATION_FAILED-131A mandatory proxy configuration could not be used. Currently this means that a mandatory PAC script could not be fetched, parsed or executed.
ERR_PRECONNECT_MAX_SOCKET_LIMIT-133We've hit the max socket limit for the socket pool while preconnecting. We don't bother trying to preconnect more sockets.
ERR_SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED-134The permission to use the SSL client certificate's private key was denied.
ERR_SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY-135The SSL client certificate has no private key.
ERR_PROXY_CERTIFICATE_INVALID-136The certificate presented by the HTTPS Proxy was invalid.
ERR_NAME_RESOLUTION_FAILED-137An error occurred when trying to do a name resolution (DNS).
ERR_NETWORK_ACCESS_DENIED-138Permission to access the network was denied. This is used to distinguish errors that were most likely caused by a firewall from other access denied errors. See also ERR_ACCESS_DENIED.
ERR_TEMPORARILY_THROTTLED-139The request throttler module cancelled this request to avoid DDOS.
ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED-141We were unable to sign the CertificateVerify data of an SSL client auth handshake with the client certificate's private key.
ERR_MSG_TOO_BIG-142The message was too large for the transport. (for example a UDP message which exceeds size threshold).
ERR_WS_PROTOCOL_ERROR-145Websocket protocol error. Indicates that we are terminating the connection due to a malformed frame or other protocol violation.
ERR_ADDRESS_IN_USE-147Returned when attempting to bind an address that is already in use.
ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN-150The certificate didn't match the built-in public key pins for the host name. The pins are set in net/http/transport_security_state.cc and require that one of a set of public keys exist on the path from the leaf to the root.
ERR_CLIENT_AUTH_CERT_TYPE_UNSUPPORTED-151Server request for client certificate did not contain any types we support.
ERR_SSL_DECRYPT_ERROR_ALERT-153An SSL peer sent us a fatal decrypt_error alert. This typically occurs when a peer could not correctly verify a signature (in CertificateVerify or ServerKeyExchange) or validate a Finished message.
ERR_WS_THROTTLE_QUEUE_TOO_LARGE-154There are too many pending WebSocketJob instances, so the new job was not pushed to the queue.
ERR_SSL_SERVER_CERT_CHANGED-156The SSL server certificate changed in a renegotiation.
ERR_SSL_UNRECOGNIZED_NAME_ALERT-159The SSL server sent us a fatal unrecognized_name alert.
ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR-160Failed to set the socket's receive buffer size as requested.
ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR-161Failed to set the socket's send buffer size as requested.
ERR_SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE-162Failed to set the socket's receive buffer size as requested, despite success return code from setsockopt.
ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE-163Failed to set the socket's send buffer size as requested, despite success return code from setsockopt.
ERR_SSL_CLIENT_AUTH_CERT_BAD_FORMAT-164Failed to import a client certificate from the platform store into the SSL library.
ERR_ICANN_NAME_COLLISION-166Resolving a hostname to an IP address list included the IPv4 address "127.0.53.53". This is a special IP address which ICANN has recommended to indicate there was a name collision, and alert admins to a potential problem.
ERR_SSL_SERVER_CERT_BAD_FORMAT-167The SSL server presented a certificate which could not be decoded. This is not a certificate error code as no X509Certificate object is available. This error is fatal.
ERR_CT_STH_PARSING_FAILED-168Certificate Transparency: Received a signed tree head that failed to parse.
ERR_CT_STH_INCOMPLETE-169Certificate Transparency: Received a signed tree head whose JSON parsing was OK but was missing some of the fields.
ERR_UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH-170The attempt to reuse a connection to send proxy auth credentials failed before the AuthController was used to generate credentials. The caller should reuse the controller with a new connection. This error is only used internally by the network stack.
ERR_CT_CONSISTENCY_PROOF_PARSING_FAILED-171Certificate Transparency: Failed to parse the received consistency proof.
ERR_SSL_OBSOLETE_CIPHER-172The SSL server required an unsupported cipher suite that has since been removed. This error will temporarily be signaled on a fallback for one or two releases immediately following a cipher suite's removal, after which the fallback will be removed.
ERR_WS_UPGRADE-173When a WebSocket handshake is done successfully and the connection has been upgraded, the URLRequest is cancelled with this error code.
ERR_READ_IF_READY_NOT_IMPLEMENTED-174Socket ReadIfReady support is not implemented. This error should not be user visible, because the normal Read() method is used as a fallback.
ERR_NO_BUFFER_SPACE-176No socket buffer space is available.
ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS-177There were no common signature algorithms between our client certificate private key and the server's preferences.
ERR_EARLY_DATA_REJECTED-178TLS 1.3 early data was rejected by the server. This will be received before any data is returned from the socket. The request should be retried with early data disabled.
ERR_WRONG_VERSION_ON_EARLY_DATA-179TLS 1.3 early data was offered, but the server responded with TLS 1.2 or earlier. This is an internal error code to account for a backwards-compatibility issue with early data and TLS 1.2. It will be received before any data is returned from the socket. The request should be retried with early data disabled.
ERR_TLS13_DOWNGRADE_DETECTED-180TLS 1.3 was enabled, but a lower version was negotiated and the server returned a value indicating it supported TLS 1.3. This is part of a security check in TLS 1.3, but it may also indicate the user is behind a buggy TLS-terminating proxy which implemented TLS 1.2 incorrectly. (See https://crbug.com/boringssl/226.)
ERR_SSL_KEY_USAGE_INCOMPATIBLE-181The server's certificate has a keyUsage extension incompatible with the negotiated TLS key exchange method.
ERR_INVALID_ECH_CONFIG_LIST-182The ECHConfigList fetched over DNS cannot be parsed.
ERR_ECH_NOT_NEGOTIATED-183ECH was enabled, but the server was unable to decrypt the encrypted ClientHello.
ERR_ECH_FALLBACK_CERTIFICATE_INVALID-184ECH was enabled, the server was unable to decrypt the encrypted ClientHello, and additionally did not present a certificate valid for the public name.
ERR_PROXY_UNABLE_TO_CONNECT_TO_DESTINATION-186An attempt to proxy a request failed because the proxy wasn't able to successfully connect to the destination. This likely indicates an issue with the request itself (for instance, the hostname failed to resolve to an IP address or the destination server refused the connection). This error code is used to indicate that the error is outside the control of the proxy server and thus the proxy chain should not be marked as bad. This is in contrast to ERR_TUNNEL_CONNECTION_FAILED which is used for general purpose errors connecting to the proxy and by the proxy request response handling when a proxy delegate doesn't indicate via a different error code whether proxy fallback should occur. Note that for IP Protection proxies this error code causes the proxy to be marked as bad since the preference is to fail open for general purpose errors, but for other proxies this error does not cause the proxy to be marked as bad.
ERR_PROXY_DELEGATE_CANCELED_CONNECT_REQUEST-187Some implementations of ProxyDelegate query a separate entity to know whether it should cancel tunnel prior to:
ERR_PROXY_DELEGATE_CANCELED_CONNECT_RESPONSE-188Some implementations of ProxyDelegate query a separate entity to know whether it should cancel tunnel prior to:
ERR_CONTROL_MSG_TOO_BIG-189The control message was too large for the transport. (for example a UDP message control data exceeds size threshold).
ERR_MULTICAST_NOT_ALLOWED-190Direct Sockets attempted to connect to or send a packet to a multicast address without 'direct-sockets-multicast' permissions policy.

Certificate errors

ErrorCodeDescription
ERR_CERT_COMMON_NAME_INVALID-200The server responded with a certificate whose common name did not match the host name. This could mean:
ERR_CERT_DATE_INVALID-201The server responded with a certificate that, by our clock, appears to either not yet be valid or to have expired. This could mean:
ERR_CERT_AUTHORITY_INVALID-202The server responded with a certificate that is signed by an authority we don't trust. The could mean:
ERR_CERT_CONTAINS_ERRORS-203The server responded with a certificate that contains errors. This error is not recoverable.
ERR_CERT_NO_REVOCATION_MECHANISM-204The certificate has no mechanism for determining if it is revoked. In effect, this certificate cannot be revoked.
ERR_CERT_UNABLE_TO_CHECK_REVOCATION-205Revocation information for the security certificate for this site is not available. This could mean:
ERR_CERT_REVOKED-206The server responded with a certificate has been revoked. We have the capability to ignore this error, but it is probably not the thing to do.
ERR_CERT_INVALID-207The server responded with a certificate that is invalid. This error is not recoverable.
ERR_CERT_WEAK_SIGNATURE_ALGORITHM-208The server responded with a certificate that is signed using a weak signature algorithm.
ERR_CERT_NON_UNIQUE_NAME-210The host name specified in the certificate is not unique.
ERR_CERT_WEAK_KEY-211The server responded with a certificate that contains a weak key (e.g. a too-small RSA key).
ERR_CERT_NAME_CONSTRAINT_VIOLATION-212The certificate claimed DNS names that are in violation of name constraints.
ERR_CERT_VALIDITY_TOO_LONG-213The certificate's validity period is too long.
ERR_CERTIFICATE_TRANSPARENCY_REQUIRED-214Certificate Transparency was required for this connection, but the server did not provide CT information that complied with the policy.
ERR_CERT_KNOWN_INTERCEPTION_BLOCKED-217The certificate is known to be used for interception by an entity other the device owner.
ERR_CERT_SELF_SIGNED_LOCAL_NETWORK-219The certificate is self signed and it's being used for either an RFC1918 IP literal URL, or a url ending in .local.
ERR_CERT_END-220The value immediately past the last certificate error code.

HTTP errors

ErrorCodeDescription
ERR_INVALID_URL-300The URL is invalid.
ERR_DISALLOWED_URL_SCHEME-301The scheme of the URL is disallowed.
ERR_UNKNOWN_URL_SCHEME-302The scheme of the URL is unknown.
ERR_INVALID_REDIRECT-303Attempting to load an URL resulted in a redirect to an invalid URL.
ERR_TOO_MANY_REDIRECTS-310Attempting to load an URL resulted in too many redirects.
ERR_UNSAFE_REDIRECT-311Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect to file:// is considered unsafe).
ERR_UNSAFE_PORT-312Attempting to load an URL with an unsafe port number. These are port numbers that correspond to services, which are not robust to spurious input that may be constructed as a result of an allowed web construct (e.g., HTTP looks a lot like SMTP, so form submission to port 25 is denied).
ERR_INVALID_RESPONSE-320The server's response was invalid.
ERR_INVALID_CHUNKED_ENCODING-321Error in chunked transfer encoding.
ERR_METHOD_NOT_SUPPORTED-322The server did not support the request method.
ERR_UNEXPECTED_PROXY_AUTH-323The response was 407 (Proxy Authentication Required), yet we did not send the request to a proxy.
ERR_EMPTY_RESPONSE-324The server closed the connection without sending any data.
ERR_RESPONSE_HEADERS_TOO_BIG-325The headers section of the response is too large.
ERR_PAC_SCRIPT_FAILED-327The evaluation of the PAC script failed.
ERR_REQUEST_RANGE_NOT_SATISFIABLE-328The response was 416 (Requested range not satisfiable) and the server cannot satisfy the range requested.
ERR_MALFORMED_IDENTITY-329The identity used for authentication is invalid.
ERR_CONTENT_DECODING_FAILED-330Content decoding of the response body failed.
ERR_NETWORK_IO_SUSPENDED-331An operation could not be completed because all network IO is suspended.
ERR_NO_SUPPORTED_PROXIES-336There are no supported proxies in the provided list.
ERR_HTTP2_PROTOCOL_ERROR-337There is an HTTP/2 protocol error.
ERR_INVALID_AUTH_CREDENTIALS-338Credentials could not be established during HTTP Authentication.
ERR_UNSUPPORTED_AUTH_SCHEME-339An HTTP Authentication scheme was tried which is not supported on this machine.
ERR_ENCODING_DETECTION_FAILED-340Detecting the encoding of the response failed.
ERR_MISSING_AUTH_CREDENTIALS-341(GSSAPI) No Kerberos credentials were available during HTTP Authentication.
ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS-342An unexpected, but documented, SSPI or GSSAPI status code was returned.
ERR_MISCONFIGURED_AUTH_ENVIRONMENT-343The environment was not set up correctly for authentication (for example, no KDC could be found or the principal is unknown.
ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS-344An undocumented SSPI or GSSAPI status code was returned.
ERR_RESPONSE_BODY_TOO_BIG_TO_DRAIN-345The HTTP response was too big to drain.
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH-346The HTTP response contained multiple distinct Content-Length headers.
ERR_INCOMPLETE_HTTP2_HEADERS-347HTTP/2 headers have been received, but not all of them - status or version headers are missing, so we're expecting additional frames to complete them.
ERR_PAC_NOT_IN_DHCP-348No PAC URL configuration could be retrieved from DHCP. This can indicate either a failure to retrieve the DHCP configuration, or that there was no PAC URL configured in DHCP.
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION-349The HTTP response contained multiple Content-Disposition headers.
ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION-350The HTTP response contained multiple Location headers.
ERR_HTTP2_SERVER_REFUSED_STREAM-351HTTP/2 server refused the request without processing, and sent either a GOAWAY frame with error code NO_ERROR and Last-Stream-ID lower than the stream id corresponding to the request indicating that this request has not been processed yet, or a RST_STREAM frame with error code REFUSED_STREAM. Client MAY retry (on a different connection). See RFC7540 Section 8.1.4.
ERR_HTTP2_PING_FAILED-352HTTP/2 server didn't respond to the PING message.
ERR_CONTENT_LENGTH_MISMATCH-354The HTTP response body transferred fewer bytes than were advertised by the Content-Length header when the connection is closed.
ERR_INCOMPLETE_CHUNKED_ENCODING-355The HTTP response body is transferred with Chunked-Encoding, but the terminating zero-length chunk was never sent when the connection is closed.
ERR_QUIC_PROTOCOL_ERROR-356There is a QUIC protocol error.
ERR_RESPONSE_HEADERS_TRUNCATED-357The HTTP headers were truncated by an EOF.
ERR_QUIC_HANDSHAKE_FAILED-358The QUIC crypto handshake failed. This means that the server was unable to read any requests sent, so they may be resent.
ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY-360Transport security is inadequate for the HTTP/2 version.
ERR_HTTP2_FLOW_CONTROL_ERROR-361The peer violated HTTP/2 flow control.
ERR_HTTP2_FRAME_SIZE_ERROR-362The peer sent an improperly sized HTTP/2 frame.
ERR_HTTP2_COMPRESSION_ERROR-363Decoding or encoding of compressed HTTP/2 headers failed.
ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION-364Proxy Auth Requested without a valid Client Socket Handle.
ERR_HTTP_1_1_REQUIRED-365HTTP_1_1_REQUIRED error code received on HTTP/2 session.
ERR_PROXY_HTTP_1_1_REQUIRED-366HTTP_1_1_REQUIRED error code received on HTTP/2 session to proxy.
ERR_PAC_SCRIPT_TERMINATED-367The PAC script terminated fatally and must be reloaded.
ERR_INVALID_HTTP_RESPONSE-370The server was expected to return an HTTP/1.x response, but did not. Rather than treat it as HTTP/0.9, this error is returned.
ERR_CONTENT_DECODING_INIT_FAILED-371Initializing content decoding failed.
ERR_HTTP2_RST_STREAM_NO_ERROR_RECEIVED-372Received HTTP/2 RST_STREAM frame with NO_ERROR error code. This error should be handled internally by HTTP/2 code, and should not make it above the SpdyStream layer.
ERR_TOO_MANY_RETRIES-375An HTTP transaction was retried too many times due for authentication or invalid certificates. This may be due to a bug in the net stack that would otherwise infinite loop, or if the server or proxy continually requests fresh credentials or presents a fresh invalid certificate.
ERR_HTTP2_STREAM_CLOSED-376Received an HTTP/2 frame on a closed stream.
ERR_HTTP_RESPONSE_CODE_FAILURE-379The server returned a non-2xx HTTP response code.
ERR_QUIC_CERT_ROOT_NOT_KNOWN-380The certificate presented on a QUIC connection does not chain to a known root and the origin connected to is not on a list of domains where unknown roots are allowed.
ERR_QUIC_GOAWAY_REQUEST_CAN_BE_RETRIED-381A GOAWAY frame has been received indicating that the request has not been processed and is therefore safe to retry on a different connection.
ERR_TOO_MANY_ACCEPT_CH_RESTARTS-382The ACCEPT_CH restart has been triggered too many times
ERR_INCONSISTENT_IP_ADDRESS_SPACE-383The IP address space of the remote endpoint differed from the previous observed value during the same request. Any cache entry for the affected request should be invalidated.
ERR_CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_LOCAL_NETWORK_ACCESS_POLICY-384The IP address space of the cached remote endpoint is blocked by private network access check.
ERR_BLOCKED_BY_LOCAL_NETWORK_ACCESS_CHECKS-385The connection is blocked by private network access checks.
ERR_ZSTD_WINDOW_SIZE_TOO_BIG-386Content decoding failed due to the zstd window size being too big (over 8MB).
ERR_DICTIONARY_LOAD_FAILED-387The compression dictionary cannot be loaded.
ERR_UNEXPECTED_CONTENT_DICTIONARY_HEADER-388The header of dictionary compressed stream does not match the expected value.

Cache errors

ErrorCodeDescription
ERR_CACHE_MISS-400The cache does not have the requested entry.
ERR_CACHE_READ_FAILURE-401Unable to read from the disk cache.
ERR_CACHE_WRITE_FAILURE-402Unable to write to the disk cache.
ERR_CACHE_OPERATION_NOT_SUPPORTED-403The operation is not supported for this entry.
ERR_CACHE_OPEN_FAILURE-404The disk cache is unable to open this entry.
ERR_CACHE_CREATE_FAILURE-405The disk cache is unable to create this entry.
ERR_CACHE_RACE-406Multiple transactions are racing to create disk cache entries. This is an internal error returned from the HttpCache to the HttpCacheTransaction that tells the transaction to restart the entry-creation logic because the state of the cache has changed.
ERR_CACHE_CHECKSUM_READ_FAILURE-407The cache was unable to read a checksum record on an entry. This can be returned from attempts to read from the cache. It is an internal error, returned by the SimpleCache backend, but not by any URLRequest methods or members.
ERR_CACHE_CHECKSUM_MISMATCH-408The cache found an entry with an invalid checksum. This can be returned from attempts to read from the cache. It is an internal error, returned by the SimpleCache backend, but not by any URLRequest methods or members.
ERR_CACHE_LOCK_TIMEOUT-409Internal error code for the HTTP cache. The cache lock timeout has fired.
ERR_CACHE_AUTH_FAILURE_AFTER_READ-410Received a challenge after the transaction has read some data, and the credentials aren't available. There isn't a way to get them at that point.
ERR_CACHE_ENTRY_NOT_SUITABLE-411Internal not-quite error code for the HTTP cache. In-memory hints suggest that the cache entry would not have been usable with the transaction's current configuration (e.g. load flags, mode, etc.)
ERR_CACHE_DOOM_FAILURE-412The disk cache is unable to doom this entry.
ERR_CACHE_OPEN_OR_CREATE_FAILURE-413The disk cache is unable to open or create this entry.
ERR_CACHE_COMPRESSION_FAILURE-414Zstd compression of a cache entry body failed.

Other errors

ErrorCodeDescription
ERR_INSECURE_RESPONSE-501The server's response was insecure (e.g. there was a cert error).
ERR_NO_PRIVATE_KEY_FOR_CERT-502An attempt to import a client certificate failed, as the user's key database lacked a corresponding private key.
ERR_ADD_USER_CERT_FAILED-503An error adding a certificate to the OS certificate database.
ERR_INVALID_SIGNED_EXCHANGE-504An error occurred while handling a signed exchange.
ERR_INVALID_WEB_BUNDLE-505An error occurred while handling a Web Bundle source.
ERR_TRUST_TOKEN_OPERATION_FAILED-506A Trust Tokens protocol operation-executing request failed for one of a number of reasons (precondition failure, internal error, bad response).
ERR_TRUST_TOKEN_OPERATION_SUCCESS_WITHOUT_SENDING_REQUEST-507When handling a Trust Tokens protocol operation-executing request, the system was able to execute the request's Trust Tokens operation without sending the request to its destination: for instance, the results could have been present in a local cache (for redemption) or the operation could have been diverted to a local provider (for "platform-provided" issuance).
ERR_HTTPENGINE_PROVIDER_IN_USE-508This is a placeholder value that should never be used within //net.

Certificate manager errors

ErrorCodeDescription
ERR_PKCS12_IMPORT_BAD_PASSWORD-701PKCS #12 import failed due to incorrect password.
ERR_PKCS12_IMPORT_FAILED-702PKCS #12 import failed due to other error.
ERR_IMPORT_CA_CERT_NOT_CA-703CA import failed - not a CA cert.
ERR_IMPORT_CERT_ALREADY_EXISTS-704Import failed - certificate already exists in database. Note it's a little weird this is an error but reimporting a PKCS12 is ok (no-op). That's how Mozilla does it, though.
ERR_IMPORT_CA_CERT_FAILED-705CA import failed due to some other error.
ERR_IMPORT_SERVER_CERT_FAILED-706Server certificate import failed due to some internal error.
ERR_PKCS12_IMPORT_INVALID_MAC-707PKCS #12 import failed due to invalid MAC.
ERR_PKCS12_IMPORT_INVALID_FILE-708PKCS #12 import failed due to invalid/corrupt file.
ERR_PKCS12_IMPORT_UNSUPPORTED-709PKCS #12 import failed due to unsupported features.
ERR_KEY_GENERATION_FAILED-710Key generation failed.
ERR_PRIVATE_KEY_EXPORT_FAILED-712Failure to export private key.
ERR_SELF_SIGNED_CERT_GENERATION_FAILED-713Self-signed certificate generation failed.
ERR_CERT_DATABASE_CHANGED-714The certificate database changed in some way.
ERR_CERT_VERIFIER_CHANGED-716The certificate verifier configuration changed in some way.

DNS errors

ErrorCodeDescription
ERR_DNS_MALFORMED_RESPONSE-800DNS resolver received a malformed response.
ERR_DNS_SERVER_REQUIRES_TCP-801DNS server requires TCP
ERR_DNS_TIMED_OUT-803DNS transaction timed out.
ERR_DNS_CACHE_MISS-804The entry was not found in cache or other local sources, for lookups where only local sources were queried. TODO(ericorth): Consider renaming to DNS_LOCAL_MISS or something like that as the cache is not necessarily queried either.
ERR_DNS_SEARCH_EMPTY-805Suffix search list rules prevent resolution of the given host name.
ERR_DNS_SORT_ERROR-806Failed to sort addresses according to RFC3484.
ERR_DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED-808Failed to resolve the hostname of a DNS-over-HTTPS server.
ERR_DNS_NAME_HTTPS_ONLY-809DNS identified the request as disallowed for insecure connection (http/ws). Error should be handled as if an HTTP redirect was received to redirect to https or wss.
ERR_DNS_REQUEST_CANCELLED-810All DNS requests associated with this job have been cancelled.
ERR_DNS_NO_MATCHING_SUPPORTED_ALPN-811The hostname resolution of HTTPS record was expected to be resolved with alpn values of supported protocols, but did not.
ERR_DNS_SECURE_PROBE_RECORD_INVALID-814When checking whether secure DNS can be used, the response returned for the requested probe record either had no answer or was invalid.
ERR_DNS_CACHE_INVALIDATION_IN_PROGRESS-815Returned when DNS cache invalidation is in progress. This is a transient error. Callers may want to retry later.
ERR_DNS_FORMAT_ERROR-816The DNS server responded with a format error response code.
ERR_DNS_SERVER_FAILURE-817The DNS server responded with a server failure response code.
ERR_DNS_NOT_IMPLEMENTED-818The DNS server responded that the query type is not implemented.
ERR_DNS_REFUSED-819The DNS server responded that the request was refused.
ERR_DNS_OTHER_FAILURE-820The DNS server responded with an rcode indicating that the request failed, but the rcode is not one that we have a specific error code for. In other words, the rcode was not one of the following:
ERR_DNS_DIRECT_ONLY-821Declined to call DNS for a direct_only request of a hostname whose traffic would be routed through a proxy.

Blob errors

ErrorCodeDescription
ERR_BLOB_INVALID_CONSTRUCTION_ARGUMENTS-900The construction arguments are invalid. This is considered a bad IPC.
ERR_BLOB_OUT_OF_MEMORY-901We don't have enough memory for the blob.
ERR_BLOB_FILE_WRITE_FAILED-902We couldn't create or write to a file. File system error, like a full disk.
ERR_BLOB_SOURCE_DIED_IN_TRANSIT-903The renderer was destroyed while data was in transit.
ERR_BLOB_DEREFERENCED_WHILE_BUILDING-904The renderer destructed the blob before it was done transferring, and there were no outstanding references (no one is waiting to read) to keep the blob alive.
ERR_BLOB_REFERENCED_BLOB_BROKEN-905A blob that we referenced during construction is broken, or a browser-side builder tries to build a blob with a blob reference that isn't finished constructing.
ERR_BLOB_REFERENCED_FILE_UNAVAILABLE-906A file that we referenced during construction is not accessible to the renderer trying to create the blob.

Source: Chromium net/base/net_error_list.h (BSD license), read October 9, 2026.

Frequently asked questions

What is a Chrome network error?

When Chrome cannot load a page or a file, it names the reason with a network error such as ERR_CONNECTION_REFUSED or ERR_NAME_NOT_RESOLVED. The names and numbers come from Chromium's net_error_list.h and are the same in Chrome, Edge, Brave, Opera, puppeteer and Playwright with Chromium.

Does a failed screenshot count against my quota?

No. Requests the API answers with an error (400, 401, 403, 408, 422, 429, 500, 502, 503) are not billed. A 504 from our gateway is the exception: the render may still finish and be billed.

Where does the API say which error happened?

In the JSON body: message describes the error, and a failed page load names Chrome's network error in it, for example The target website could not be loaded (ERR_CONNECTION_FAILED). The X-Request-Id header identifies the request for support.

Screenshot API

Take screenshots from your code

screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.

/v1/take documentation Screenshot API All documentation

300 free screenshots every month. No credit card required.

GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true

# Response: the image (PNG, JPG, WebP or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
  --data-urlencode "url=https://example.com" \
  -d viewport_width=1280 -d viewport_height=800 \
  -d format=png \
  -H "apikey: YOUR-API-KEY" \
  -o screenshot.png

More free tools

Start using our Screenshot API for free today!

Get 300 requests / month for free