requests VS httpie

Compare requests vs httpie and see what are their differences.


As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. (by httpie)
Our great sponsors
  • - Optimize your datasets for ML
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
requests httpie
29 26
46,222 52,441
0.7% 1.2%
7.5 9.0
9 days ago 1 day ago
Python Python
Apache License 2.0 BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of requests. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-29.
  • ImportError: No module named requests
    Whenever I try to import requests, I get an error saying No module Named requests.
  • What are the differences between the urllib, urllib2, urllib3 and requests module?
    In Python, what are the differences between the urllib, urllib2, urllib3 and requests modules? Why are there three? They seem to do the same thing...
  • Where can I read quality Python code
    Keep in mind that there's a lot of clutter in Requests' repository. The entire module is actually just these files.
    Starting with an incredibly complex project like a machine learning platform probably isn't a good idea. Try finding something easier. Maybe something like requests.
  • Why is the PSF ignoring its own CoC? | 2021-09-02 adds back a logo that people find offensive because someone got it tattooed on their body? Doesn't the logo violate the Code of Conduct?
  • 3 Ways to Unit Test REST APIs in Python | 2021-07-22
    To retrieve the weather data, we'll use requests. We can create a function that receives a city name as parameter and returns a json. The json will contain the temperature, weather description, sunset, sunrise time and so on.
  • reader 2.0 released – a Python feed reader library | 2021-07-19
    want to change the way feeds are retrieved by using Requests?
  • How To Write Clean Code in Python | 2021-07-14
    Explore other well-written code bases. If you want some examples of well-written, clean, and Pythonic code, check out the Python requests library.
  • Everything to know about Requests v2.26.0 | 2021-07-13
    Requests v2.26.0 is a large release which changes and removes many features and dependencies that you should know about when upgrading.
  • Multiple payloads with one POST request?
    Are you talking about multipart/mixed or some other form of multipart type? If so, look here: the parameter to pass is very confusingly named files. But, it seems to be going in the direction you want.


Posts with mentions or reviews of httpie. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-07.
  • Look at my new plugin to help run long commands | 2021-10-07
    Because this doesn't need to be sourced every time and, during development, like I am doing right now, it is constantly being changed. Add more, change existing etc. Imagine doing a web dev project and you are constantly creating and editing requests on postman. But you want to use a command line tool instead, such as With this tool, it is easier to create those requests and run them on the command line. I'm willing to discuss this more with you. I believe this can be useful for many people and am having trouble marketing it haha.
  • Spring Cloud Stream Multibinder | 2021-10-05
    Use curl or httpie or any other tool you like to POST a /text request:
  • How to navigate an API from the terminal | 2021-10-02
    Today, we'll be diving into The Movie Database and learning how to navigate its API efficiently with HTTPie, jq, and jid.
  • Really Using Visual Studio Development Containers | 2021-09-26
    This is the simplest scenario where we just plop a development container definition into our project and Code spins it up. But what if we needed to add some of our own tools? Perhaps our team relies heavily on Flyway for database migrations and HTTPie for testing our RESTful endpoints. This can easily be done by writing our own Docker image definition. First remove the "image" attribute from your devcontainer.json file and replace it with a "dockerFile" attribute that points to our soon-to-be-created Dockerfile.
  • Token Based User Authentication With Django | 2021-09-20
    For making requests to test it, I find Insomnia really good, and hey they have a free tier 😎. Another client that I find really useful is the command line app HTTPie. I'll be using HTTPie for this tutorial, it makes it easier for you to try the commands on your own, and for diplaying the results in text instead of screenshots.
  • Deploying a REST API with AWS App Runner and Fauna | 2021-09-16
    Test your service by sending HTTP requests to the App Runner URL using curl, httpie, or an API client like Postman. Replace ${App Runner URL} in the commands below with the value of Default domain from your App Runner dashboard. This will look something like
  • Command line API tricks with HTTPie | 2021-09-15
    Whether building or consuming APIs, you're definitely testing out API calls. The command line is a developer's best friend for quick checks and iterative development. You can move even faster with HTTPie. HTTPie releases unintuitive command flags from your brain and removes repetitive parameters completely.
  • What’s new in HTTPie 2.5.0 | 2021-09-15
    Piping, even though elegant, isn’t always practical, however. When generating API docs examples, invoking HTTPie from a programming language, or writing a complex command on the terminal, it may be easier to use a CLI option instead. That has been an often requested feature.
  • HTTPie for Performance Engineers | 2021-09-08
    Here is the GitHub repo for your reference:
  • Exemplo de AWS API Gateway com Lambda pelo Terraform | 2021-09-07

What are some alternatives?

When comparing requests and httpie you can also consider the following projects:

urllib3 - Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more.

httplib2 - Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.

grequests - Requests + Gevent = <3

treq - Python requests like API built on top of Twisted's HTTP client.

Uplink - A Declarative HTTP Client for Python

thefuck - Magnificent app which corrects your previous console command.

Tapioca-Wrapper - Python API client generator

pgcli - Postgres CLI with autocompletion and syntax highlighting

requests-futures - Asynchronous Python HTTP Requests for Humans using Futures

HTTP Prompt - An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more.

aws-cli - Universal Command Line Interface for Amazon Web Services

howdoi - instant coding answers via the command line