RequestNest¶
Keep Postman. Skip the per-seat cost. Collaborate through git.
RequestNest lets a team share Postman collections and environments for free by using a git repo as the shared workspace — so you don't have to migrate to a different API client or pay for a Postman team plan.
Each teammate keeps their own free Postman account. RequestNest syncs each person's personal Postman workspace (via the Postman REST API) with a shared git repo — git is the source of truth, and secrets never land in it.
shared git repo <-> your personal Postman workspace
Why it exists¶
As of March 2026, Postman's free plan is single-user with no shared workspaces, and team collaboration runs $23/user/month (monthly; $19 annual). Postman's own native git sync requires a paid team workspace — it doesn't work with the personal workspaces free users have. The alternative is migrating to a git-native client (Bruno, Apidog, Requestly), which means leaving Postman behind.
RequestNest is for teams that want to stay on Postman: publish your collections to git, let teammates import them into their own workspaces — no migration, no paid seats — and it sanitizes secrets automatically so tokens never reach the repo.
See the Market analysis for the full picture.
How it works¶
RequestNest is a Python 3.10+ CLI (click for commands, httpx for the Postman
REST API, pyyaml, and rich for output) that treats a git repo as the shared
workspace. A publisher runs init then push to share a collection; a teammate
runs setup to import it into their own workspace. The committed repo is the
source of truth, and the CLI drives git for you (auto commit/pull/push, gated by
config and a --no-git flag), with diff and --dry-run previews so nothing
changes before you see it.
Behind the scenes:
- Sync model — each command talks to
api.getpostman.comwith your personalPMAK-key, syncing your personal Postman workspace ⇄ the repo. Free Postman accounts can use the API against their own workspace, which is the whole basis for the tool. - Clean diffs — before anything is written, collections and environments run
through a normalization pass: volatile
id/timestamp fields are stripped, object keys are deterministically ordered, and array order is preserved. Diffs stay readable and commits don't churn. - Secret safety — any Postman variable marked
type: secret(plus an optional config override list) is replaced with a{{placeholder}}in the committed JSON; the real value lives only in a gitignored local file and is restored onpull. A pre-push safety scan additionally blocks anything token-shaped (PMAK-, AWS keys, JWTs, long hex) that wasn't marked, so credentials never reach the repo. - Per-account identity — Postman resource UIDs differ per account, so the committed config is UID-free (logical names only) and each person's name→UID mapping is kept in gitignored local state.
- Architecture — git is driven via subprocess (no libgit dependency), and the orchestration core is UI-agnostic, so a TUI or web UI could be layered on later. See the project brief for the full design.
Install¶
pip install requestnest # or: pipx install requestnest
requestnest --version
If requestnest isn't found afterward, pip's scripts folder isn't on your
PATH (common on Windows) — run it as a module instead, which needs no PATH
change:
python -m requestnest --version
See the README install notes for PATH and virtualenv tips.
You'll need a Postman API key (Postman → Settings → API keys). Provide it when
init/setup prompts, or set the REQUESTNEST_API_KEY environment variable:
PowerShell:
$env:REQUESTNEST_API_KEY = "PMAK-..."
Bash / Zsh:
export REQUESTNEST_API_KEY="PMAK-..."
Quickstart¶
Publisher — share collections you built in Postman:
requestnest init # pick which collections/environments to track
requestnest push # sanitize secrets, write JSON, commit & push
Consumer — use collections a teammate shared:
requestnest setup # import into your workspace + prompt for secrets
Day to day: pull to receive, edit in Postman, diff to preview, push to
share. Git is handled for you.
Learn more¶
- Project brief — design and architecture
- Manual test checklist — hands-on walkthrough
- Publishing — releasing to PyPI
- Source on GitHub