Your API client shouldn't phone home.
One binary. Local files. No cloud. No login wall. No seat licence email from your manager. Just a damn good API client.
{
"id": "usr_9f3a2b",
"email": "ada@example.com",
"plan": "pro",
"seats": 5,
"created_at": "2026-01-14T09:00:00Z"
}
// The toolkit
Every weapon.
No bloat.
Proxy. Mock. Load test. Automate. Run in CI. Restroom ships it all in one binary. Nothing behind a plugin marketplace.
Debug real traffic.
Not crafted requests.
Intercept every byte between your app and its API: HTTPS, WebSockets, the lot. Replay any request with one click. No separate tool. No Charles licence.
- → HTTPS interception with auto-installed CA cert
- → WebSocket frame capture
- → Replay & modify intercepted requests
- → System proxy toggle, one click
├── payments-api/
│ ├── collection.yaml
│ ├── get-cart.yaml
│ ├── create-order.yaml ← modified
│ └── auth/
└── environments/
├── dev.yaml
└── prod.yaml
+ "timeout": 30000
- "timeout": 5000
Your requests live
in your repo.
Every request is a YAML file. Commit them, diff them, review them in pull requests. Team permissions are just git permissions. No separate access management layer.
- → Plain YAML, readable without the app
- → Full git history on every request
- → Review API changes in your PR workflow
- → No proprietary binary format
Headless. Pipeline-ready.
2am-proof.
restroom-cli runs your entire collection
headlessly: in CI, in Docker, in a cron job, or at 2am when a webhook starts misfiring.
Same YAML files, zero GUI required.
- → Run any collection or single request headlessly
- → Environment injection via flags or env vars
- → JUnit / JSON output for CI pipelines
- → Chain requests with variable passing
// Also ships with
Mock Server
Spin up stubs from OpenAPI specs. Test your frontend without the real backend.
Load Testing
Virtual users, ramp-up curves, real-time charts. No separate k6 script needed.
All Auth Types
Bearer, Basic, OAuth 2.0, AWS Sig v4, NTLM, certs, and custom providers.
Environments
Switch dev → staging → prod in one click. Variables interpolate everywhere.
Response Diff
Compare two responses side by side. Catch regressions before they catch you.
Pre/Post Scripts
JavaScript hooks on every request. Set variables, assert status codes, chain flows.
Import Anything
Postman collections, Bruno files, OpenAPI specs, cURL commands: all welcome.
Offline-first
No Wi-Fi? No problem. Your data lives on disk. Zero dependency on our servers.
// Dear Postman user
We know why
you're here.
The free tier got smaller. The login became mandatory. The team plan arrived in your inbox with a number that required a meeting. You started Googling.
What you're leaving
- ✕ Mandatory cloud sync
- ✕ Collections in a proprietary format
- ✕ A login wall before you can work
- ✕ Per-seat pricing per month
- ✕ Features hidden behind plan tiers
- ✕ Telemetry you can't disable
What you keep
- ✓ All your requests & collections
- ✓ Your environments and variables
- ✓ Your authentication configs
- ✓ Your scripting logic
- ✓ Your entire workflow
- ✓ Your sanity
How to switch
Export from Postman as Collection v2.1 JSON
File → Import in Restroom
Delete your Postman account
Total time: ~30 seconds.
An API client should be a tool, not a platform. Your data should be yours. Your workflow shouldn't require an internet connection. $29 a year should feel like a steal, because it is. And $149 should mean forever, because it does.
// the Restroom manifesto
Simple, honest pricing
Free forever for individuals. Aggressively priced for professionals. No seat creep, no hidden limits.
Free
The full API client, no credit card required.
- Up to 10 rooms
- Unlimited requests
- Environments & variables
- Request history
- Basic pre/post-request scripts
- Import/export (Postman, Bruno, OpenAPI)
- Community support
Pro
Every power feature, one low price.
- Everything in Free
- Unlimited rooms
- Proxy & traffic capture
- Mock server & stubs
- Load testing
- Automation & CLI
- Advanced scripting
- Priority support
Team
billed annually
Collaboration tools for engineering teams.
- Everything in Pro
- Shared rooms
- Team environments
- Access control
- Audit log
- Dedicated support
Lifetime Pro: pay once, own it forever
All Pro features, every future update, forever. No subscription. No renewal. Ever.
All prices in USD. Annual plans renew automatically and can be cancelled anytime. Team pricing requires a minimum of 2 seats.
Download Restroom
Free to download. Free to keep. No account required.
View all releases and changelogs on GitHub.