Skip to content
kestrel.
v2.4 — live request diffing

The API workflowyour terminal deserves.

Kestrel is a scriptable CLI and SDK for testing, mocking, and monitoring APIs — no context switching, no bloated GUI, just fast feedback where you already work.

MIT licensed · zero telemetry by default · 3.2MB single binary

zsh — kestrel
$ kestrel run checkout.flow.yaml
→ resolving 4 requests…

 POST /v1/cart          201  42ms
 POST /v1/payment/intent 200  118ms
 GET  /v1/orders/:id    200  31ms
 POST /v1/webhook/notify 500  9ms

3 passed, 1 failed  in 201ms

Plugs into the tools you already run

git actions
containers
postgres
chat alerts
cloud deploy
any shell

Write flows the way you write code

Declarative YAML flows, a fluent JS/TS SDK, or drop straight into your shell — Kestrel meets you where you already are.

# macOS / Linux
curl -fsSL https://get.kestrel.dev | sh

# or via npm
npm install -g @kestrel/cli

kestrel --version
import { kestrel } from "@kestrel/sdk";

const flow = kestrel.flow("checkout")
  .post("/v1/cart", { sku: "KEST-1" })
  .expect(201)
  .post("/v1/payment/intent")
  .expect(200);

await flow.run();
name: checkout
steps:
  - post: /v1/cart
    body: { sku: KEST-1 }
    expect: 201
  - post: /v1/payment/intent
    expect: 200

Terminal-native

Every action is scriptable. Pipe it, alias it, run it in CI — no GUI required.

Sub-50ms cold start

Single static binary, no runtime to boot. Faster than opening a browser tab.

Zero telemetry

Nothing phones home by default. Self-host the dashboard or skip it entirely.

How Kestrel compares

A quick look at Kestrel next to a typical GUI API client and a plain curl/Postman-collection workflow.

Feature comparison between Kestrel, GUI API clients, and manual scripting
feature kestrel this GUI API client curl + scripts
CI/CD friendly
Declarative flow files
Cold start time ~40ms ~1.8s ~10ms
Built-in mocking & diffing
Team collaboration UI
Price Free / OSS $12–29 / seat Free

Everything's in the docs

Installation, flow syntax, SDK reference, and CI recipes — all in one place, versioned alongside every release.