Hurl brings the simplicity of curl to HTTP testing with the power of a test framework. Request files use an intuitive plain text format: write the HTTP method and URL, add headers and body, then add assertions to validate the response. Multiple requests in one file execute sequentially, and captured values (like auth tokens) from earlier responses can be injected into later requests — enabling complete API workflow testing without scripting.
The assertion system is comprehensive: check status codes, header values, body content via JSONPath or XPath, response times, certificate details, and more. Each assertion produces clear pass/fail output suitable for CI/CD integration. Hurl generates JUnit XML reports for test runners and HTML reports for human review. The Rust implementation delivers exceptional performance — running hundreds of API tests in seconds without the overhead of a browser or Node.js runtime.
With 17,000+ GitHub stars and Apache 2.0 license, Hurl is adopted by teams seeking a version-control-friendly API testing approach. Test files are plain text that diff cleanly in Git, unlike binary Postman collections or complex YAML configurations. Compared to Bruno (REST client) or k6 (load testing), Hurl focuses specifically on functional API testing with the lowest possible friction — no GUI, no project files, just text files and a binary.