A little less UI. A lot more focus.
API work, with less
UI in the way.
A focused HTTP and GraphQL client that adapts the workspace around what you're doing — from request to response and trace.
Local-first · HTTP · GraphQL · Jaeger Tracing · Encrypted Storage
and keep your workflow focused.Explore Purr
01 / JAEGER TRACING
Follow the request
past the response.
Open the trace behind a request and see exactly where the time went.
Purr integrates with Jaeger so you can move from the response to the trace without leaving your workflow.
View trace- Request
- Response
- Trace
- Jaeger spans
- Slow service / span
02 / FOCUS MODE
The workspace follows
your attention.
- 01
Compose
The request gets the canvas.
- 02
Inspect
The response takes over.
- 03
Adjust
Expand without losing context.
03 / FIRST-CLASS GRAPHQL
GraphQL deserves more
than a JSON textbox.
Work with multiple operations, schema-aware editing, autocomplete, schema exploration, and structured variable forms without constantly switching between your query and raw JSON.
Explore GraphQL04 / HTTP WORKFLOW
HTTP without the ceremony.
Build the request, send it, and inspect what came back. Headers, auth, body, timing and response data stay close without competing for your screen.
Explore requests05 / DYNAMIC VARIABLES
Let one response
feed the next request.
Extract values from a response and reuse them anywhere else in the workspace.
No scripts just to pass an access token, ID, or generated value from one request into another.
Learn about variables- 01 / RESPONSE
assignee.idA value in the response
- 02 / EXTRACT VALUE
$.case.assignee.idSelect it with JSONPath
- 03 / DYNAMIC VARIABLE
assignee_idKeep a dynamic reference
- 04 / NEXT REQUEST
${{assignee_id}}Use it in another request
06 / JQ + JSONPATH
Query the response,
not the scrollbar.
Filter JSON responses in place with jq or JSONPath.
Keep the original response intact and inspect only the data you care about.
See filtering07 / OPENAPI 3 + CURL
Bring your API
with you.
Paste cURL or import an OpenAPI 3 specification and start working without rebuilding requests by hand.
See import optionsImport OpenAPI 3
WORKFLOWopenapi.yamlPaste cURL
WORKFLOWcurl command08 / REQUEST TIMELINE
Detailed
request insights.
See connection time, TTFB, download time, headers, redirects, TLS details, and more without leaving the response.
Open timeline09 / ENCRYPTED LOCAL STORAGE
Keep sensitive
data safe.
Responses can be encrypted before they are written to local storage, so your saved API history does not have to sit on disk as readable plaintext.
- Encrypt before saving.
- Response data passes through encryption before it is written to your local API history.
- Stored on your machine.
- Keep the responses you need in your local workspace, with encrypted storage instead of readable plaintext.
{ … }Encrypted before it reaches disk.
10 / YOUR WORKSPACE, YOUR WAY
Focused when you want it.
Split when you need it.
Use Focus Mode for a single task, or switch to horizontal and vertical splits whenever you want request and response visible together.
Scroll to compare all three layouts
Vertical Split
Horizontal Split
THE TOOLKIT
More features.
Less friction.
- HTTP
- GraphQL
- Dynamic Variables
- jq
- JSONPath
- OpenAPI 3
- cURL Import
- Jaeger Tracing
- Encrypted Storage
- Request Timeline
- Focus Mode
- Horizontal Split
- Vertical Split
- Local Workspaces
GET INTO YOUR FLOW
Try Purr.
Download it, point it at an API, and see if the workflow fits.
macOS · Local-first










