Collections & requests
Multiple named collections, each with saved requests. Pick a row to load method, URL, headers, and body into the editor.
A native REST client for sending requests, organizing collections, and importing OpenAPI.
Sidebar collections, saved environments, and a focused editor.
Multiple named collections, each with saved requests. Pick a row to load method, URL, headers, and body into the editor.
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.
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.
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Custom headers, raw JSON body, response status and headers, pretty-printed JSON bodies.
Send and cancel on a worker thread so the interface stays responsive while requests run.
Material-style theme with system-aware light/dark support and optional overrides via environment variables or CLI flags.
Prebuilt packages: Linux portable AppImage, Windows installer.
APIkulture uses CMake, Slint, and optional OpenSSL for HTTPS. See the repository README for full prerequisites and platform notes.
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.