A lightweight REST API testing and documentation workbench built for developers.
Test local and remote APIs without CORS issues using a fast, desktop-grade client.
Bridge is an open-source REST API testing and documentation workbench. It lets you craft, send, inspect, and organize HTTP requests — with zero CORS limitations, real filesystem persistence, and a native desktop feel.
Whether you're debugging a local microservice, exploring a third-party API, or building living documentation for your team, Bridge gives you the tools to work fast and stay organized.
Why Bridge?
- No CORS headaches — the desktop client bypasses browser restrictions entirely.
- Collections & environments — organize requests into folders, parametrize with variables.
- cURL import — paste any
curlcommand and Bridge builds the request for you. - Auth support — Bearer, Basic, API Key, and OAuth flows out of the box.
- Reusable examples — save response examples alongside your requests for instant documentation.
- Works offline — all data lives on your filesystem in a plain
bridge-data.jsonfile. No cloud, no account required.
Request builder & response viewer

Choose Your Workspace Storage Location

Organize requests in nested collections. Drag-and-drop to reorder. Import and export as JSON.
Define environments (development, staging, production) with key-value variable sets. Reference variables anywhere using {{variableName}} syntax — in URLs, headers, query params, auth config, and request bodies. Hover over a variable to preview its resolved value.
Paste any curl command. Bridge parses the method, URL, headers, and body and populates the request builder automatically.
A full-featured request editor with tabs for Params, Headers, Auth, Body (JSON, form-data, URL-encoded, raw), and Pre-request scripts.
Inspect responses with syntax-highlighted JSON/XML/HTML rendering, raw view, headers panel, cookie viewer, and response time and size metrics.
Save one or more response examples to any request. Use them as documentation, mocks, or test fixtures — exportable as part of your collection.
All your data — collections, environments, histories — is written to a single bridge-data.json file in a folder of your choice. No proprietary formats, no lock-in. Version-control it with Git.
Full browser-grade tab experience:
- Restore closed tabs (
Ctrl+Shift+T/⌘⇧T) - New, close, and cycle tabs with keyboard shortcuts
- Dirty state tracking with unsaved-changes prompts
Download the latest release for your platform from the Releases page:
| Platform | Download |
|---|---|
| macOS (Apple Silicon / Intel) | .dmg |
| Windows | .msi |
| Linux | .AppImage / .deb |
The web version runs in any modern browser. A hosted instance is available at bridge.jaideepghosh.com.
Note
The web app uses the File System Access API for filesystem storage. This requires a Chromium-based browser (Chrome 86+, Edge 86+). Firefox and Safari fall back to local session storage.
See Development Setup below.
- Open Bridge and select or create a workspace folder where your
bridge-data.jsonwill live. - Create a Collection from the sidebar (
+button orCtrl+N). - Add a Request — choose a method, enter a URL, configure params or a body, and hit Send.
- Save the request to your collection (
Ctrl+S).
| Action | macOS | Windows / Linux |
|---|---|---|
| New tab | ⌘T |
Ctrl+T |
| Close tab | ⌘W |
Ctrl+W |
| Force close tab | ⌥⌘W |
Ctrl+Alt+W |
| Reopen closed tab | ⌘⇧T |
Ctrl+Shift+T |
| Next tab | ⌘⇧] |
Ctrl+Shift+] |
| Previous tab | ⌘⇧[ |
Ctrl+Shift+[ |
| Jump to tab 1–8 | ⌘1–⌘8 |
Ctrl+1–Ctrl+8 |
| Jump to last tab | ⌘9 |
Ctrl+9 |
| Send request | ⌘↩ |
Ctrl+Enter |
| Save request | ⌘S |
Ctrl+S |
A full shortcut reference is available in-app via the Help footer menu.
Bridge is a Turborepo monorepo with NPM workspaces.
bridge/
├── apps/
│ ├── web/ # Next.js 15 web client
│ └── desktop/ # Tauri v2 desktop wrapper (Rust + Vite + React)
└── packages/
├── components/ # Core UI pages, Zustand stores, request engine
├── ui/ # Shared Radix + Tailwind v4 primitives
├── typescript-config/
└── eslint-config/
Tech stack:
| Layer | Technology |
|---|---|
| Web client | Next.js 15, React 19, Tailwind CSS v4 |
| Desktop shell | Tauri v2 (Rust), Vite |
| State management | Zustand |
| Component library | Radix UI primitives |
| Code editor | Monaco Editor |
| Monorepo tooling | Turborepo, NPM Workspaces |
- Node.js >= 18
- Rust toolchain (for the desktop app) — install via rustup
# 1. Clone the repo
git clone https://github.com/jaideepghosh/bridge.git
cd bridge
# 2. Install dependencies
npm install
# 3. Start all dev servers (web + desktop)
npm run devThe web app will be available at http://localhost:3000. The desktop app window opens automatically when Tauri compiles.
# Web only
npx turbo dev --filter=web
# Desktop only
npx turbo dev --filter=desktop# Build everything
npm run build
# Build only the desktop app
npx turbo build --filter=desktopContributions are welcome and appreciated. Please read CONTRIBUTING.md before opening a pull request.
- Bug reports: Open an issue with reproduction steps.
- Feature requests: Start a discussion before opening a PR.
- Code: Fork → branch → PR against
main. Make surenpm run lintandnpm run buildpass.
- Versioning is managed centrally in the root
package.json. Runnpm run sync-versionafter bumping to propagate to all packages andtauri.conf.json. - Shared UI components live in
packages/ui. Business logic and stores live inpackages/components.
- GraphQL support
- WebSocket testing
- gRPC support
- Team workspaces (shared collections)
- OpenAPI / Swagger import and export
- Built-in mock server
- Test scripting with assertions
See the open issues and project board for the full list.
Bridge is released under the MIT License.








