A native API client built for humans and agents.

Work with HTTP, GraphQL, and WebSocket APIs. Built with Rust and GPUI. Local-first, with a CLI for automation and collections stored in files you own.

Probe desktop app in light mode, editing an API request and viewing its JSON response
Native desktop UI · macOS, Windows & Linux

Open quickly.

Restore an empty session in 265 ms, a 1,000-request collection in 296 ms, or 10,000 requests in 538 ms on our test Mac.

First frameEmpty session
179 ms
Empty session restoredReady at the restored frame
265 ms
1,000-request session restoredFirst request tab restored
296 ms
10,000-request session restoredFirst request tab restored
538 ms

*Median of 30 launches after 3 warmups. Release build on Apple M4, 16 GB RAM, macOS 26.7.1; warm OS caches. Rounded to the nearest millisecond. Results vary by hardware.

View benchmark methodology

Measured on 16 October 2026 with rustc 1.97.1, using Probe revision 687a3bdd. Each launch used a temporary session and response cache. Collection scenarios used generated bundled fixtures and restored the first request tab.

Times run from process creation until the runner receives a GPUI frame marker, including executable loading and marker delivery. First frame follows the initial rendered view; session restored follows a frame with the collection, selected tab, and pending tab reveal restored. These are frame milestones, not physical display measurements. Background maintenance and all syntax highlighting need not be complete.

Launch-to-marker times in milliseconds
SessionFirst frame medianRestored medianRestored p90
Empty179.32264.87276.76
100 requests180.82278.19291.64
1,000 requests177.96295.68306.81
10,000 requests183.16538.01554.96

These repeated launches measure warm OS caches, not the first launch after reboot. Theme and display refresh rate were not recorded. Results are a local macOS reference, not a speed guarantee for every machine or platform.

Built for humans.
Ready for automation.

Build and test requests in the desktop app, then run them from the CLI. Deterministic output makes it easy to use the same collections in scripts, CI pipelines, automated tests, and AI agent workflows.

  • Shell scripts
  • CI/CD
  • Headless
  • AI agents
probe — zshlocal
$ probe request run examples/dummyjson.yml items/7/items/1 \
  --environment Development --var todoId=3 --json

Example output · headers abbreviated

{
  "request": {
    "type": "http",
    "graphql": null,
    "method": "GET",
    "url": "https://dummyjson.com/todos/:todoId"
  },
  "response": {
    "body": {
      "content": "{\"id\":3,\"todo\":\"Watch a classic movie\",\"completed\":true,\"userId\":68}",
      "encoding": "utf8",
      "omissionReason": null,
      "omitted": false,
      "outputPath": null
    },
    "durationMs": 805,
    "headers": [
      {
        "name": "content-length",
        "value": "68"
      },
      {
        "name": "content-type",
        "value": "application/json; charset=utf-8"
      }
    ],
    "reason": "OK",
    "sizeBytes": 68,
    "status": 200,
    "url": "https://dummyjson.com/todos/3"
  },
  "schemaVersion": 1
}
list-users.ymlM
info:
  name: List users
  type: http
http:
  method: GET
  url: {{baseUrl}}/users
headers:
  - name: Authorization
    value: Bearer {{token}}
+ api/users/list-users.yml Git-ready

Your collections are just files.

No account. No cloud workspace. No telemetry. Collections stay on your filesystem, where they are easy to edit, diff, and commit to Git.

Probe stores collections using OpenCollection YAML—a human-readable format that works naturally with editors and Git.

Learn about OpenCollection

Define it once. Override only what changes.

Keep shared values in a base environment, then let development, staging, and production extend it. Each environment inherits the defaults and overrides only the values it needs.

OpenCollection’s extends feature keeps shared configuration in one place.

Probe environment manager showing Development extending Base, with inherited variables and securely stored secrets
Shared defaults · focused overrides
Probe Products folder overview showing its Description and Documentation fields
Structured documentation · stored with your collection

Docs that live with your API.

Document collections, folders, and individual requests directly in Probe. Your docs are stored in your OpenCollection files, so they stay with your requests and are versioned alongside them in Git.

  • CollectionSummary + documentation
  • FolderDescription + documentation
  • RequestDescription + documentation

Secrets stay where they belong.

Probe stores API keys, tokens, and other secrets in your operating system's native credential store, keeping them local to your machine and out of your OpenCollection files.

Probe's Set secret dialog storing an API key in the system credential store
  • macOSKeychain Services
  • WindowsCredential Manager
  • LinuxSecret Service

If secure storage isn't available, Probe won't silently fall back to storing secrets in plaintext.

Probe File menu offering import from Postman and Yaak exports
PostmanYaak

Switch clients, not workflows.

Import your Postman or Yaak exports into Probe and keep working with your existing requests.

Using another client? Tell us which importer you need and we’ll consider it next.

Request another importer

Don't just read the response. Inspect it.

Probe automatically detects JWTs and timestamps in API responses. Decode JWT headers and payloads, convert Unix timestamps in seconds or milliseconds, and trace every value back to its source path.

Probe Inspect tab decoding a JWT and listing detected response timestamps

What’s next for Probe?

HTTP, GraphQL, and WebSocket support are available today. Planned additions include gRPC streaming, custom themes, and Git integration.

  1. 01HTTP requestsAvailable now
  2. 02WebSocket supportAvailable now
  3. 03GraphQL supportAvailable now
  4. 04gRPC streaming supportPlanned
  5. 05Custom theme supportPlanned
  6. 06Git integrationPlanned
  7. 07Secret storageAvailable now
  8. 08Collection, folder, and request docsAvailable now
  9. 09Body variantsPlanned
  10. ···And moreExploring

Ready to try Probe?

Work with your APIs in the desktop app, from the terminal, or both.