How to check the status code of a response using Requests

share link

by gayathrimohan dot icon Updated: Aug 2, 2023

technology logo
technology logo

Solution Kit Solution Kit  

A response code is also known as a status code. It is a three-digit number that the server sends back to the client to state the outcome of a request. These codes are part of the HTTP standard. These codes govern the communication between web browsers (clients) and web servers. Each response code falls into one of five classes, defined by the first digit of the code:  

  • Information (1xx): These codes state that the server has received the request. Then it continues the process.  
  • Success (2xx): These codes state that the server processed and fulfilled the request.  
  • Redirection (3xx): These state that further action is needed to complete the request.  
  • Client Error (4xx): These state that the client's request was malformed.  
  • Server Error (5xx): When processing the request, it will state an error on the server side.  


A web server returns response codes to state the status of a request made by a client. These provide information about the outcome of the request. This can be categorized into different classes. Web servers use different response codes to state the status of a requested resource. These provide information about whether the request was successful or not. Here is an overview of the used response codes:  

2xx Success:  

  • 200 OK: It was successful, and the server has returned the requested resource.  
  • 201 Created: It was successful, and a new resource has been created.  
  • 202 Accepted: The request has been accepted for processing. But the server still needs to complete it.  
  • 204 No Content: It is successful, but there is no content to return (e.g., for a DELETE request).  

3xx Redirection:  

  • 301 Moved: The requested resource has been moved to a new location. Clients should update their bookmarks or links.  
  • 302 Found: The requested resource has been moved to a different location. The client should use the new URL provided in the response.  
  • 304 Not Modified: It has not been modified since the last request. It is used for caching purposes.  

4xx Client Errors:  

  • 400 Bad Request: It will need help understanding the client's request. It is due to malformed syntax or invalid parameters.  
  • 401 Unauthorized: The requested resource requires authentication. The client needs to provide valid credentials.  
  • 403 Forbidden: The server understood the request. It is because that does not have permission to access the requested resource.  
  • 404 Not Found: The requested resource was unavailable on the server.  
  • 405 Method Not Allowed: The requested HTTP method is not supported for the resource.  

5xx Server Errors:  

  • 500 Internal Server Error: A server error occurred that does not fit into any category.  
  • 501 Not Implemented: It needs to support the functionality. That is required to fulfill the request.  
  • 502 Bad Gateway: It will make the server act as a gateway that received an invalid response.  
  • 503 Service Unavailable: It cannot handle the request due to being overloaded.  
  • 504 Gateway Timeout: It will act as a gateway that did not receive a response from an upstream server.  


You can follow several steps to identify and resolve problems; it is done during issues. Here are some tips:  

  • Check the response code: This indicates the status of the server's response to a request. The most common response code is the HTTP status code.  
  • Review server logs: Server logs contain valuable information about requests and errors.  
  • Restart the web server: A simple restart can sometimes resolve temporary issues. Use the appropriate command to restart your web server.  
  • Check server configurations: Incorrect server configurations can cause various issues. It will help review the configuration files for your web server to ensure they are set up.  
  • Test connectivity: Ensure that your server has network connectivity. Verify if you can ping the server's IP address or domain name.  
  • Check disk space: Insufficient disk space can lead to server issues. Verify that the server has enough free space on the disk to store its data.  
  • Analyze resource usage: High resource usage can cause performance problems. Use monitoring tools to analyze resource use and identify any bottlenecks.  

Understanding the response codes is important when working with web applications and APIs. It is crucial for effective communication and troubleshooting.  


Here's some advice on interpreting the different response codes:  

  • 200 (OK): This response code indicates a successful request.  
  • 3xx (Redirection): The 3xx response codes are used for redirection.  
  • 4xx: The 4xx response codes state that the client has made an error or an invalid request.  
  • 5xx: This states that the server encountered an error while processing the request.  


In conclusion, understanding response codes is crucial when troubleshooting web server issues. These provide valuable information about the status of a response to a request. This helps developers and system administrators diagnose and resolve problems. Response codes are essential tools for troubleshooting web server issues. 

Fig : Preview of the output that you will get on running this code from your IDE.


In this solution we are using requests library of Python.


Follow the steps carefully to get the output easily.

  1. Download and Install the PyCharm Community Edition on your computer.
  2. Open the terminal and install the required libraries with the following commands.
  3. Install requests - pip install requests.
  4. Create a new Python file on your IDE.
  5. Copy the snippet using the 'copy' button and paste it into your Python file.
  6. Import requests.
  7. Run the current file to generate the output.

I hope you found this useful.

