Precision
Ask for what you need, get exactly thatSend a GraphQL query to your API and get precisely the data you request — no over-fetching, no under-fetching. Predictable responses keep apps efficient and performant.
Deliver high-performance user experience at scale
Secure and stabilize your API with a strongly typed schema and validated queries
Reduce dependencies through efficient, distributed development
Facebook's mobile apps have been powered by GraphQL since 2012. A GraphQL spec was open-sourced in 2015. Now it is used by industry-leading companies worldwide and supported by the GraphQL Foundation, hosted since 2018 by the non-profit Linux Foundation.
GraphQL is an open‑source query language for APIs and a server‑side runtime. It provides a strongly‑typed schema to define relationships between data, making APIs more flexible and predictable. And it isn’t tied to a specific database or storage engine — it works with your existing code and data, making it easier to evolve APIs over time.
{
project(name: "GraphQL") {
tagline
contributors {
name
}
}
}
type Project {
name: String
tagline: String
contributors: [User]
}
{
project(name: "GraphQL") {
tagline
}
}
{
"project": {
"tagline": "A query language for APIs"
}
}
Deliver high-performing user experiences at scale. The world’s leading apps use GraphQL to create faster, more responsive digital experiences.
Protect your APIs while maintaining full visibility into data consumption. GraphQL allows you to monitor, secure, and optimize API usage while ensuring compliance.
Let your teams ship faster with GraphQL’s flexible, decoupled architecture. GraphQL allows frontend and backend teams to work independently and efficiently.
GraphQL is unapologetically built for front-end engineers, aligning with their way of thinking, how views are structured and how data is consumed.
Most product development involves the creation and manipulation of view hierarchies. GraphQL queries mirror UI structures, ensuring a natural way to request data that matches the shape of the response.
Every GraphQL service defines a type system, enabling tools to syntactically validate queries before execution and ensuring predictable responses.
A GraphQL service publishes the capabilities that its clients are allowed to consume. It is the client who control the data they receive, requesting only what they need at a field level, unlike traditional fixed endpoints.
GraphQL APIs can describe themselves, allowing tools and clients to query the schema for available types and capabilities. It serves as a powerful platform for building common tools and client software libraries.
GraphQL is an ecosystem shaped by thousands of collaborating developers and companies around the world. From solo contributors to full-time maintainers, the GraphQL community builds libraries, runs meetups, funds innovation and helps move the technology forward.
Send a GraphQL query to your API and get precisely the data you request — no over-fetching, no under-fetching. Predictable responses keep apps efficient and performant.
GraphQL seamlessly follows relationships between data, eliminating multiple API calls. While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request. Ideal for complex queries and optimizing network performance.
Know exactly what you can request without leaving editor. Highlight potential issues before sending a query and take advantage of improved code intelligence. GraphQL makes it easy to build powerful tools. And many of them, like GraphiQL, are open source and built by the GraphQL community.
GraphQL APIs are structured around types and fields, not endpoints. This ensures data consistency, self-documentation, and clear, actionable errors. Apps can use types to avoid writing manual parsing code.
Add new fields and types without impacting existing queries. Deprecate outdated fields while keeping APIs clean and future-proof. By using a single evolving version, GraphQL APIs give apps continuous access to new features and encourage more maintainable server code.
GraphQL is storage-agnostic — integrate databases, REST APIs, and third-party services into a single, cohesive data layer. Write GraphQL APIs that leverage your existing data and code with GraphQL engines available in many languages.
GraphQL fragments let you reuse common field selections across queries, making your code more maintainable and consistent.
Click onHover over the components to see their GraphQL fragments.
query GetFriendList {
...FriendList
}
fragment FriendList on Query {
friends {
...FriendListItem
}
}
fragment FriendListItem on Friend {
name
profilePic
mutualFriendsCount
isSubscribed
...FriendInfo
}
fragment FriendInfo on Friend {
username
email
location
}
GraphQL is evolving to new use cases every day and it's really a competitive advantage to experience them first hand with everyone that matters.
GraphQL is evolving to new use cases every day and it's really a competitive advantage to experience them first hand with everyone that matters.
GraphQL is evolving to new use cases every day and it's really a competitive advantage to experience them first hand with everyone that matters.
GraphQL is evolving to new use cases every day and it's really a competitive advantage to experience them first hand with everyone that matters.
GraphQL is evolving to new use cases every day and it's really a competitive advantage to experience them first hand with everyone that matters.
GraphQL is community-driven, backed by thousands of developers and companies worldwide. Become part of a network shaping the future of API development.