Reqling

A small, native Mac client for HTTP and gRPC APIs. Keep your requests in your repository, and send them yourself or through your AI agent.

The Reqling window with the Acme API project in the sidebar and its Get user request open: a GET to {{baseUrl}}/users/{{userId}} with include and trace parameters, above a 200 OK response in 86 ms whose JSON tree shows Ada Lovelace's id, name, email, roles, and team.

Projects

Requests that live with your code

A project is a folder of small JSON files, so it diffs cleanly and sits in your API's own repository. Edits from a git pull or your editor show up in the window as they land.

The files in a Reqling project
  • My API.reqling/
    • project.json
    • environments/
      • default.json
      • staging.json
    • requests/
      • users/
        • _folder.json
        • get-user.json
        • create-user.json

Requests

Build any request, then see where the time went

Raw, form, binary, and GraphQL bodies, with auth set per request or inherited from a folder. {{variables}} fill in from the active environment, and every response breaks its time down by phase.

The Create user request on its Body tab, a raw JSON body using {{name}} and {{$uuid}} variables, above the Timing tab of its 201 Created response: a waterfall from DNS lookup to download, 142 ms in total.

gRPC

Streams in both directions

Call unary and streaming methods with messages written as proto3 JSON. The schema comes from your project's protos, a descriptor set, or server reflection, and every message lands on one timeline.

The Chat gRPC request, a bidirectional stream to acme.greeter.v1.Greeter over TLS with its schema from greeter.binpb, above a timeline of two messages sent and two greetings received, ending OK in 48 ms.

MCP

Hand your agent the API

Turn on the built-in MCP server, and agents like Claude Code and Codex can write requests, pick environments, and send them while you watch the window. Secret values are write-only, so no tool ever returns one.

Adding Reqling to Claude Code
claude mcp add \
    --transport http reqling \
    http://127.0.0.1:39717/mcp \
    --header "Authorization: Bearer <token>"

Secrets stay put

Mark a variable secret, and its value lives in your Keychain, never in the project.

Mutual TLS

Client certificates matched by host, extra trusted CAs, and passphrases in your Keychain.

cURL in and out

Paste a cURL command into the URL field, or copy any request back out as one.

Find anything

Filter by name, method, URL, or service, and search any response in place.

Updates itself

Reqling checks for new versions, and verifies each download before it installs.

Native

A SwiftUI app for macOS 26, in light and dark, with no account to make.