For an interactive HTTP client for the terminal, the first results are darrenburns/posting, migueldeicaza/gui.cs (This is a ) and whoshuu/cpr (cpr is a C++ HTTP client library that wraps libcurl for programmatic request handling, but it is not an interactive terminal tool — it provides no textual user interface or interactive request editing and response inspection). jakubroztocil/httpie and forwardemail/superagent round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Command-line tools for testing and debugging web APIs with interactive interfaces and request management features.
Posting is a terminal-based HTTP request manager designed for developing, testing, and documenting API endpoints. It functions as a keyboard-driven interface that allows users to execute requests, manage collections, and inspect server responses directly within the command line environment. By storing request configurations as plain text files on the local filesystem, the tool ensures that API definitions remain compatible with standard version control systems. The project distinguishes itself by treating API collections as version-controlled assets, enabling users to migrate existing workflo
Posting is a terminal-based interactive HTTP request manager built with Textual, offering a keyboard-driven TUI for composing requests, managing collections via version-controlled plain-text files, and inspecting responses — covering the core capabilities of a Postman-like CLI client and many of the requested features including scripting hooks and authentication support.
gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based applications. It provides a structured system for composing terminal views using a view hierarchy and a dedicated layout engine. The library distinguishes itself through a component-based widget system and a constraint-based layout engine that allows interfaces to remain responsive across different terminal window dimensions. It employs a virtual-screen buffer to minimize flickering during redraws and uses state-driven theme configurations to maintain persistent visual styles.
This is a .NET terminal UI toolkit for building interactive text applications, not an HTTP client itself—it's a framework you could use to create such a client, but it does not provide request-making or response-inspection capabilities out of the box.
cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads. The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management. The project covers
cpr is a C++ HTTP client library that wraps libcurl for programmatic request handling, but it is not an interactive terminal tool — it provides no textual user interface or interactive request editing and response inspection.
HTTPie is a command-line HTTP client and REST API debugger used for sending requests to web services. It functions as a network tool for managing headers, authentication sessions, and file uploads, with a specific focus on the transmission and reception of JSON data. The tool utilizes a custom parsing layer to translate simplified command-line input into structured HTTP parameters. It provides ANSI-based terminal formatting to apply color and structural indentation to raw responses, improving human readability for web debugging. The project covers request construction and previewing, multipa
HTTPie is a command-line HTTP client with formatted output and authentication support, but it lacks an interactive terminal interface (TUI) — it processes one request per invocation rather than providing a persistent interactive session like a Postman-in-terminal.
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
Superagent is an HTTP client library for writing request code in Node.js or the browser, not an interactive terminal application with a TUI — you would need to build that interface around it to match the search.
HTTPie is a command-line HTTP client designed for sending requests to web services and APIs. It functions as a terminal-based web client and JSON API interface, allowing users to interact with RESTful services and download remote files directly from the console. The tool simplifies the interaction with APIs through a custom syntax for argument parsing and automatic JSON payload serialization. It includes a request debugger to verify the structure of a request before transmission and uses ANSI-based formatting to display server responses with color and indentation for improved readability. Th
httpie is a command-line HTTP client that excels at request sending and response formatting, but it lacks the persistent interactive TUI (text user interface) you're looking for—it works as a single-command tool rather than a live, in-terminal interactive client like Postman in the terminal.
Rich is a Python terminal formatting library and user interface framework. It provides tools for rendering rich text, colors, and complex layouts within a terminal environment, including specialized formatters for markdown and source code syntax highlighting. The library distinguishes itself through high-level UI components such as tables with unicode borders, hierarchical tree views for nested data structures, and a system for building structured terminal user interfaces. It also includes a debugging visualizer for pretty-printing complex data and formatting error tracebacks. The capability
Rich is a terminal formatting and TUI framework for building rich text interfaces, not an interactive HTTP request tool — it provides the building blocks for a TUI but does not make or debug HTTP requests itself, so it is not the kind of drop-in Postman-like client this search is after.
Ink is a declarative framework for building interactive command-line applications using a component-based architecture. It functions as a console renderer that maps component trees to terminal output buffers, allowing developers to manage stateful interfaces through standard component reconciliation. By translating high-level layout and style properties into terminal control codes, it enables the creation of responsive, dynamic interfaces within the console. The framework distinguishes itself by integrating a cross-platform layout engine that applies a flexible box model to the character-base
Ink is a framework for building interactive command-line applications with React-like components, but it does not handle HTTP requests or debugging—you would use it to build such a tool, not as the tool itself.
This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr
cpp-httplib is a header-only C++ library for building HTTP clients and servers, not an interactive terminal tool for making and debugging HTTP requests like Postman.
Bruno is a local-first API client designed for building, testing, and managing network requests across a wide range of protocols. By storing all collections and configurations as plain-text files directly on the local filesystem, it enables native version control and offline access, ensuring that project data remains under user control without requiring cloud synchronization. The platform distinguishes itself through a declarative approach to API management, utilizing a domain-specific language to define request parameters and metadata. This architecture supports a robust testing environment
Bruno is a local-first desktop GUI API client similar to Postman, not a terminal-based interactive tool, so it doesn't match the request for a command-line TUI client.
Curl is a command-line tool and portable library for transferring data across a wide range of network protocols. It functions as a unified engine that abstracts diverse communication standards, allowing users and developers to move files and information between servers using a consistent interface. The project provides both a versatile command-line client for terminal-based automation and a stable programmatic interface for integrating complex network operations into applications. The system is distinguished by its protocol-agnostic core and its ability to manage both synchronous and asynchro
curl is a versatile command-line HTTP client for single-shot requests and scripting, but lacks the interactive TUI session with persistent request editing and debugging that this search requires.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
Rich is a library for building terminal interfaces with rich formatting, not an interactive HTTP client — it provides the rendering layer but lacks any HTTP request handling or debugging features itself.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| darrenburns/posting | 12K | Python | Apache-2.0 | |
| migueldeicaza/gui.cs | 11.1K | C# | MIT | |
| whoshuu/cpr |
| 7.4K |
| C++ |
| NOASSERTION |
| jakubroztocil/httpie | 38.2K | Python | BSD-3-Clause |
| forwardemail/superagent | 16.6K | JavaScript | MIT |
| httpie/httpie | 38.2K | Python | BSD-3-Clause |
| willmcgugan/rich | 56.6K | Python | MIT |
| vadimdemedes/ink | 38.9K | TypeScript | MIT |
| yhirose/cpp-httplib | 16.6K | C++ | MIT |
| usebruno/bruno | 44.9K | JavaScript | MIT |