Fast, declarative API testing for builders

Greq is a Rust-powered HTTP testing tool. Define requests, dependencies, and assertions in readable .greq files. Run them locally or in CI to validate APIs quickly and reliably.

Rust • blazing-fast Declarative .greq Dependencies & placeholders JSON path assertions
Download Greq GitHub
Greq brand

Why Greq

Declarative tests

Write HTTP requests and assertions in a single file. Clean structure with header/content/footer sections, easy to review and maintain.

Dependencies & placeholders

Chain requests and reuse values with $(dependency...) placeholders. Compose complex flows without glue code.

Rich conditions

Assert status, headers, and JSON paths. Detailed failure messages with actual vs expected help you debug faster.

Rust-performance

Built with Rust and async I/O. Run many tests in parallel with clear logs and compact, colored output.

Example

Create a resource

Use request template and depend the creation on deleting the resource first

project: test resource creation

-- load additional properties from the template
extends: resources-api-template

-- delete the resource before the test
depends-on: delete-resource
number-of-retries: 2

====

POST /resources/my-resource
host: example.com

{"name":"My awesome resource", "description":"A resource for testing"}

====

-- evaluate the response
status-code equals: 200
response-body contains: "Resource created successfully"

Dependency with placeholders

project: test resource creation

-- Create the resource first and use its response with placeholders
depends-on: create-resource

====

GET /users/$(dependency.response-body.id) HTTP/1.1
host: example.com

====

-- evaluate the response
status-code equals: 200
response-body contains: $(dependency.response-body.id)
                            

See more in greq-examples.

Use-cases

Contract tests

Check that APIs respond with expected shapes, headers, and codes.

Workflow validation

Model authentication, creation, and retrieval flows with dependencies.

CI smoke tests

Run fast API smoke tests on every build to catch regressions early.

Docs & demos

Pair readable .greq samples with your API docs to teach consumers how to call endpoints.

Download Greq

Windows (x86_64)

Standalone binary

Download .exe

macOS (Apple Silicon / Intel)

Coming soon. Build locally with Cargo in the meantime.

Build from source

Linux (x86_64)

Coming soon. Build locally with Cargo in the meantime.

Build from source

Tip: On Windows, you may need to allow the executable in SmartScreen the first time.

Community & contribution

Greq is open-source. We welcome issues, pull requests, and ideas. Check out these resources to get involved:

Read our Contributing guide and Code of Conduct.