Class 2: A Brief History of GraphQL
How did we get where we are now? Let's discover how GraphQL was created at Facebook and evolved into a mainstream API technology.
Duration: ~10 minutes | Difficulty: Beginner | Prerequisites: Class 1
Timeline Overview
TL;DR Timeline
- Pre-2012 - REST dominates
- 2012 - Facebook identifies mobile scaling issues when trying to develop a native mobile app
- 2012 to 2015 - GraphQL developed internally as SuperGraph
- 2015 - GraphQL open-sourced - spec + reference implementation
- 2016 to 2017: Ecosystem grows - Apollo, Relay, major adoptions
- 2018: GraphQL Foundation established - vendor-neutral
- 2020 to 2024: Mainstream adoption, enterprise focus, federation goes mainstream
- 2025: The September 2025 edition of the specification lands, the first since October 2021
2012: The Problem Emerges
GraphQL began in spring 2012 as an internal Facebook prototype called "SuperGraph," initially written by Nick Schrock and then developed further with Lee Byron and Dan Schafer.
At the time, Facebook was moving to mobile-first development. Migrating the original web app to native iOS ran into several problems, which co-creator Lee Byron describes in this 10-minute video, Brief History of GraphQL
Challenges Facebook faced:
- Mobile apps needed specific data for each screen
- Network performance was inconsistent
- REST endpoints returned too much or too little data
- Rapid product iteration required flexible APIs
The insight: "We need a way for clients to ask for exactly the data they need - and nothing more."
2012 to 2015: Internal Development
Between 2012 and 2015, Facebook engineers designed and refined their new API paradigm.
Design Goals
| Goal | Description |
|---|---|
| Client-driven | Clients specify what data they need |
| Strong typing | Schema defines all types and fields |
| Single endpoint | One URL for all operations |
| Predictable | Response shape matches query shape |
| Evolvable | Backward-compatible schema changes |
This internal system became GraphQL.
2015: Open Source Release
In July 2015, Facebook publicly released GraphQL.
Two artifacts were published together:
- GraphQL Specification - the formal language definition
- Reference Implementation - graphql-js in JavaScript
This dual approach of clear spec and a working implementation led to rapid ecosystem growth.
Implementations emerged for every major language:
- JavaScript (graphql-js, Apollo)
- Java (graphql-java, Spring GraphQL)
- Python (Graphene, Strawberry)
- Ruby (graphql-ruby)
- Go (gqlgen, graphql-go)
- .NET (Hot Chocolate, GraphQL.NET)
- And many more...
Note: The official website is graphql.org. The .com domain is an unrelated commercial site.
2016 to 2017: Tooling and Adoption
Following the open-source release, the ecosystem grew rapidly:
- Apollo - Client and server libraries
- Relay - Facebook's GraphQL client
- GraphiQL - Interactive query IDE
- Prisma - Database toolkit with GraphQL
Early Enterprise Adopters
| Company | Use Case |
|---|---|
| GitHub | Public API v4 |
| Shopify | Admin and Storefront APIs |
| Airbnb | Frontend data layer |
| Netflix | Studio applications |
GraphQL proved especially valuable for complex UIs and microservice architectures.
2018: GraphQL Foundation
In November 2018, the GraphQL Foundation was announced.
Purpose: "To ensure that the GraphQL community is able to focus on the continued evolution of the specification and reference implementations."
Key points:
- Vendor-neutral governance
- Founding members included Airbnb, Apollo, AWS, Coursera, Facebook, GitHub, Hasura, IBM, Prisma, Shopify, and Twitter
- Hosted by the Linux Foundation (specification work later moved under the Joint Development Foundation in March 2019)
This move from Facebook ownership to neutral governance increased enterprise confidence in GraphQL as a long-term technology choice.
2020 to Present: Mainstream Maturity
GraphQL is now a mainstream API technology. Netflix has shifted significant portions of its platform to a federated GraphQL architecture, making it the primary API approach across many of its services.
Current Focus Areas
| Area | Description |
|---|---|
| Performance | Query cost analysis, persisted queries |
| Federation | Composing multiple GraphQL services |
| Governance | Schema registries, breaking change detection |
| Observability | Tracing, metrics, error tracking |
| Security | Rate limiting, query depth limits |
| AI | Schemas as tool definitions for agents; a dedicated AI working group since October 2025 |
| Standardisation | The September 2025 specification edition, plus the composite schemas (federation) and GraphQL-over-HTTP specifications |
Summary
| Year | Milestone |
|---|---|
| 2012 | Created internally at Facebook as "SuperGraph" |
| 2015 | Open-sourced with spec + reference implementation |
| 2016 to 2017 | Ecosystem growth, early enterprise adoption |
| 2018 | GraphQL Foundation established |
| 2020 to 2024 | Mainstream technology, enterprise standard |
| 2025 | September 2025 specification edition, ten years after the first draft |
What's Next?
The next class covers Class 3: Schemas and Types, the building blocks that define every GraphQL API.