Get started with GitHub's GraphQL API here.
For schema information, check out the reference docs.
For tutorials about using the GraphQL API v4, explore the guides.
For support requests, bug reports, and discussions, use the GitHub Platform Forum. The forum allows you to collaborate with other integrators as well as engineers and product managers from GitHub. If you need to discuss a private concern, please contact support directly.
What is GraphQL?
The GraphQL data query language is:
Strongly typed. The schema defines an API's type system and all object relationships.
Introspective. A client can query the schema for details about the schema.
An application layer. GraphQL is not a storage model or a database query language. The graph refers to graph structures defined in the schema, where nodes define objects and edges define relationships between objects. The API traverses and returns application data based on the schema definitions, independent of how the data is stored.
Why is GitHub using GraphQL?
GitHub chose GraphQL for our API v4 because it offers significantly more flexibility for our integrators. The ability to define precisely the data you want—and only the data you want—is a powerful advantage over the REST API v3 endpoints. GraphQL lets you replace multiple REST requests with a single call to fetch the data you specify.
For more details about why GitHub has moved to GraphQL, see the original announcement blog post.