New · Fast, free API platform

Swastik Codes: one API client for every protocol.

Design, test, mock, monitor and document REST, GraphQL, gRPC, WebSocket and MQTT APIs in one workspace, in your browser, in VS Code, or in a native desktop app for Windows, macOS and Linux that is lighter and quicker than Postman. Bring your Postman collections; scripts written for pm.* run unchanged.

26%Less RAM than Postman
0.4 sTo open
₹0No paid plans
26%
Less memory than Postman
4.7×
Less CPU to start than Postman
0.4 s
To first window
18×
Smaller installer than Postman

Faster to open, lighter to run

Most API clients ship their own copy of Chromium. The Swastik Codes desktop app sends requests from a native Rust engine instead, so it needs less of your machine.

Lowest memory of the five tested — 434 MB after a minute, against 585 MB for Postman and 800 MB for Hoppscotch.
Quickest to start — a window in 0.4 s using 2.7 s of CPU. Postman needs 12.6 s of CPU and Insomnia 53.3 s.
Fewer processes — 3 running processes, against 9 for Postman and 8 for Insomnia.
A web app that loads in 382 KB — hoppscotch.io transfers 6.6 MB, and its JavaScript heap is 70 MB against our 5 MB.
Read the benchmark method
Desktop apps on Linux, 23 Oct 2026 · lower is better
AppMemoryCPU to startWindowProcessesInstaller
Swastik Codes 0.1.0434 MB2.7 s0.4 s311 MB
Postman 12.33.4585 MB12.6 s1.1 s9204 MB
Bruno 4.3.0615 MB7.9 s4.6 s6117 MB
Insomnia 13.3.1656 MB53.3 s2.9 s8500 MB
Hoppscotch 26.9.0800 MB8.7 s1.3 s345 MB

Our own benchmark. Each app ran alone in an identical Ubuntu 24.04 container with a fresh profile; memory is proportional set size after 60 s, median of three runs. Software rendering on a server without a GPU, so desktop numbers will differ.

One client, eight protocols

Most teams juggle a REST client, a gRPC tool, a WebSocket tester and an MQTT app. Swastik Codes keeps them in one collection, with one set of environments and variables.

HTTP / REST

Request

Every method, body type and auth scheme, with environments, variables and code snippets for each request.

GraphQL

Query

Point it at an endpoint and write queries, mutations and variables against the schema.

gRPC

RPC

Call gRPC services alongside your REST endpoints, in the same collection and the same environments.

WebSocket

Stream

Open a connection, send messages and watch the replies arrive, without writing a throwaway client.

Socket.IO

Stream

Emit and listen to Socket.IO events directly, so real-time features can be tested like any other endpoint.

Server-Sent Events

Stream

Subscribe to an SSE endpoint and read the event stream as the server pushes it.

MQTT

IoT

Publish and subscribe to topics on an MQTT broker, so IoT devices and backends can be tested from the same workspace.

MCP

AI

Test Model Context Protocol servers, and serve your own collection to AI coding assistants with swc mcp.

From the first request to production checks

One collection holds the request you are debugging, the tests that guard it, a mock for the frontend team and a monitor that alerts you when it breaks.

API tests

Pre-request and test scripts, assertions and JSON Schema checks, written once and run on every send.

Collection runner

Run a folder or a whole collection with iterations, data files and delays, then export the report.

Load tests

Simulate virtual users under several traffic profiles and watch latency percentiles live.

Mock servers

Serve saved example responses from a public URL, with request matching, delays and templates.

Monitors

Scheduled runs with retries, and alerts by email or signed webhook when a check fails.

API design

Multi-file OpenAPI and AsyncAPI specs with linting, versioning and sync to your collections.

Published docs

Publish a collection as public documentation, with secrets stripped out before it goes live.

Flows

Chain requests visually, with conditions, loops, delays and webhook triggers.

Know what changed, what is flaky and what is exposed

Passing tests only tell you about the cases someone wrote. These checks look for the cases nobody did.

Staging vs production

Compare two environments' responses field by field, ignoring IDs, timestamps and anything else you choose.

Flaky tests and coverage gaps

Repeat runs to find unstable tests, and list the requests and error codes no test covers.

Security checks

Probe for unauthenticated endpoints, permissive CORS and leaky errors, with optional invalid-input fuzzing.

An access matrix for every role

Send one request as admin, user or guest, with automatic sign-in, and flag any role that gets in where it should not.

Breaking changes stopped in review

The swc diff command reads the API from your code, compares it with the main branch and fails CI on a breaking change.

Docs that tell you when they are wrong

Responses are checked against saved examples, and missing, new or changed fields are flagged.

Bring your collections and your tests

Switching should not mean rewriting. Import what you have and keep working the same afternoon.

01 — Import

Collections, environments, globals

Import from Postman, Insomnia, OpenAPI 3, Swagger 2, cURL, HAR, RAML or WSDL, including a full Postman data dump.

02 — Run

Your scripts, unchanged

