999 Request Denied
HTTP response status code 999 Request Denied is an unofficial HTTP status code that is returned by the server as a generic, or catch-all error code. The reason for the HTTP response varies based on the service or host.
When the 999 Request Denied status code is received, the meaning and consequences depend on the host. This is used by some social media sites to limit or prevent web crawlers.
The HTTP response can be intermittent and sometimes is only returned for a limited time. It can vary based on the source-IP address, the user agent string, and the type of HTTP request. One service that returns this HTTP status code is LinkedIn.
When sending an HTTP GET or HEAD request to LinkedIn for a specific profile, such as the page for a company or an individual, the 999 Request Denied status code response is returned based on, among other things, the user agent. It will also be returned if there are too many HTTP requests in a single day. This is similar to the HTTP 429 Too Many Requests error message.
In this example, the client is sending an HTTP GET request to the following URL:
Visited using a web browser, this will return the profile for Fili (the creator of this website) on the LinkedIn social networking site. However, using a tool such as curl returns the 999 Request Denied status code.
curl -I --url http://www.linkedin.com/in/filwiese
This command will create the following HTTP GET request, depending on the version of the curl utility.
GET /in/filwiese HTTP/1.1 Host: www.linkedin.com User-Agent: curl/7.74.0 Accept: */*
HTTP/1.1 999 Request Denied Cache-Control: no-cache, no-store Pragma: no-cache … <additional headers including Content-Length, Content-Type, etc>
The 999 Request Denied status code is a generic error message that has different consequences depending on the server. The LinkedIn social media site returns this HTTP status code for different reasons, including submitting too many HTTP requests in a day, as well as the user agent that is making the HTTP request.