GraphQL Desktop Client

Read the schema.
Graft your query, branch by branch.

The desktop client built only for GraphQL. Browse your schema as living docs, graft your query one level at a time with add Query / add Child, and send it across any number of endpoints.

macOS · Windows · Linux  /  First project free, forever

Introduction

Purpose-built to remove the friction of using GraphQL in generic clients.

GraftQL is a desktop client for developers who work with GraphQL APIs every day. It pulls in your schema over HTTP introspection, parses the shape of inputs and outputs, and lets you browse it as documentation while you build queries from that same schema.

Where generic REST clients bolt GraphQL on as an afterthought, GraftQL is GraphQL-first. HTTP requests are issued from the Rust side (reqwest), so it is free of the browser's CORS limits and reaches any endpoint directly. Environments are orthogonal in the Postman sense, so one query works across every endpoint.

The name is the interaction model itself. Graft = grow a query by splicing on branches with add Query / add Child — a "grow a tree" metaphor that runs through both the UI and the name.

01

Pull in the schema

Register an endpoint and introspection fetches the type catalog, expanded as documentation in the right pane.

02

Insert a root with add Query

From the schema's Query / Mutation fields, insert the root branch of your query.

03

Grow branches with + child

Expand one level at a time on object-typed branches. Graft recursively until the query has the shape you need.

04

Pick an environment and send

Compose "query × selected environment", send it CORS-free, and inspect the response as JSON tree / raw / headers.

Features

From schema to send — every tool made for GraphQL.

Everything here ships today. The staged builder, the orthogonal environment model, and CORS-free sending are the core.

01

Schema as documentation

The introspected schema is parsed and browsable as a tree — types, arguments and descriptions — always at hand while you build.

introspection
02

Graft-style query builder

Insert a root with add Query, expand one level with + child. The ▼ lets you choose "leaf scalars only / all" just for that step.

add Query · add Child
03

Switch across endpoints

Environments are orthogonal "connection profiles" (the Postman way). Queries stay environment-free; only the target changes between dev / stg / prod.

orthogonal envs
04

Auth with method and secret split

The auth "method" (None / Bearer / Basic) is kept separate from the "secret". Tokens and passwords stay local to the environment and never travel in shares or exports.

auth: type · secret
05

CORS-free HTTP sending

HTTP is always issued from Rust (reqwest), free of browser CORS. Inspect responses across JSON tree / raw / headers, with status and timing.

Rust · reqwest
06

SQLite schema cache

The introspected schema is cached in local SQLite, keyed by endpoint URL. Instant on next launch; refresh only via the manual "⟳ re-fetch".

local-first

Pricing

One project, free forever. Add a slot only when you grow.

When you add a project and have no free slot, you buy an extra slot. The price per slot steps down as you add more.

¥0 First project
free forever

From the 2nd project on, buy "extra slots" as a monthly subscription. The price steps down: 2nd ¥250 → 3rd ¥240 → 4th ¥220 → 5th and beyond ¥200 each.

Cancel anytime — your data stays. If you stop paying while running several projects, all data is kept, but only the first-slot project remains usable.
Cumulative monthly price (tax display coming soon)
Projects Per-slot price Total / mo
1 Free ¥0
2¥250¥250
3¥240¥490
4¥220¥710
5¥200¥910
6+¥200 / slot+¥200

Get GraftQL

Start growing your queries, branch by branch.

Download and start your first project free. Noticed something? Tell us on GitHub anytime.