Hurl vs REST Assured: open-source API testing tools compared
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
Summary
Hurl: Command line tool that runs and tests HTTP requests written in a plain text format.
REST Assured: Java library for testing REST services with given-when-then request chains and JSON or XML response validation.
Both are listed under API testing. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation (3 of 14 fact cells here); that does not mean the feature is absent.
Side by side
| Fact | Hurl | REST Assured |
|---|---|---|
| Stars | 19,2101 | 7,1411 |
| Forks | 7451 | 1,9421 |
| Contributors | 971 | 1811 |
| Last release | 2026-04-291 | 2026-07-101 |
| Last commit | 2026-09-211 | 2026-07-221 |
| Commits in 90 days | 1631 | 191 |
| License | Apache-2.01 | Apache-2.01 |
| Primary language | Rust1 | Java1 |
| Status | active1 | active1 |
| Protocols | HTTP: REST, SOAP and GraphQL APIs, HTML content, XML and JSON based APIs source: README | HTTP: any method, with explicit support for POST, GET, PUT, DELETE, OPTIONS, PATCH, HEAD source: README |
| Test authoring format | Plain text Hurl files that define HTTP requests and asserts source: README | Code (Java DSL in given / when / then form) source: Docs: Usage |
| Languages for writing tests | Hurl plain text file format source: README | Java; Scala support module; Kotlin extension module source: Docs: Getting Started |
| Parallel or distributed execution | --parallel runs each file in its own worker thread; --jobs sets the number of parallel jobs source: README | not documentednot found in the project's documentation as of |
| CI integration | CI/CD tutorial with GitHub Actions and GitLab CI/CD examples source: Docs: CI/CD Integration | not documentednot found in the project's documentation as of |
| Report formats | HTML, JSON, JUnit, TAP source: README | not documentednot found in the project's documentation as of |
| Install method | Binaries; Homebrew, Chocolatey, Scoop, winget, cargo, conda-forge, npm, Docker image ghcr.io/orange-opensource/hurl source: README | Maven or Gradle dependency io.rest-assured:rest-assured source: Docs: Getting Started |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.
When each fits
Written from each project's documented scope, not from preference. Neither tool is ranked.
Hurl
Fits projects that run and test HTTP requests defined in plain text files from the command line; its README describes chaining requests, capturing values and evaluating queries on response headers and body. source: README
REST Assured
Fits projects that test and validate REST services from Java; its README describes making GET requests and validating the JSON or XML response. source: README
More on these tools
Sources
- GitHub REST API: repository, read
- GitHub REST API: repository, read
- GitHub REST API: contributors, read
- GitHub REST API: contributors, read
- GitHub REST API: latest release, read
- GitHub REST API: tags, read
- GitHub REST API: commits, read
- GitHub REST API: commits, read
- README, read
- README, read
- Docs: Usage, read
- Docs: Getting Started, read
- Docs: CI/CD Integration, read
Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.