Postmate Client – API Testing in VS Code (Postman Alternative)
Postmate Client is a local-first REST API testing tool for Visual Studio Code and a powerful Postman alternative for API testing
Test REST APIs directly inside VS Code with no cloud sync, no login, and no external apps.
Everything runs locally—giving you full control, better performance, and complete data privacy.
Ideal for developers searching for a Postman alternative, REST client for VS Code, or offline API testing tool
- Request chaining
- Environment variables
- Postman-compatible scripting (pm)
- Response comparison (side-by-side diff)
- Data-driven testing (CSV)
👉 Stop switching tools. Start testing APIs where you code.
Resources
📘 Getting Started Guide: https://www.postmateclient.com/
📄 Documentation Wiki: https://github.com/shyyadav/mpostmate-docs/wiki
⚙️ CLI & Automation Docs: https://www.postmateclient.com/ci-cd/cli-reference
🎥 Video Tutorials: https://www.youtube.com/channel/UCNDd2dOwC80m_2VdGPmwKDQ
💬 Feedback / Issues: https://github.com/shyyadav/postmateClient-docs/issues

Why Postmate Client?
If you're looking for a Postman alternative inside VS Code, Postmate Client offers:
- Local-first API testing (no cloud sync)
- Environment variables & request chaining
- Built-in
pm scripting API (Postman-compatible)
- Data-driven API testing using CSV tables
- Fast, lightweight, native VS Code experience
Perfect for developers who want secure API testing without sending data to external servers.
API Client Comparison: Postmate Client vs Postman vs Thunder Client
| Feature |
Postmate Client |
Postman |
Thunder Client |
| Pricing |
✅ Free |
⚠️ Freemium |
⚠️ Freemium (advanced features paid) |
| Runs locally |
✅ Yes |
❌ Cloud-first |
✅ Yes |
| Works inside VS Code |
✅ Native |
❌ No |
✅ Yes |
| Login required |
❌ No |
✅ Yes |
❌ No |
| Data privacy |
✅ Fully local |
⚠️ Cloud sync |
✅ Local |
| API scripting support |
✅ Advanced (pm) |
✅ Advanced |
⚠️ Limited |
| Request chaining |
✅ Yes |
✅ Yes |
⚠️ Basic |
| Data-driven testing |
✅ CSV support |
⚠️ Limited |
❌ No |
| Response comparison |
✅ Built-in diff |
❌ Limited |
❌ No |
| Collection runner control |
✅ Drag & drop sequencing |
⚠️ Limited |
⚠️ Basic |
| Performance |
⚡ Fast |
🐢 Heavy |
⚡ Fast |
How to Test APIs in VS Code (Quick Start)
- Open Postmate Client from the VS Code Activity Bar
- Click New Request
- Send your first API request
- Use
{{variable}} for environment variables
- Add tests using the built-in
pm scripting API
API Testing Features for Developers & QA Engineers
- Built-in pm Scripting API (Postman Compatible)
Use familiar Postman-style scripting:
Built-in pm Library
Use familiar Postman-style scripting:
pm.test("Status is 200", () => {
pm.expect(RESPONSE.status).to.equal(200);
});
pm.setVariable("token", RESPONSE.body.token);
Available pm methods include:
pm.assert
pm.clearVariable
pm.expect
pm.getRequest
pm.getVariable
pm.listVariables
pm.log
pm.setVariable
pm.test
pm.schemaTest("Validate response schema", userSchema, sampleData)
pm.base64Decode(accessToken)
Request Creation & Import
- Import real-world cURL commands instantly Watch Demo Video
- Import APIs from Swagger / OpenAPI
- Import collections from Postman
- Save and organize requests into collections and folders
Compare API Responses Side-by-Side
Compare API responses side-by-side with intelligent diff highlighting
Stop copying JSON into external diff tools.
Postmate Client lets you fire two API requests in parallel and instantly see every difference — highlighted, navigable, and right inside VS Code.
How to Compare API Responses in VS Code

API Testing, Assertions & Automation
Postmate Client provides both scripting as well as writing tests in plain English for most obvious types of assertions.
Writing tests just like plain English: go to Tests tab and click on Test sub tab.
You can have tests in tabular form where every row is a test. Test rows include 5 columns: Test Type, Action, Expected, Description, and Delete.
Test Type:
- Set Env Variable: in case you want some data from the response to be stored in environment variable to use later or next request
Tip: just run your request once before you start writing test, so that you’ll get json path in suggestion to select.
Example use case: you want to store authorization-token in variable so that you can use it another request.

Write JavaScript code to manipulate API responses.
- Response body (RESPONSE.body)
- Response status (RESPONSE.status)
- Example:
const students = resp.students;
students.forEach(s =>{
console.log(s.name);
});
See Postmate Client in action inside VS Code:

Collection Run:


Data-Driven API Testing (CSV Support)
- Manage multiple Data Tables
- Select data rows dynamically while sending requests
- Attach data tables to environments
- Parameterize requests using
{{variable}} syntax
Environment Variables & API Configuration
- Multiple environments supported
- Dynamic variables across requests
- Environment-level data tables
- Request history & persistence
Developer Settings & cURL Logging
- Log as cURL – log outgoing requests as a cURL command instead of plain text
Native VS Code Experience
- Fast and lightweight
- No external runtime required
- Seamless VS Code UI integration
Postmate Client is ideal for developers who want a fast, private, and fully local API testing workflow without relying on cloud-based tools.
Screenshots
Experience the speed, simplicity, and power of a native VS Code extension:


Supports multiple Data Tables for use across requests and collections.

Feedback
Please share feedback or feature requests via GitHub Issues
Licensing & Dependencies
Copyright: © 2025 Shyam Narayan Yadav. All rights reserved.
Postmate Client is licensed under a proprietary license. You are free to use it, but you may not redistribute, modify, or sell it without explicit permission.
Third-Party Libraries: Postmate Client uses the following open-source packages:
chai, mocha, node-fetch, jsonpath-plus, monaco-editor, uuid, esbuild, rimraf, typescript, vscode-test, @types/* packages
These libraries are used under their respective licenses (mostly MIT or Apache 2.0). Please refer to each library for full license details.