GraphQL | A Query Language For Your API
Maybe your like
- Learn
- Resource Hub
- Community
- Blog
- GraphQLConf 2025
- GraphQL.JS Tutorial
Typesafe schemas, secure requests
Frictionless distributed development
Data driven UI at scale
GraphQL is open source and trusted by the industry
Facebook's mobile apps have been powered by GraphQL since 2012. The GraphQL specification 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.
More GraphQL usersIntroductionWhat is GraphQL?
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.
query getCity($city: String) { cities(name: $city) { population weather { temperature precipitation } } }{ "data": { "cities": [ { "population": 8675309, "weather": { "temperature": 22.5, "precipitation": 1.2 } } ] } }Learn GraphQLHow it worksA GraphQL Query
- Describe your datatype Project { name: String! tagline: String contributors(first: Int, after: ID): [User!]! }
- Ask for what you wantRun query{ project(name: "GraphQL") { tagline } }
- Get predictable results{ "project": { "tagline": "A query language for APIs" } }
Press CtrlSpace to open the completions menu, ⌘CtrlEnter to run the query.
Try GraphiQLBusiness perspectiveA proven solution for startups and enterprises
The best user experience
Deliver high-performing user experiences at scale. The world’s leading apps use GraphQL to create faster, more responsive digital experiences.
- Faster data retrieval and load times
- Improved bandwith efficiency
Stability & Security
Protect your APIs while maintaining full visibility into data consumption. GraphQL allows you to monitor, secure, and optimize API usage while ensuring compliance.
- Stronger access control
- Improved business intelligence & cost analysis
Efficient distributed development
Let your teams ship faster with GraphQL’s flexible, decoupled architecture. GraphQL allows frontend and backend teams to work independently and efficiently.
- More rapid iterations
- Improved cross-team collaboration
Five Pillars of GraphQL
Product-centric
GraphQL is unapologetically built for front-end engineers, aligning with their way of thinking, how views are structured and how data is consumed.
Hierarchical
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.
Strong-typing
Every GraphQL service defines a type system, enabling tools to syntactically validate queries before execution and ensuring predictable responses.
Client-specified response
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.
Self-documenting
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.
Powered by the community
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.
Browse librariesExplore events & meetupsLearn about the GraphQL FoundationGraphQL advantagesPrecision
Ask for what you need, get exactly thatQuery{ hero { nameheightmass } }Response{ "hero": { "name": "Luke Skywalker", "height": 1.72, "mass": 77 } }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.
Learn GraphQLOptimization
Retrieve multiple resources in one requestGraphQL 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.
Read the docsProductivity
Move faster with powerful, community-built toolsKnow 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.
Explore GraphQL toolsConsistency
Build confidently with a type-safe schemaQuery{ hero { name friends { name homeWorld { name climate } species { name lifespan origin { name } } } } }Schematype Query { hero: Character } type Character { name: String friends: [Character] homeWorld: Planet species: Species } type Planet { name: String climate: String } type Species { name: String lifespan: Int origin: Planet }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.
Learn more about GraphQL schemasVersionless
Evolve without versionstype Film { title: String episode: Int releaseDate: String }type Film { title: String episode: Int releaseDate: String openingCrawl: String }type Film { title: String episode: Int releaseDate: String openingCrawl: String director: String }type Film { title: String episode: Int releaseDate: String openingCrawl: String director: String directedBy: Person } type Person { name: String directed: [Film] actedIn: [Film] }type Film { title: String episode: Int releaseDate: String openingCrawl: String director: String @deprecated directedBy: Person } type Person { name: String directed: [Film] actedIn: [Film] }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.
See more in docsIntegration
Bring your own data and codeGRAPHQLC SHARPNODE.JSPYTHONRUSTPOSTGRESJAVASCRIPTC SHARPNODE.JSPYTHONRUSTPOSTGRESJAVASCRIPTGraphQL 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.
Learn more about thisServer<FriendList><FriendListItem><FriendInfo/>Click onHover over the components to see their GraphQL fragments.
Friends
Trudie120 mutual [email protected] York, USA
Frances42 mutual [email protected], Spain
Fernando114 mutual friendsusernamefern_whirlwindemailfernando@mail.comlocationAmsterdam, Netherlands
Is GraphQL right for me?
Choose a use case most relevant for your project and learn how GraphQL can help you build faster, modern solutions.
A large backend with many servicesA mobile appA frontend-heavy app with advanced UI needsAn app with real-time updatesA simple full stack TypeScript appAn AI-powered appA large backend with many servicesA large backend with many services
GraphQL serves as a unified data layer across multiple services. This way you simplify API management and reduce dependencies between teams. It enables efficient data fetching while keeping the API surface flexible and maintainable.
Best Practices for Large-Scale SystemsA mobile appA mobile app
GraphQL lets you request exactly what you need in one call with no overfetching to preserve battery and work on slow networks. With a persistent normalized cache, your app can work offline on planes and trains, and versionless schema evolution makes it easy to iterate without breaking old versions of the app.
Performance OptimizationA frontend-heavy app with advanced UI needsA frontend-heavy app with advanced UI needs
GraphQL makes building complex UIs easier by allowing components to declare their data needs directly alongside their code with no performance hit. You can aggregate data from multiple services into a single request and maintain consistent state without creating custom endpoints for every view.
GraphQL QueriesAn app with real-time updatesAn app with real-time updates
Replace polling and complex WebSocket management with GraphQL subscriptions. Your app gets notified instantly when data changes, using the same queries and types you already have. Real-time becomes part of your API instead of a separate system to maintain.
Real-time with SubscriptionsA simple full stack TypeScript appA simple full stack TypeScript app
Define your GraphQL schema once and GraphQL Codegen does the rest. Your frontend gets perfectly typed API calls, your backend stays in sync, and any schema changes immediately show up as TypeScript errors throughout your app. Full-stack type safety reduces bugs and makes pivots and refactors easier.
Schema-First DevelopmentAn AI-powered appAn AI-powered app
GraphQL’s self-describing schemas, strong typing, and composability make it perfect for Model Context Protocol servers and applications with LLMs at their cores. Models can explore your API capabilities, understand data relationships, and dynamically interact with your system.
GraphQL & AIQuotes from the industryLoved by world‑class devs
GraphQL gives us enterprise performance with start-up agility: streamlined queries, lean payloads, live updates, and lightning-fast responses help our customers focus on building their applications, not building around them.
Matteo CollinaPlatformatic, Co-Founder & CTO
Matteo CollinaPlatformatic, Co-Founder & CTOGraphQL is the best developer tool for creating and managing performant APIs at scale, both for producers and consumers. It can query any source and expose anything back, including real time data. It gives understanding of your API usage that no other spec can provide.
Uri GoldshteinThe Guild, Founder & CEOThe rich ecosystem of powerful tooling enables companies to deliver delightful long-lived APIs rapidly without sacrificing performance or scalability. From solo devs to huge organizations, GraphQL has proven itself time and time again as the right API for mobile and web apps.
Benjie GillamGraphile, DirectorJoin the community
GraphQL is community-driven, backed by thousands of developers and companies worldwide. Become part of a network shaping the future of API development.
DiscordExplore community resourcesTag » Code 77 Facebook
-
Code77 - Facebook
-
Code 77 - Home - Facebook
-
How To Set Up And Install A Facebook Pixel | Meta Business Help ...
-
Code: 77 - Nafita Baby World - Facebook
-
Facebook - Wikipedia
-
History Of Facebook - Wikipedia
-
ᐅ Horaires D'ouverture „Code 77 Store“ - Horairesdouverture24
-
Social Media Fact Sheet - Pew Research Center
-
Code 77 - Magasin Femme Et Homme Estancarbon (31800)
-
Australia Plans Law Forcing Google, Facebook To Share Ad Revenue ...
-
Mining The Social Web: Data Mining Facebook, Twitter, LinkedIn ...