Suggest a tool

Hurl vs supertest: 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.

supertest: JavaScript library for asserting HTTP responses in tests, built on superagent and usable with any test framework.

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

Hurl and supertest: metrics and documented facts, in the fixed row order used for API testing comparisons.
FactHurlsupertest
Stars19,210114,4041
Forks74517831
Contributors9711071
Last release2026-04-2912026-09-221
Last commit2026-09-2112026-09-221
Commits in 90 days1631161
LicenseApache-2.01MIT1
Primary languageRust1JavaScript1
Statusactive1active1
ProtocolsHTTP: REST, SOAP and GraphQL APIs, HTML content, XML and JSON based APIs source: READMEHTTP; HTTP/2 through an http2 option source: README
Test authoring formatPlain text Hurl files that define HTTP requests and asserts source: READMECode (chained request(app).get().expect() calls, with or without a test framework such as Mocha) source: README
Languages for writing testsHurl plain text file format source: READMEJavaScript (Node.js module loaded with require('supertest')) source: README
Parallel or distributed execution--parallel runs each file in its own worker thread; --jobs sets the number of parallel jobs source: READMEnot documentednot found in the project's documentation as of
CI integrationCI/CD tutorial with GitHub Actions and GitLab CI/CD examples source: Docs: CI/CD Integrationnot documentednot found in the project's documentation as of
Report formatsHTML, JSON, JUnit, TAP source: READMEnot documentednot found in the project's documentation as of
Install methodBinaries; Homebrew, Chocolatey, Scoop, winget, cargo, conda-forge, npm, Docker image ghcr.io/orange-opensource/hurl source: READMEnpm (npm install supertest --save-dev) source: README

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

supertest

Fits projects that test HTTP servers from JavaScript test code; its README describes a high-level abstraction for testing HTTP built on superagent. source: README

More on these tools

Sources

  1. GitHub REST API: repository, read
  2. GitHub REST API: repository, read
  3. GitHub REST API: contributors, read
  4. GitHub REST API: contributors, read
  5. GitHub REST API: latest release, read
  6. GitHub REST API: latest release, read
  7. GitHub REST API: commits, read
  8. GitHub REST API: commits, read
  9. README, read
  10. README, read
  11. Docs: CI/CD Integration, read

Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.