Back to glossary

GraphQL

A query language and runtime for APIs that lets clients request exactly the data they need in a single request, reducing over-fetching and under-fetching compared to REST.

GraphQL provides a strongly typed schema that defines all available data and operations. Clients write queries specifying the exact fields they need, and the server returns precisely that shape of data. Instead of calling multiple REST endpoints and filtering unused fields, a single GraphQL query can fetch nested, related data in one round trip.

The key benefits include reduced network overhead (no over-fetching), fewer API calls (no under-fetching requiring multiple requests), self-documenting APIs (the schema is the documentation), and strong typing (client and server agree on data shapes at build time). Tools like Apollo Client and Relay add caching, optimistic updates, and pagination handling.

For growth engineering, GraphQL shines in frontend-heavy applications where different views need different slices of the same data. A dashboard page, a mobile app, and an email template can each query exactly the fields they need from the same API. However, GraphQL adds complexity around caching, rate limiting, and query cost analysis that teams should evaluate against their needs.

Related Terms