For one developer, Postman's job is to send a request, show the response, keep requests in collections and swap values between environments. An agent builds that as a local app in one sitting, with plain files you can commit to Git. The gaps sit around it: the pm.* scripting sandbox that old collections lean on, monitors and mock servers that run on Postman's servers, and the shared workspaces where a team keeps one copy of everything. A solo build covers the daily loop; a team still needs a shared home for its collections.
Before you buildPostman Free already gives one person the API client, collections and the runner, and Bruno is free too. You only need to pay or build when you want a team workspace or Solo's higher limits.
Build me a local API client to replace Postman. Requirements:
- Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite. `npm start`
serves http://127.0.0.1:4800 and listens on localhost only.
- Storage is plain files so it can live in Git: ./workspace/<collection>/<folder>/<request>.json,
./workspace/environments/<name>.json, and secret variables in ./workspace/.secrets.json
(added to .gitignore). better-sqlite3 in ./data/history.db keeps the last 500 sent requests.
- Requests: method, URL with {{variable}} substitution, query params, headers, and bodies of
type JSON, form-urlencoded, multipart with files, raw text and GraphQL. Bearer, Basic and
API-key auth helpers. One active environment plus a global set.
- Send with `undici`: follow up to 10 redirects, 30 second timeout; show status, time, size,
headers, cookies and body, pretty-printed for JSON and XML, with an image preview.
- Scripts: pre-request and post-response JavaScript in `quickjs-emscripten` with a small subset
of pm: pm.environment.get/set, pm.variables.get, pm.request, pm.response.json(), pm.test()
and pm.expect from `chai`. Script errors appear in the UI and never crash the server.
- Runner: run a folder in order from the UI or with `npm run run -- <collection> --env <name>`;
print pass or fail per test and exit with code 1 if any test fails.
- Import Postman Collection v2.1 and environment JSON, listing every field that could not be
converted. Copy any request as a cURL command.
- Single user. No accounts, no telemetry, local-first; the only outbound calls are your requests.
- Out of scope: team workspaces, mock servers, monitors, Flows, WebSocket, gRPC, OAuth 2 flows.
- README: setup, the file layout, which pm calls work, and a warning that Postman scripts using
other pm APIs will not run.Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Postman.
Add a local mock server to the API client in this folder. Requirements:
- Each request can store example responses (status, headers, body, a name).
- `npm run mock -- <collection> --port 4810` serves every request that has an example at its
method and path, matching {{variable}} segments as wildcards.
- Pick the example by an x-mock-example header, otherwise the first; add an optional delay in ms.
- Log each hit to the terminal and to the UI, and return 404 with a JSON hint for unmatched paths.
- Bind to 127.0.0.1 only. Update the README.Add OAuth 2 to the API client in this folder. Requirements: - An auth type with authorization code + PKCE and client credentials; fields for auth URL, token URL, client id, secret, scopes and a redirect URI of http://127.0.0.1:4800/oauth/callback. - A "Get token" button opens the browser, handles the callback, stores the access and refresh tokens in ./workspace/.secrets.json and shows the expiry. - Refresh automatically one minute before expiry; if refresh fails, say so in the UI. - Never print tokens in logs. Update the README with a worked example.
Add CI output to the runner of the API client in this folder. Requirements: - `npm run run -- <collection> --env <name> --junit report.xml` writes JUnit XML with one test case per pm.test and the failing assertion message. - A `--bail` flag stops at the first failure, and `--delay <ms>` waits between requests. - Environment variables named POSTMAN_VAR_<name> override environment values in CI. - Add a sample GitHub Actions workflow in ./examples/ and update the README.
Collections are shared infrastructure for a team: tests, docs, mocks and monitors all hang off the same saved requests, and years of pm.* scripts only run in Postman's sandbox. Moving means rewriting scripts and convincing everyone else, which costs more than a seat.
Estimate · Runs on your machine and sends only the requests you make. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | 1 user, 5 integrations, 10,000 Postman API calls a month, 1,000 monitoring requests a month, 1 day of collection recovery, AI credits a month (50 in the comparison table, 100 in the plan blurb). |
| Solo | $12/user | $9/user | 1 user, 400 AI credits a month, 10 integrations, 100,000 API calls a month, 30 days of collection recovery, data-driven testing exports, webhooks, custom-branded docs, unlimited private npm packages. |
| Team | $23/user | $19/user | Unlimited users, 400 AI credits per user a month, 50 integrations, 1 million API calls a month, 90 days of collection recovery, basic role-based access, monitor reports, SDK generation, private workspace features. |
| Enterprise | custom | — | 800 AI credits per user (pooled), API Catalog, private runners, advanced roles, audit logs, SCIM, EU-only data residency. |
Free covers one user with the API client, collections, mock servers, the collection runner, Native Git and the CLI, plus 10,000 Postman API calls a month.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $12 a month on the Solo plan per seat, $144 a year (checked 2026-10-19).
Team workspaces with roles, comments and one shared copy of every collection; Monitors, hosted mock servers and scheduled runs on Postman's infrastructure; The full pm.* scripting sandbox, Flows and the public API network; GraphQL, gRPC, WebSocket and MQTT clients; Hosted documentation and SDK generation. If any of those matter to you, keep paying.
Yes: Bruno (open source), Hoppscotch (open source), Insomnia (open source).