ZerkTest your API without leaving your editor. Zerk auto-discovers your running server's endpoints from its OpenAPI spec, pre-fills request bodies from your real schemas, and lets you (or your AI agent) fire authenticated requests in one click. No collections to build, no setup, no copy-pasting URLs, no second app.
Why Zerk?Every other API tool makes you repeat the same ritual on every project: open the app, create a collection, hand-add your routes, set up environments. Then your collection drifts out of sync with the code, because it's a second copy of your API that you maintain by hand. Zerk skips all of it. If your server is running and exposes an OpenAPI spec, any OpenAPI spec, every endpoint shows up in the sidebar, pre-filled with sample bodies from your actual models, ready to fire. FastAPI serves one by default at And because Zerk holds your live spec and your auth, it can hand those to your AI agent too - so the agent can test the endpoint it just wrote, for real, without you pasting credentials into a chat. FeaturesZero-config endpoint discoveryPoint it at your server once. Zerk fetches
A request panel that fills itself inOpen any endpoint and the request is already set up for you:
Named test cases - versioned with your codeFill in a body and parameters, click + Save current, and name the input set: "valid data", "missing field", "admin token". Reopen the endpoint and pick any saved case to restore those exact inputs. Cases live in a plain
Run all cases - smoke-test your APIOnce you've saved a few cases, fire them all at once. ▶ Run all on an endpoint replays every saved case and shows a pass/fail list; expand any row to see the actual JSON it returned. Need broader coverage? Right-click a module to run everything under it, or hit the beaker icon in the toolbar to smoke-test the whole API. Results land in a panel with a nested module tree on the left (each folder with a pass rollup) and the selected response on the right. Safe by default: only cases you explicitly saved are replayed, GET endpoints can be included automatically, and write methods (POST/PUT/PATCH/DELETE) stay out unless you opt in - with a confirmation before anything is modified. Requests fire from the extension host against your live server, so there's no CORS.
Let your AI agent test your API (preview)Run "Zerk: Enable MCP" from the command palette and Zerk wires a Model Context Protocol server into your editor's agent (Windsurf, Cursor) or Claude Code. Now your agent can test the API it just wrote, for real:
This isn't "AI that writes tests" - it's an agent that executes against your live, authenticated server with your tested payloads. Ask it to "add a POST endpoint and make sure it works," and it writes the code, fires it, reads the real
Group, filter, searchGroup endpoints by module (inferred from your URL structure, nested to any depth:
Request historyEvery request you fire is saved to a per-project history with method, status code, elapsed time, and full request/response bodies. Click any entry to reopen it with everything restored exactly as it was.
Project configuration & authOne place to configure everything for the workspace - base URL, authentication, and default headers - behind the ⚙ icon in the toolbar. Supports Bearer Token, API Key, and Basic Auth; set it once and it's attached to every request. Auth token auto-extract: fire your login endpoint once and Zerk detects the token in the response and offers to use it. Click Use as Auth and it's stored securely and attached to every subsequent request. Works with any response containing
Native editor feel
Getting Started
Default: connects to To let an AI agent test your API, run "Zerk: Enable MCP" from the command palette. Configuration
Built for FastAPI, works with any OpenAPI serverZerk is built and tuned for FastAPI - zero config, full Like Zerk?It's a one-person project and every bit of visibility helps:
ContributingZerk is open source. Issues and PRs are welcome. LicenseMIT |









