# Orange-OpenSource/hurl

Hurl, run and test HTTP requests with plain text.

Repository: https://github.com/Orange-OpenSource/hurl
Canonical: https://ross.abutalabs.com/products/hurl
Homepage: https://hurl.dev
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: curl, http, testing-tools, cli, integration-testing, http-client, api-testing, testing
Last push: 2026-08-26T07:56:22+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 57, longevity 100
- inputs: {"age_days": 2199, "days_push": 7, "days_rel": 126, "gap_med": 105.0, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 19160, forks 738 (observed 2026-08-28T04:11:27.473361+00:00)

## What it is
Hurl is a command line tool written in Rust that runs HTTP requests defined in a simple plain text format, built on top of libcurl. It doubles as an HTTP test tool, supporting chained requests, value captures, and asserts on responses using XPath, JSONPath, headers, and status codes.

## Use cases
- test REST API endpoints from the command line
- chain HTTP requests and capture values like CSRF tokens
- assert on JSON and HTML responses with JSONPath and XPath
- run HTTP integration tests in CI/CD pipelines
- fetch data from APIs like curl but with a readable file format
- generate HTML, JUnit, or TAP test reports
- test GraphQL and SOAP APIs

## When to choose
- you want text-based, version-controllable HTTP tests instead of GUI tools like Postman
- you need a lightweight CLI for both fetching data and testing HTTP sessions
- you want easy CI/CD integration with JUnit or HTML reports
- you prefer a curl-like tool with built-in assertions and request chaining

## When to avoid
- you need complex scripting logic or heavy computation within tests
- you require a GUI for designing and debugging requests
- you need non-HTTP protocols beyond what libcurl/HTTP covers
- you want a full browser-based end-to-end testing framework

## Facets
- artifact type: cli-tool
- maturity: stable
- function: http-client, testing, e2e-testing, cli
- domain: developer-tools, testing, apis, web-development
- platform: windows, cli, cross-platform
- tags: api-testing, http-testing, curl, plain-text, rest, graphql, ci-cd, rust, command-line, linux, macos

## Member repositories
- Orange-OpenSource/hurl (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:27.473361+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:00:25.165950+00:00, confidence not recorded.
  - readme: https://github.com/Orange-OpenSource/hurl (fetched 2026-08-28T04:11:27.473361+00:00, sha 3ad1be9b4537)
  - homepage: https://hurl.dev (fetched 2026-08-29T07:59:16.135817+00:00, sha 2696b42a0adf)
  - site_page: https://hurl.dev/docs/manual.html (fetched 2026-08-29T07:59:16.138908+00:00, sha 4acdba5ab8f2)
  - site_page: https://hurl.dev/docs/installation.html (fetched 2026-08-29T07:59:16.161883+00:00, sha 804889e86b81)
  - site_page: https://hurl.dev/docs/samples.html (fetched 2026-08-29T07:59:16.169992+00:00, sha 7e9147a37687)
  - site_page: https://hurl.dev/docs/running-tests.html (fetched 2026-08-29T07:59:16.172403+00:00, sha 1f1fc91acdc6)
  - site_page: https://hurl.dev/docs/frequently-asked-questions.html (fetched 2026-08-29T07:59:16.174414+00:00, sha c87427f2f776)
  - site_page: https://hurl.dev/docs/hurl-file.html (fetched 2026-08-29T07:59:16.176322+00:00, sha 0c9ac2ec02ad)
  - site_page: https://hurl.dev/docs/entry.html (fetched 2026-08-29T07:59:16.178300+00:00, sha cfecf201761a)
  - site_page: https://hurl.dev/docs/request.html (fetched 2026-08-29T07:59:16.181095+00:00, sha ccdaa96c0316)
- Data as of 2026-08-30T08:39:29.467469+00:00.
