Here are some quick links to get you up and running with the GraphQL API:
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.
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.
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:
You can access this same content via the Explorer Docs sidebar. Note that you may need to rely on both the docs and the schema validation to successfully call the GraphQL API.
For other information, such as authentication and rate limit details, check out the guides.
For questions, bug reports, and discussions about GitHub Apps, OAuth Apps, and API development, explore the GitHub API Development and Support Forum. The forum is moderated and maintained by GitHub staff, but questions posted to the forum are not guaranteed to receive a reply from GitHub staff.
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