Test and pre-request scripts written against Postman's pm.* API run in the sandbox. swc.* is the native equivalent.

03 — Automate

Replace Newman in CI

swc run takes Newman-compatible flags, so moving a pipeline off Newman is a small edit. Export back to Postman any time.

The swc tool, for your terminal, your editor and your pipeline

Install
# macOS and Linux (Windows: irm https://swastik.codes/install.ps1 | iex)
$ curl -fsSL https://swastik.codes/install.sh | sh
# or with npm, Node.js 18+
$ npm install -g @swastik-codes/cli
# or the VS Code extension, swc included
$ code --install-extension swastik-codes.swastik-codes
$ swc init
Localhost from the browser — swc bridge runs the web app's requests on your machine, so it reaches localhost and private networks with no extension and no open port.
From your code to a collection — swc scan finds the API routes in your code; swc sync re-scans and keeps your edits.
Inside VS Code — the Swastik Codes extension puts collections and environments in the sidebar, sends requests next to your code, runs collections in the Test Explorer and keeps a collection in sync with your routes.
Workspaces in Git — swc workspace pull and push store a workspace as JSON files you can review in a pull request.
Where it runs
PlatformDetails
Web appAny modern browser at swastik.codes/app; free account (GitHub or email)
WindowsWindows 10 or 11, x64; per-user installer, no admin rights
macOSmacOS 10.15 or later; one .dmg for Apple silicon and Intel
Linux.deb, .rpm or AppImage; Ubuntu 22.04+, Debian 12+, Fedora 38+
VS CodeVS Code 1.90+ on Windows, macOS and Linux, from the Visual Studio Marketplace
swc CLImacOS, Linux and Windows; one-line installer or npm install -g @swastik-codes/cli
MobileNo app; the web app works in mobile browsers

Review API changes like you review code

Shared workspaces

Personal, team and public workspaces, with admin, editor and viewer roles and sync across devices.

Forks and pull requests

Version history, forks, approval reviews and merge checks, so a collection change is reviewed before it lands.

Comments

Threaded comments with mentions on requests, plus HMAC-signed workspace webhooks.

One API catalog

A searchable directory of the team's APIs with owners, status, docs and monitors in one place.

Sensible defaults for real credentials

An API client holds the keys to every system you test. It should behave like it.

Current values stay on your device — variable current values and the encrypted vault are never uploaded, even in a cloud workspace.
Secret guard, on by default — it warns when a token is pasted in plain text and offers to move it to a variable or the vault.
Private addresses blocked — the hosted web app will not call loopback or private IPs; that only happens through your own bridge or desktop app.
Minimal GitHub access — GitHub sign-in reads only your profile and verified email.

Questions, bugs or a protocol we missed?

Swastik Codes is built and run by the Shwastik engineering team in Darbhanga. Tell us what you are testing and we will help you set it up.

Visit the Swastik Codes site

Common questions

Swastik Codes — common questions

Talk to an engineer

In our benchmark of 23 October 2026, yes. The desktop app used 434 MB of memory after a minute against 585 MB for Postman, 26% less. It opened a window in 0.4 seconds against 1.1, used 4.7 times less CPU to start, and its Windows installer is 11 MB against 204 MB. It sends requests from a native Rust engine instead of a bundled Chromium. The method is published at swastik.codes/benchmarks.

Yes. Swastik Codes is free to use today and there are no paid plans. The web app needs a free account, which you can create with GitHub or an email address. The desktop app and the swc command-line tool work without an account. Any future paid features will be announced in advance.

Yes. It imports Postman collections, environments, globals and full data dumps, and test scripts written against Postman's pm.* API run in its sandbox unchanged. In CI, swc run accepts Newman-compatible flags. You can export back to Postman v2.0, v2.1 or v3 at any time.

Eight: HTTP and REST, GraphQL, gRPC, WebSocket, Socket.IO, Server-Sent Events, MQTT and the Model Context Protocol (MCP). They all live in the same collections and share the same environments, variables and tests, so you do not need a separate tool per protocol.

Yes, through your own machine. Run swc bridge and turn on the web app's local bridge setting, or use the desktop app for Windows, macOS or Linux. Without one of those, the hosted web app deliberately blocks loopback and private addresses so it cannot be used to reach internal systems.

Yes, all three. The desktop app runs on Windows 10 and 11 (a per-user installer), macOS 10.15 or later (one .dmg for Apple silicon and Intel) and Linux (.deb, .rpm or AppImage). The VS Code extension is on the Visual Studio Marketplace: search for Swastik Codes. The swc command-line tool runs on macOS, Linux and Windows and installs with one command or with npm install -g @swastik-codes/cli.

Variable current values and the encrypted vault stay on your device and are never uploaded, even in a cloud workspace. A secret guard is on by default: it warns when a token is pasted in plain text and offers to move it into a variable or the vault.

Start with the request you are debugging today

Create a free account, then import a collection, paste a cURL command or point it at a GraphQL endpoint.