ApiCraft 🚀
The Ultimate Developer-First API Client for Visual Studio Code
A lightweight, blazing-fast, and privacy-focused alternative to Postman & Insomnia — built directly inside your editor.
Features •
Quickstart •
Protocols •
Storage & Sync •
Scripts & Tests •
Keybindings •
Contributing
🌟 Why ApiCraft?
Most API clients have become bloated, require forced cloud accounts, or introduce heavy background processes. ApiCraft delivers a high-performance, developer-first experience natively integrated into VS Code:
- ⚡ Zero CORS Barriers: Direct native socket communication — seamlessly test
localhost, 127.0.0.1, internal microservices, or public cloud endpoints.
- 🗂️ Multi-Tab Request Workspace: Open, edit, and compare multiple requests side-by-side with unsaved dirty tracking (
Ctrl+T, Ctrl+W).
- 🌐 Multi-Protocol Support: REST HTTP, GraphQL (with schema introspection), WebSockets duplex streaming, and Server-Sent Events (SSE).
- 🔒 Privacy First & Local Storage: 100% offline by default. No telemetry, no forced account, and your sensitive API tokens are secured using VS Code's OS-level
SecretStorage.
- ☁️ Seamless GitHub Cloud Sync: Backup and sync your collections across machines effortlessly using your own private GitHub Gists.
- 📁 Git-Friendly Local Folders: Save collections as human-readable
.json files directly in your repository to version control with your team.
- 🧪 Postman Scripting & Assertions: Run pre-request and post-response tests with full
pm.* sandbox compatibility.
- 📦 1:1 Postman & cURL Import/Export: Paste cURL commands or import entire Postman v2.1 collections and environments with a single click.
📸 Key Features at a Glance
| Feature |
Description |
| Multi-Tab Workspace |
Work across multiple requests simultaneously with active state preservation and duplicate/reorder capabilities. |
| Protocol Selector |
Switch between HTTP, GraphQL, WebSockets, SSE, and preset templates for AI & MCP agents. |
| Low-Level Socket Waterfall |
Microsecond-accurate latency breakdown: DNS lookup, TCP connect, TLS handshake, TTFB, and download. |
| Certificate Inspector |
View SSL/TLS cipher suites, subject CN, issuer, and validity dates with padlock security badges. |
| Visual Assertion Builder |
Point-and-click test builder for Status Codes, Response Time, Headers, Body text, and JSONPath. |
| Script Engine |
Full JavaScript sandboxing with pm.environment, pm.globals, pm.collectionVariables, and pm.test(). |
| Monaco Code Editor |
Syntax-highlighted response viewer with Pretty, Raw, and HTML/Table Preview, Hex dump, and Base64 views. |
| Multi-Language Code Gen |
1-click client code generation for Fetch, Axios, Python Requests, Go, Java, cURL, and more. |
| Schema Generator |
Generate Draft-07 JSON Schema instantly from any request body payload. |
🚦 Protocols Supported
1. HTTP / REST
- All standard methods:
GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS.
- Body Types:
none
form-data (supports text fields and local file uploads)
x-www-form-urlencoded
raw (JSON, Text, JavaScript, HTML, XML)
binary (file streaming)
GraphQL
- Auth Providers: No Auth, Bearer Token, Basic Auth, API Key (Header or Query), OAuth 2.0, JWT Bearer, Digest Auth.
- Dynamic Variable Interpolation: Use
{{baseUrl}}, {{token}}, {{$guid}}, {{$timestamp}} across URLs, headers, and bodies.
2. GraphQL & Schema Introspection
- Integrated GraphQL query & variables editor.
- Endpoint Introspection: 1-click schema introspection fetches queries, mutations, subscriptions, and types.
- Schema Explorer: Interactive sidebar documentation for your GraphQL schema right in VS Code.
3. WebSockets (WS / WSS)
- Connect to duplex WebSocket servers (
ws:// or wss://).
- Real-time bidirectional message log with timestamps and status indicators.
- Live outbound message composer (JSON, plaintext).
4. Server-Sent Events (SSE)
- Stream real-time event feeds (
text/event-stream).
- Event ID, event name, and data payload parsing.
💾 Storage & Cloud Synchronization
ApiCraft provides three flexible storage options:
┌─────────────────────────────────────────────────────────────┐
│ Storage Modes │
├─────────────────┬─────────────────────┬─────────────────────┤
│ 1. Local Mode │ 2. Local Folder │ 3. GitHub Cloud │
│ (Default) │ (Git Repo Mode) │ (Gist Sync) │
├─────────────────┼─────────────────────┼─────────────────────┤
│ • Stored in │ • Saved as .json in │ • Backed up to a │
│ VS Code's │ a workspace folder│ private GitHub │
│ globalState │ • Commit to Git │ Gist │
│ • 100% offline │ • Share with team │ • Auto-syncs across │
│ • Zero network │ • Version control │ different PCs │
└─────────────────┴─────────────────────┴─────────────────────┘
- Local Mode (Default): Everything is stored securely on your local computer. Completely offline and private.
- Local Folder Mode: Connect ApiCraft to any folder in your workspace (e.g.
./.apicraft or ./api-collections). Collections and environments are written as standard JSON files so you can commit them to Git.
- GitHub Cloud Sync: Sign in using VS Code's native GitHub authentication. ApiCraft creates a private, hidden GitHub Gist and automatically syncs your collections and environments in the background as you work.
🧪 Postman-Compatible Scripting & Tests
ApiCraft includes a full sandboxed execution runtime for Pre-request and Post-response scripts:
// Pre-Request Script Example: Dynamic Header or HMAC
pm.environment.set("timestamp", Date.now());
// Post-Response Tests Example
pm.test("Status code is 200 OK", function () {
pm.response.to.have.status(200);
});
pm.test("Response time is acceptable", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
pm.test("Authentication token returned", function () {
const json = pm.response.json();
pm.expect(json.token).to.be.a("string");
pm.environment.set("authToken", json.token);
});
Supported pm APIs:
pm.environment.get(key) / pm.environment.set(key, value)
pm.globals.get(key) / pm.globals.set(key, value)
pm.collectionVariables.get(key) / pm.collectionVariables.set(key, value)
pm.variables.get(key) / pm.variables.set(key, value)
pm.response.code, pm.response.status, pm.response.responseTime, pm.response.json(), pm.response.text()
pm.test(name, callback)
pm.expect(actual).to... (Chai-style assertions)
⌨️ Keyboard Shortcuts
| Shortcut |
Action |
| Ctrl + Enter / Cmd + Enter |
Send current API request |
| Ctrl + S / Cmd + S |
Quick Save request to active collection |
| Ctrl + T / Cmd + T |
Open a new request tab |
| Ctrl + W / Cmd + W |
Close active request tab |
| Ctrl + F / Cmd + F |
Find / Search inside response body |
🕹️ Quickstart Guide
- Install ApiCraft from the VS Code Marketplace.
- Click the ApiCraft rocket icon in the Activity Bar on the left.
- Click New Request (or press Ctrl+T).
- Enter your URL (e.g.
https://jsonplaceholder.typicode.com/posts/1), select GET, and click Send.
- Inspect the response in Monaco Editor, check network timings, or switch between Pretty, Raw, and Preview modes.
- Click Save to save the request into a Collection for future runs.
🔒 Security & Privacy
- No Remote Tracking: ApiCraft collects zero usage metrics or telemetry.
- No Third-Party Cloud Servers: Your API requests travel directly from your machine to your target server over low-level Node.js sockets.
- Encrypted Secrets: Sensitive environment variables marked as secret are encrypted using VS Code's native
SecretStorage.
📄 License
MIT © ApiCraft Team
| |