Repolode
Orange-OpenSource

Orange-OpenSource/hurl

Hurl is a command line tool that runs and tests HTTP requests written in a plain text file format.

Open-source alternative to:Postman

Stars
19,266
Forks
750
Open issues
202
Last commit
19 hours ago

What is it?

Hurl is a command line tool for running HTTP requests described in a simple plain text format. Requests can be chained, values can be captured from responses and reused in later requests, and responses can be checked with assertions using XPath, JSONPath and other queries on headers and bodies.

Beyond fetching data, Hurl is used to test HTTP sessions. It supports asserts on status codes, headers, cookies, SHA-256 hashes, SSL certificate properties, redirects and response duration, and it can produce text, JUnit, TAP, JSON and HTML reports for CI/CD pipelines. It works with REST, SOAP, GraphQL, HTML and XML/JSON APIs.

Hurl is written in Rust and uses libcurl as its HTTP engine, so curl options such as --resolve, --connect-to and --proxy are available. It ships as a single binary with no runtime needed, and can export requests as curl commands.

Key features

  • 01Plain text request files that can chain multiple HTTP requests.
  • 02Capture values from responses and reuse them in later requests.
  • 03Assertions with XPath, JSONPath, regex and other predicates on headers and bodies.
  • 04Supports REST, SOAP, GraphQL, HTML and XML/JSON APIs.
  • 05Reports in text, JUnit, TAP, JSON and HTML formats for CI pipelines.
  • 06Built on libcurl, with HTTP/2 and HTTP/3 support and curl options.

Use cases

  • Running API smoke or integration tests in CI/CD pipelines.
  • Scripting multi-step login or CSRF flows against a web application.
  • Checking response status, headers, and JSON fields during API development.
  • Sending repeatable HTTP requests stored alongside a project as text files.

Topics

FAQ

What is hurl?
Hurl is a command line tool that runs and tests HTTP requests written in a plain text file format. Hurl is a command line tool for running HTTP requests described in a simple plain text format. Requests can be chained, values can be captured from responses and reused in later requests, and responses can be checked with assertions using XPath, JSONPath and other queries on headers and bodies.
Is hurl free to use? What license does it have?
hurl is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is hurl still maintained?
Actively maintained. The last commit to hurl was on Oct 21, 2026.
What can I use hurl for?
Running API smoke or integration tests in CI/CD pipelines. Scripting multi-step login or CSRF flows against a web application. Checking response status, headers, and JSON fields during API development. Sending repeatable HTTP requests stored alongside a project as text files.
Where can I get hurl?
The source code and installation instructions are on GitHub: https://github.com/Orange-OpenSource/hurl

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects