Share this page

Learn X in Y minutes

Where X=httpie

HTTPie is a powerful command-line HTTP client designed for easy interaction with HTTP servers. It provides a simple and intuitive interface, making it an excellent tool for developers, testers, and system administrators.

Basic Usage

HTTPie follows a simple syntax: http [flags] [METHOD] URL [items].

http GET

You can print the request without sending it by using the --offline flag.

http --offline

URL shortcuts for localhost

HTTPie supports a curl-like shorthand for localhost. For instance, “:3000” expands to “http://localhost:3000”. If the port is omitted, it assumes port 80.

http :/users    # http://localhost/users
http :5000/rss  # http://localhost:5000/rss

Optional GET and POST

If you don’t specify the METHOD, the HTTPie will use:

http # GET tags
http title="Tutorial" slug="tutorial" # POST a new tag

Querystring Parameters

If you’re manually adding query string parameters in the terminal, try the param==value syntax. It avoids shell escaping for & separators and automatically URL-escapes special characters in parameter names and values. This differs from parameters in the full URL, which HTTPie doesn’t modify.

http q==httpie per_page==20

Sending Data

You can send data in various formats such as JSON, form data, or files.


http POST title="Hello" body="World"

Form Data

http -f POST name=John email=[email protected]


http --form POST file@/path/to/file.txt

Headers and Authentication

HTTPie allows you to set headers and handle authentication easily.


http GET Authorization:"Bearer Token" User-Agent:"HTTPie"

Basic Authentication

http -a username:password GET

Bearer Authentication

https -A bearer -a token

Response Handling

HTTPie provides various options for handling responses.

http GET Accept:application/json  # Pretty Print JSON

http GET --output image.png      # Save Response to File

http --follow GET  # Follow Redirects

Further Reading

Got a suggestion? A correction, perhaps? Open an Issue on the Github Repo, or make a pull request yourself!

Originally contributed by Adaías Magdiel, and updated by 1 contributor.