I found this code snippet by searching for 'Requests.get giving wrong status code for my URL' in Kandi. You can try any such use case!

Environment Tested

I tested this solution in the following versions. Be mindful of changes when working with other versions.

  1. PyCharm Community Edition 2022.3.1
  2. The solution is created in Python 3.11.1 Version
  3. requests v2.31.0 Version

Using this solution, we can able to check the status code of a response using Requests in Python with simple steps. This process also facilities an easy way to use, hassle-free method to create a hands-on working version of code which would help us to to check the status code of a response using Requests in Python.

Dependent Library

requestsby psf

Python doticonstar image 49787 doticonVersion:v2.31.0doticon
License: Permissive (Apache-2.0)

A simple, yet elegant, HTTP library.


            requestsby psf

            Python doticon star image 49787 doticonVersion:v2.31.0doticon License: Permissive (Apache-2.0)

            A simple, yet elegant, HTTP library.

                      You can search for any dependent library on 'requests'.


                      1. For any support on kandi solution kits, please use the chat
                      2. For further learning resources, visit the Open Weaver Community learning page


                      1. What are the most common HTTP status codes, and how do they work?  

                      HTTP status codes are three-digit numbers that state the outcome of an HTTP request made by a client to a server. These codes provide information about the status of the request. Also, provide information about the next response.  


                      Here are some of the most common HTTP status codes and their meanings:  

                      • 200 OK: It is returned for successful GET requests. It is used to state that the server has fulfilled the request.  
                      • 201 Created: It is often used after a POST request to state that the resource has been created on the server.  
                      • 204 No Content: This code is returned for successful requests without a response body.  
                      • 400 Bad Request: It will return the score when the server cannot understand the request. It indicates a client-side error, and the request should be corrected before resubmitting.  
                      • 401 Unauthorized: This indicates that the client must provide valid credentials. Those credentials are used to access the requested resource.  
                      • 403 Forbidden: The client cannot access the requested resource.  
                      • 404 Not Found: This code is returned when the server cannot find the requested resource.  
                      • 500 Internal Server Error: This indicates an unexpected error.  
                      • 502 Bad Gateway: It is returned when a server acting receives an invalid response.  


                      2. How does the Python requests library help developers use them?  

                      The Python requests library is a popular tool for making HTTP requests in Python. It will simplify sending HTTP requests and handling responses. It interacts with web services.  


                      Here are some key features and ways in which developers can make use of the request's library:  

                      • Sending HTTP requests: This provides a simple and intuitive API. This includes GET, POST, PUT, DELETE, and more.  
                      • Handling request parameters: These parameters can include query parameters for the GET requests. This forms data for POST requests, custom headers, authentication credentials, cookies, and more.  
                      • Handling responses: They can also parse response data, such as JSON or XML. It uses built-in methods or more libraries.  
                      • Session management: It will include maintaining cookies, session authentication, and other session-related data.  
                      • Handling exceptions: This includes built-in exception handling for common HTTP errors. It includes connection errors, timeouts, and invalid requests.  
                      • SSL verification and security: This performs SSL certificate verification by default. That ensures secure communication with HTTPS endpoints.  
                      • Advanced features: It offers extra features like streaming uploads and downloads. It includes request timeouts, request redirection handling, and support for various authentication methods.  


                      3. Why is the Python requests library an elegant and simple HTTP library?  

                      The Python requests library is often considered elegant and simple for several reasons:  

                      • Intuitive API: It provides a clean and intuitive API for making HTTP requests.  
                      • Simplified HTTP operations: requests simplify common HTTP operations. Such as sending GET, POST, PUT, and DELETE requests.  
                      • Automatic content decoding: This handles content decoding based on the response headers.  
                      • Session management: requests support session management. This allows you to persist certain parameters across many requests.  

                      4. What requests can be made using the Python requests library?  

                      It is a powerful tool. It helps make HTTP requests. It provides an interface to interact with web services. Also, it provides an interface to perform various types of requests.  


                      Some common types of requests that can be made using the requests library are:  

                      • GET  
                      • POST  
                      • PUT  
                      • DELETE  
                      • PATCH  
                      • HEAD  


                      5. Can you explain Requests' simple API for making requests with code examples?  

                      The Requests is a popular Python library. It helps make HTTP requests. It provides a simple API for sending HTTP requests. Also, it is used for handling responses. Here's an explanation of the basic usage of the request's library with code examples:  

                      • Installing the requests library.  
                      • Importing the library.  
                      • Making a GET request.  
                      • Handling the response.  
                      • Passing parameters.  
                      • Making a POST request.  
                      • Headers and authentication. 

                      See similar Kits and Libraries