CALLSTACK logo

CALLSTACK

The native REST API client for developers who care about privacy and workflow.

Local SQLite · No account required · No CORS · Offline-first · Scripting & Automations

🍎 macOS 🐧 Linux 🪟 Windows

Built different, by design

No subscriptions. No telemetry. No cloud. Your API workspace lives entirely on your machine.

🦀
Native, not a browser

Built with Tauri 2 and Rust. Full OS integration, real filesystem access, and a proper native window — not a web app wrapped in Electron.

🔒
Your data stays local

Everything is stored in a SQLite database on your machine. No account, no sync, no cloud. Your requests, environments, and history never leave your laptop.

🚫
Zero CORS headaches

HTTP requests run from Rust — not a browser. No Origin headers, no preflight, no CORS errors. Test any API exactly as your server sees it.

Scripting & Automations

Chain requests with pre/post scripts. Build multi-step workflows. Iterate over CSV datasets. Branch on response conditions. Run tests. All without leaving the app.

Everything you need to test APIs

🔨

Request Builder

Build requests for every HTTP method with a full-featured editor. URL params, headers, JSON/XML body, and file attachments — all in one place.

  • GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
  • Query params editor with enable/disable toggles
  • Headers editor with auto Content-Type
  • JSON & XML body validation
  • Multipart file attachments
  • Cancel requests mid-flight
🌍

Environments & Variables

Define variables per project and substitute them everywhere with {{variable}} syntax. Keep base URLs, tokens, and secrets organized by environment.

  • Multiple environments per project
  • Template syntax in URL, headers, body, params
  • Recursive variable resolution (vars that reference other vars)
  • 25+ dynamic tokens: {{$randomUUID}}, {{$isoTimestamp}}, and more
  • Secrets (masked values with hold-to-reveal)
  • Runtime variable manipulation in scripts
  • Environment switching without editing requests
📝

Pre/Post Scripts

Run JavaScript before or after every request. Extract tokens, set variables, assert response values, and generate test data with the built-in Faker library.

  • Full request & response objects
  • Read/write env and secrets at runtime
  • emitter for inter-step communication
  • test() assertions with PASS/FAIL reporting
  • Faker data: names, emails, addresses, UUIDs
  • CodeMirror editor with JS autocomplete
🤖

Automations

Build multi-step request workflows visually. Loop over datasets, branch on responses, run steps in parallel, and collect test results across every run.

  • Sequential request chains
  • CSV Iterator — loop over data files row by row
  • Set Env — switch environments mid-run
  • Branch on status code, emitted values, or test results
  • Fanout — parallel execution lanes
  • Repeat loops with iteration context
  • Full run history with PASS/FAIL/PARTIAL status
👁️

Response Viewer

Inspect responses with syntax highlighting, a header browser, and a live HTML/image preview tab. See timing, size, and test results at a glance.

  • JSON syntax highlighting with line numbers
  • XML and HTML pretty-printing
  • Preview tab: renders HTML, images, video, audio
  • Status code, response time (ms), size (bytes)
  • Copy body or save to file
  • Collapsible test results panel
📁

Organisation

Group requests into projects and folders. Drag to reorder. Collapse the sidebar for more space. Everything persists to SQLite automatically.

  • Projects → Folders → Requests hierarchy
  • Drag-and-drop reordering at every level
  • Collapsible sidebar for full-screen editing
  • Persistent expansion state across sessions
  • Import from Postman collections
  • Export with full response history

The small things that add up

📋
Request Log Full session history with one-click curl export
⌨️
Keyboard Shortcuts F1–F12 quick launch, fully customisable bindings
🔑
JWT Decoder Paste any token to inspect its claims instantly
📊
CSV Data Files Built-in grid editor, used by CSV Iterator automation step
📤
Import/Export Postman v2.1 import, native Callstack export with history
🎨
Themes Dark, Light, Dim — or follow your system preference
🎲
Faker Data Generate realistic test data inside pre-request scripts
🔍
Variable Inspector See all available {{variables}} in the current scope

Get started in seconds

Available for macOS, Linux, and Windows. No account required.

Install via Homebrew for automatic updates and easy management:

Terminal
brew tap kinarix/callstack
brew install --cask callstack

Or download the .dmg directly from GitHub Releases.

Download the .AppImage or .deb from GitHub Releases:

Terminal
# AppImage (any distro)
chmod +x Callstack_*.AppImage
./Callstack_*.AppImage

Download the .msi installer from GitHub Releases and run it:

PowerShell
# Or use winget
winget install kinarix.callstack
View all releases on GitHub →