Skip to main content
Every v3 request is a single POST carrying a GraphQL document. Queries read data; mutations write it.

Sending an operation

The request body is JSON with a query field and optional variables and operationName:
The response mirrors the shape you asked for, under data:

Queries

Mutations

Query cost & rate limits

The API uses query-cost rate limiting: each request’s cost is estimated from the shape of the query before it runs and reserved against your account’s bucket, and every response reports the cost under extensions.cost. Requesting fewer results and fewer fields keeps cost — and latency — low. See Rate limiting for the cost model, throttleStatus, and how to handle 429 / THROTTLED responses.