Hurl is a command line tool that runs HTTP requests defined in a simple plain text format.
It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions.
Hurl makes it easy to work with HTML content, REST / SOAP / GraphQL APIs, or any other XML / JSON based APIs.
Hurl can run HTTP requests but can also be used to test HTTP responses. Different types of queries and predicates are supported, from XPath and JSONPath on body response, to assert on status code and response headers.
Under the hood, Hurl HTTP engine is powered by libcurl, one of the most powerful and reliable file transfer libraries. With its text file format, Hurl adds syntactic sugar to run and test HTTP requests, but it’s still the curl that we love.
This is free and open source software.
Website: hurl.dev
Support: GitHub Code Repository
Developer: Jean-Christophe Amiel, Fabrice Reix, Filipe Pinto
License: Apache License 2.0

hurl is written in Rust. Learn Rust with our recommended free books and free tutorials
Related Software
| Alternatives to curl | |
|---|---|
| Wget2 | Successor of Wget |
| Wget | Makes retrieving large files or mirroring entire web or FTP sites easy |
| aria2 | Multi-protocol and multi-source command-line download utility |
| HTTPie | HTTP client with an intuitive user interface |
| curlie | The power of curl, the ease of use of httpie |
| xh | Fast and friendly tool for sending HTTP requests |
| hurl | Run and test HTTP requests with plain text |
| TerminusDM | User-friendly terminal interface for managing your downloads efficiently |
| getparty | HTTP download manager with multi-parts |
| Alternatives to Wget | |
|---|---|
| Wget2 | Successor of Wget |
| curl | Tool and library for transferring data with URLs |
| aria2 | Multi-protocol and multi-source command-line download utility |
| HTTPie | HTTP client with an intuitive user interface |
| curlie | The power of curl, the ease of use of httpie |
| xh | Fast and friendly tool for sending HTTP requests |
| hurl | Run and test HTTP requests with plain text |
| TerminusDM | User-friendly terminal interface for managing your downloads efficiently |
| getparty | HTTP download manager with multi-parts |
| Surge | Download manager built in Go |
| aria2tui | TUI client for the aria2c download utility |
| gosh-dl-cli | Modern command-line download manager built on top of the gosh-dl engine |
| Axel | Lightweight CLI download accelerator |
| Command line HTTP clients | |
|---|---|
| HTTPie | Command line interface, cURL-like tool for humans |
| aria2 | Multi-protocol and multi-source command-line download utility |
| Wget2 | Successor of Wget |
| hurl | Run and test HTTP requests with plain text |
| curl | Command line tool for transferring data with URL syntax. Transfer library too |
| xh | Fast and friendly tool for sending HTTP requests |
| Wget | Retrieves content from web servers |
| curlie | The power of curl, the ease of use of httpie |
| TerminusDM | User-friendly terminal interface for managing your downloads efficiently. |
| getparty | HTTP download manager with multi-parts |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

