Guide · Open source
How to use Yaak: send REST, GraphQL and gRPC requests
Updated · written with AI from the project's own documentation and checked against our catalogue data
Yaak is a desktop application for testing and working with APIs, the way web and mobile software talks to servers. This guide shows you how to download it, build requests across several protocols, organize them into workspaces and folders, and keep the files in Git if you want. You will also see what Yaak does not do, such as cloud sync, so you can decide whether it fits your work.
Quick start
- 1Download the app. Get the Yaak build for your operating system from yaak.app/download.
- 2Import your collections. Bring in existing requests from Postman, Insomnia, OpenAPI, Swagger or Curl if you have them.
- 3Create a workspace. Set up a workspace for your project and add nested folders to group requests.
- 4Add environments. Define variables for dev, staging and prod so you can switch targets without editing each request.
- 5Send a request. Pick REST, GraphQL, gRPC, WebSocket or SSE, enter the endpoint, and send it.
- 6Store secrets. Put sensitive values in encrypted secrets, which the README says can live in your OS keychain.
- 7Mirror to Git. Mirror the workspace to your filesystem so you can version it in Git.
Download and install Yaak
Yaak is installed as a desktop app. Download the version for macOS, Windows or Linux from yaak.app/download. The project's README links to its installation docs for package managers and other install methods.
The README lists no prerequisites for installing.
Download from https://yaak.app/downloadImport an existing collection
If you already have requests in another tool, you can import them rather than rebuilding them by hand. Yaak supports importing collections from Postman, Insomnia, OpenAPI, Swagger and Curl.
- Postman
- Insomnia
- OpenAPI
- Swagger
- Curl
Send requests over REST, GraphQL, gRPC, WebSocket or SSE
Yaak lets you build and send requests over five protocols in the same app: REST, GraphQL, gRPC, WebSocket and Server-Sent Events. Choose the protocol that matches the server you are testing and enter the endpoint and request details.
You can filter and inspect responses with JSONPath or XPath, which helps when a response is large and you only need one field.
- REST
- GraphQL
- gRPC
- WebSocket
- Server-Sent Events (SSE)
Organize requests in workspaces, folders and environments
Group related requests into workspaces and nested folders. Use environment variables to switch between dev, staging and prod without editing every request.
To keep your collections under version control, you can mirror a workspace to your filesystem. The README says this lets you version workspaces in Git or sync them with Dropbox.
- Create a workspace for each project or API.
- Use nested folders to group requests by feature or endpoint.
- Define environment variables for dev, staging and prod.
- Mirror workspaces to disk to commit them to Git.
Handle authentication and secrets safely
Yaak supports OAuth 2.0, JWT, Basic Auth and custom plugins for authentication. Sensitive values can be encrypted, and the README says secrets can be stored in your OS keychain instead of a cloud account.
Yaak also supports dynamic template tags such as UUIDs or timestamps, so you can generate values inside requests instead of pasting them in.
- OAuth 2.0
- JWT
- Basic Auth
- Custom plugins
- Encrypted secrets stored in the OS keychain
- Template tags such as UUIDs and timestamps
Customize Yaak with themes and plugins
You can pick a built-in theme or build your own. Plugins can extend authentication, template tags or the user interface.
Community pull requests to the project are currently limited to bug fixes, according to the README. Check CONTRIBUTING.md before you send code changes.
What people use it for
- Testing a REST API during development and saving the requests in a folder structure.
- Comparing dev, staging and prod endpoints using environment variables.
- Exploring a GraphQL endpoint or a gRPC service from the same app.
- Checking a WebSocket or Server-Sent Events stream while building a feature.
- Moving an existing Postman or Insomnia collection into Yaak.
Frequently asked questions
Is Yaak free?
The source code is MIT licensed and can be built and run for free for personal and commercial use. The prebuilt binaries are free for personal use, but commercial use requires a license under Yaak's pricing terms.
What operating systems does Yaak support?
The README says you can download Yaak for macOS, Windows or Linux from yaak.app/download.
Does Yaak need any prerequisites to install?
The source lists no prerequisites. You download the app for your platform and install it.
Does Yaak sync to the cloud?
The README emphasizes offline use and filesystem mirroring, with no telemetry and no cloud lock-in. It does not describe cloud sync or real-time team collaboration, so teams needing those features should look elsewhere.
Can I import my Postman or Insomnia collections?
Yes. The README says you can import collections from Postman, Insomnia, OpenAPI, Swagger or Curl.
How does Yaak compare to Bruno, Insomnia or Postman?
The README links comparison pages for Yaak vs Postman, Yaak vs Bruno and Yaak vs Insomnia on yaak.app. Yaak's README highlights offline-first use, filesystem mirroring for Git and keeping secrets in the OS keychain.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Yaak suits developers who want one desktop client for REST, GraphQL, gRPC, WebSocket and SSE, with collections stored as files they can version in Git. Skip it if you need cloud sync, real-time team collaboration, or a free commercial license, or if you are new to APIs.
Install options & downloads