About the GraphQL API - GitHub Docs
https://docs.github.com/en/graphql/overview/about-the-graphql-api • 125 KB fetched Open original page
About the GraphQL API - GitHub Docs Skip to main content
GitHub Docs Version: Free, Pro, & Team
Search or ask Copilot Search or ask Copilot
Select language: current language is English
Search or ask Copilot Search or ask Copilot
Open menu
Collapse sidebar Expand sidebar
Scroll breadcrumbs left
* Home
* GraphQL API
* Overview
* About the GraphQL API
Scroll breadcrumbs right
GraphQL API
*
*
* Overview
* About the GraphQL API
* Public schema
* Breaking changes
* Changelog
* 2026
* 2025
* 2024
* 2023
* 2022
* 2021
* 2020
* 2019
* 2018
* 2017
* Rate and query limits
* Reference
* Actions
* Activity
* GitHub Apps
* Branches
* Checks
* Commits
* Copilot
* Dependabot
* Dependency graph
* Deploy keys
* Deployments
* Discussions
* Enterprise administration
* Gists
* Git
* Issues
* Licenses
* Meta
* Migrations
* Organizations
* Packages
* Projects
* Projects (classic)
* Pull requests
* Reactions
* Releases
* Repositories
* Search
* Security advisories
* Sponsors
* Teams
* Users
* Other
* Guides
* Introduction to GraphQL
* Form calls with GraphQL
* Using global node IDs
* Migrate from REST to GraphQL
* Using GraphQL Clients
* Pagination
* Use GraphQL for Discussions
* Migrating global node IDs
About the GraphQL API
The GitHub GraphQL API offers flexibility and the ability to define precisely the data you want to fetch.
Copy as Markdown
In this article
* Overview
* About GraphQL
* Why GitHub is using GraphQL
* About the GraphQL schema reference
* Requesting support
Overview
Here are some quick links to get you up and running with the GraphQL API:
* Authentication
* Root endpoint
* Schema introspection
* Rate limits
* Migrating from REST
For more information about GitHub's APIs, see Comparing GitHub's REST API and GraphQL API .
About GraphQL
The GraphQL data query language is:
*
A specification . The spec determines the validity of the schema on the API server. The schema determines the validity of client calls.
*
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.
*
Hierarchical . The shape of a GraphQL call mirrors the shape of the JSON data it returns. Nested fields let you query for and receive only the data you specify in a single round trip.
*
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 GitHub is using GraphQL
GitHub chose GraphQL 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 traditional REST API endpoints. GraphQL lets you replace multiple REST requests with a single call to fetch the data you specify.
For more details about why GitHub invested in GraphQL, see the original announcement blog post .
About the GraphQL schema reference
The docs in the sidebar are generated from the GitHub GraphQL schema . All calls are validated and executed against the schema. Use these docs to find out what data you can call:
*
Allowed operations: queries and mutations.
*
Schema-defined types: scalars, objects, enums, interfaces, unions, and input objects.
For other information, such as authentication and rate limit details, check out the guides .
Requesting support
For questions, bug reports, and discussions about GitHub Apps, OAuth apps, and API development, explore the API and Webhooks category in GitHub's Community Discussions . The discussions are moderated and maintained by GitHub staff, and answered by the GitHub community.
Consider reaching out to GitHub Support directly using the contact form for:
* Guaranteed response from GitHub staff
* Support requests involving sensitive data or private concerns
* Feature requests
* Feedback about GitHub products
If you observe unexpected failures, you can use githubstatus.com or the GitHub status API to check for incidents affecting the API.
Help and support
Did you find what you needed?
Yes No
Privacy policy Help us make these docs great!
All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.
Make a contribution Learn how to contribute
Still need help?
Ask the GitHub community
Contact support
Legal
* © 2026 GitHub, Inc.
* Terms
* Privacy
* Status
* Pricing
* Expert services
* Blog
Links found on this page
- Skip to main content [direct]
- GitHub Docs [direct]
- GraphQL API [direct]
- Overview [direct]
- Public schema [direct]
- Breaking changes [direct]
- 2026 [direct]
- 2025 [direct]
- 2024 [direct]
- 2023 [direct]
- 2022 [direct]
- 2021 [direct]
- 2020 [direct]
- 2019 [direct]
- 2018 [direct]
- 2017 [direct]
- Rate and query limits [direct]
- Actions [direct]
- Activity [direct]
- GitHub Apps [direct]
- Branches [direct]
- Checks [direct]
- Commits [direct]
- Copilot [direct]
- Dependabot [direct]
- Dependency graph [direct]
- Deploy keys [direct]
- Deployments [direct]
- Discussions [direct]
- Enterprise administration [direct]
- Gists [direct]
- Git [direct]
- Issues [direct]
- Licenses [direct]
- Meta [direct]
- Migrations [direct]
- Organizations [direct]
- Packages [direct]
- Projects [direct]
- Projects (classic) [direct]
- Pull requests [direct]
- Reactions [direct]
- Releases [direct]
- Repositories [direct]
- Search [direct]
- Security advisories [direct]
- Sponsors [direct]
- Teams [direct]
- Users [direct]
- Other [direct]
- Introduction to GraphQL [direct]
- Form calls with GraphQL [direct]
- Using global node IDs [direct]
- Migrate from REST to GraphQL [direct]
- Using GraphQL Clients [direct]
- Pagination [direct]
- Use GraphQL for Discussions [direct]
- Migrating global node IDs [direct]
- Comparing GitHub's REST API and GraphQL API [direct]
- GraphQL [direct]
- specification [direct]
- announcement blog post [direct]
- guides [direct]
- API and Webhooks category in GitHub's Community Discussions [direct]
- GitHub Support [direct]
- githubstatus.com [direct]
- GitHub status API [direct]
- Privacy policy [direct]
- Make a contribution [direct]
- Learn how to contribute [direct]
- Ask the GitHub community [direct]
- Terms [direct]
- Pricing [direct]
- Expert services [direct]
- Blog [direct]
|
|