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.

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
macOS (Apple Silicon / Intel)
Coming soon. Build locally with Cargo in the meantime.
Build from sourceTip: 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.