
Apidog
All-in-one API platform to design, debug, mock, and test with CI/CD
Discover top open-source software, updated regularly with real-world adoption signals.

Run and test HTTP requests from a single fast CLI
Hurl lets you define HTTP calls in plain‑text files, chain them, capture data, assert responses, and generate CI‑friendly reports—all from a lightweight, single‑binary CLI.

Hurl is a command‑line tool that executes HTTP requests described in simple plain‑text files. It supports chaining multiple calls, extracting values with XPath or JSONPath, and asserting on status codes, headers, body content, and performance metrics.
Designed for developers, QA engineers, and DevOps teams, Hurl fits into local development workflows and CI/CD pipelines. Its single‑binary distribution (built in Rust and powered by libcurl) requires no additional runtime, making installation trivial across Linux, macOS, and Windows.
Write a .hurl file to describe any REST, SOAP, GraphQL, or HTML‑based API interaction. Run hurl file.hurl for a quick fetch or hurl --test file.hurl for test‑oriented output. Generate reports in text, JUnit, TAP, or HTML formats for seamless integration with build systems and test dashboards.
When teams consider Hurl, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
CI pipeline validation
Run .hurl files during builds to ensure API endpoints return expected status codes and payloads, failing the pipeline on mismatches.
Token extraction and reuse
Capture CSRF or authentication tokens from an initial request and inject them into subsequent calls automatically.
Performance threshold testing
Assert that response times stay below defined limits, enabling early detection of latency regressions.
SOAP service verification
Send SOAP envelopes and assert on XML response content using XPath, ensuring legacy services behave correctly.
Download the appropriate binary for your OS from the releases page or install via package managers such as Homebrew, Chocolatey, or Cargo.
A Hurl file is plain text where each request starts with the HTTP method and URL, followed by optional headers, body, captures, and asserts.
Yes, use options like `--report html`, `--report junit`, or `--report tap` to produce CI‑compatible reports.
You can add an `duration < N` assert to a request, where N is the maximum allowed response time in milliseconds.
Hurl’s underlying engine is libcurl, so it supports the same protocols and features (IPv6, HTTP/3, etc.) while adding its own test syntax.
Project at a glance
ActiveLast synced 4 days ago