keploy vs bruno
API testing tools compared
keploy records live application traffic and replays it as tests with mocks for dependencies. bruno is a local-first API client for creating, organizing, and running requests; it stores collections as plain-text files rather than capturing application traffic.

keploy: Record and Replay API Tests and Mocks
Keploy records application traffic and replays it as API and integration tests with mocks for dependent services. It suits developers and QA teams seeking repeatable tests from real usage without changing application code.

bruno: Explore and Test APIs with a Local-First Client
Bruno is an API client for exploring requests, testing APIs, and running collections from a desktop app or CLI. It stores collections as plain-text files on your device, making them suitable for Git-based collaboration without cloud sync.
| keploy | bruno | |
|---|---|---|
| Language | Go | JavaScript |
| License | Apache-2.0 | MIT |
| Stars | 18.5k | 47.3k |
| Forks | 2.4k | 3k |
| Last analyzed | Oct 3, 2026 | Oct 3, 2026 |
Key differences
- keploy focuses on replayable integration tests built from captured API, database, and streaming interactions; bruno focuses on authoring and running API requests and collections.
- keploy captures traffic at the network layer using eBPF, while bruno organizes requests in plain-text `.bru` files on the filesystem.
- keploy is written in Go and licensed under Apache-2.0; bruno is written in JavaScript and licensed under MIT.
- bruno offers a desktop app for macOS, Windows, and Linux, plus a CLI and official Docker images; keploy’s described approach is to capture and replay application traffic.
- Both can support CI workflows, but keploy runs recorded tests while bruno runs saved requests or collections through its CLI.
- bruno is explicitly offline-only and does not provide cloud sync; keploy’s considerations instead highlight capture setup and the need for suitable recorded traffic.
Choose keploy if you…
- need repeatable integration tests based on representative application traffic.
- want recorded mocks for database, API, or streaming dependencies during test replay.
- need network-level capture without adding application code changes or SDKs.
Choose bruno if you…
- want to create and run API requests from a desktop client or CLI.
- prefer storing collections as local plain-text files and collaborating through Git.
- need to run saved requests or collections in CI/CD using the CLI or Docker images.
Compare the numbers side by side, or add more projects
This comparison is generated with AI from the OSRepos analyses of both projects. Always check each project's repository and documentation before choosing.