Hurl is unclaimed —
H
Hurl
Run and Test HTTP Requests·hurl.dev
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 responses. It is used for both fetching data and testing HTTP sessions, working with HTML content and REST/SOAP/GraphQL/XML/JSON based APIs. It is a lightweight single binary written in Rust, powered by libcurl.
What it's for
Running automated integration tests over HTTPChaining multiple HTTP requests and capturing values between themTesting REST/JSON APIsTesting SOAP APIsTesting GraphQL APIsTesting HTML content with XPathChecking response headers, status codes, and cookiesChecking SSL/TLS certificate attributesTesting HTTP performance/durationVerifying response body byte content and hashesServer-side validation and security testing (e.g. CSRF protection)CI/CD integration for HTTP testing with text, JUnit, TAP, and HTML reports
Features 19
- Asserts on status code, headers, body, cookies
- Captures values from responses (e.g. CSRF tokens) via XPath/JSONPath
- Chains multiple requests in a single file
- CI/CD integration (GitHub Action, GitLab CI/CD)
- Duration/performance assertions
- Generates HTML, JSON, JUnit, and TAP reports
- IPv4/IPv6 assertions
- Polling and retry options
- Powered by libcurl HTTP engine
- Response body hash checking (e.g. SHA-256)
- Runs HTTP requests defined in plain text format
- Single binary with no runtime required
- SSL/TLS certificate attribute assertions
- Supports Basic Authentication
- Supports cookie storage across requests in a file
- Supports Form and Multipart form data submission
- Supports HTML, REST/JSON, SOAP/XML, and GraphQL APIs
- Supports HTTP/1.0, 1.1, 2, and 3 version testing
- XPath and JSONPath querying on responses
At a glance
open source
TypeCLI tool
DeploymentInstalled (local)
PlatformsWindows, macOS, Linux
Fordevops, developers
Integrations
curlGitHub ActionGitLab CI/CD
Resources