Poppy is an ultra-fast, lightweight, offline-first API testing suite and automated CLI test runner. Sub-100ms startup, <30MB RAM footprint, and 100% git-versionable plain text collections.
Release v1.4.5 · Windows x64 · macOS · Linux x64
| ID | Name | Role | Status | Score |
|---|---|---|---|---|
| 101 | Alice Vance | Admin | Active | 98.4 |
| 102 | Bob Jenkins | Developer | Active | 87.2 |
| 103 | Carol Danvers | Staff | Pending | 74.0 |
Why native code matters when developing and testing APIs all day.
| Metric | Postman | Bruno | Poppy (v1.4.5) |
|---|---|---|---|
| Architecture | Electron (Chromium + Node) | Electron (Chromium + Node) | Native C++20 + Qt 6 + libcurl |
| Cold Startup | 3.0s – 6.0s | 2.0s – 3.5s | < 100 ms (Instantaneous) |
| Idle Memory (RAM) | 350 MB – 600 MB | 180 MB – 320 MB | < 30 MB |
| Data-Driven Testing | Paid / Complex | CLI Only | Built-in GUI (CSV/JSON Fixtures) |
| Response Cookies Tab | Basic Table | Raw Headers Only | Parsed Tab with Flags & Counts |
| cURL Paste Auto-Detect | Manual Import Modal | Manual Import Modal | Instant Paste in Main URL Bar |
| API Doc Generator | Cloud Hosted Only | None | Offline Single-Page HTML & Markdown |
| Local Mock Server | Cloud Only (Paid) | None | Built-in with Latency Sim |
| Response Visualizer | Manual JS Scripts | None | Auto JSON Table & ASCII Chart |
| Protocols | Full | Partial (Plugins required) | HTTP, WS, gRPC, SSE, GraphQL |
⇄ Swipe horizontally to compare runtimes
One-click format and minify for request JSON payloads with real-time live syntax validation and byte-offset error hints directly inside the editor.
Keep collections reviewable in Pull Requests without leaking credentials. Sensitive tokens are isolated into gitignored .secret.env files, while the CLI injects secrets from CI environment variables.
Real-time status bar telemetry (⚡ N reqs | 📦 N KB | ⏱ avg N ms) and interactive modal breakdown of throughput, success rate, and latency.
Export collections into GitHub-flavored Markdown runbooks (API_RUNBOOK.md) complete with tables, auth, body blocks, assertions, and cURL snippets.
Deep collection search and batch replace across request names, URLs, headers, parameters, JSON/raw bodies, and test scripts in one keystroke.
Dedicated response tab parses all Set-Cookie headers into Name, Value, Domain, Path, Expires, Secure, and HttpOnly columns with badge count indicators.
Paste any raw curl ... command directly into the URL bar to instantly parse and populate method, URL, headers, and body into the editor.
Run collections against CSV or JSON data fixture files. Poppy auto-sizes iterations and dynamically injects row variables into {{key}} templates.
Export collections into standalone, responsive single-file HTML documentation (docs.html) with live search, method tags, and multi-language snippets.
Automatically turns JSON arrays into interactive, sortable data grids with instant row filtering and comparative ASCII bar charts.
Hover over any {{variable}} to inspect its resolved value and originating scope (Environment, Folder, Collection), with fast URL bar autocomplete.
Spin up local mock APIs on any port, simulate network latency, inspect incoming traffic, and auto-import endpoints directly from collections.
Inspect real-time text/event-stream connections with sub-millisecond timeline logging and a built-in live LLM token accumulator.
One-key runtime switching between high-contrast dark mode and clean modern light mode with synchronized syntax highlighters.
Full RFC 6455 support (ws/wss) with live frame timeline, auto-pong, and formatted JSON inspector.
Load .proto files, inspect services & methods, generate mock JSON, and call unary RPCs over HTTP/2.
Compare two response bodies side-by-side with synchronized scrolling and visual line-by-line diff highlighting.
Inspect branch status, commit, pull, and push your .bru collections with one click.
Import and use .bru files directly. Your data stays in plain text on disk.
Work across multiple requests simultaneously with pinned tabs, dirty markers, and auto-save.
Run JavaScript snippets via QJSEngine before and after requests to dynamically set variables or assert values.
Define zero-code pass/fail conditions against status, latency, headers, and nested dot-path JSON keys.
First-class GraphQL editor with schema introspection, query variables, and syntax highlighting.
AWS SigV4, OAuth 2.0 Loopback, Basic, Bearer, Digest, NTLM, and mutual TLS — all built in.
Inspect, filter, edit, and persist cross-request session cookies using Netscape cookie storage.
Every executed request is logged with status codes, latency badges, and one-click replay.
Export any request as cURL, Python, JavaScript (Fetch & Axios), Go, Rust, C#, Java, PHP, or Ruby.
Two-way import and export across Postman v2.1, Insomnia v4, OpenAPI 3.0, and HTTP Archive (.har).
Query and filter JSON responses in real-time with $.items[*].name expressions.
Navigate your entire collection instantly with a fuzzy-search command palette.
Right-click any request in collection or history to copy JS Fetch or Python scripts directly.
Hover over status badges for official RFC explanations and status semantics across all HTTP response codes.
Run your entire test suite headless in GitHub Actions, GitLab CI, or Jenkins with zero dependencies.