Your APIs, one hive

A native REST client for sending requests, organizing collections, and importing OpenAPI—without a browser tab farm.

Open source · Windows, Linux, macOS · Slint UI · C++17

Built for real API work

Sidebar collections, saved environments, and a focused editor—similar in spirit to Yaak or Insomnia, shipped as a small native binary.

Collections & requests

Multiple named collections, each with saved requests. Pick a row to load method, URL, headers, and body into the editor.

Environments & persistence

Per-collection environments with base URL and variables. Everything is stored as JSON under your user config directory—auto-saved on exit, with Save all when you need it.

OpenAPI 3.x import

Import JSON specs into a new collection—one request per operation. Path {id} placeholders become {{id}} for variables. Fetch from a URL or load a local file.

HTTP & HTTPS

GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Custom headers, raw JSON body, response status and headers, pretty-printed JSON bodies.

Non-blocking UI

Send and cancel on a worker thread so the interface stays responsive while requests run.

Light & dark

Material-style theme with system-aware light/dark support and optional overrides via environment variables or CLI flags.

Windows Linux macOS

Build

APIkulture uses CMake, Slint, and optional OpenSSL for HTTPS. See the repository README for full prerequisites and platform notes.

Quick start
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./apikulture

Need the Slint C++ SDK? Set SLINT_DIR to your extracted SDK, or let CMake fetch Slint (Rust toolchain required). On Linux, you may need LD_LIBRARY_PATH so libslint_cpp.so is found—details are in the Slint releases and project README.