Skip to main content

About the GraphQL API

The GitHub GraphQL API offers flexibility and the ability to define precisely the data you want to fetch.

Overview

Here are some quick links to get you up and running with the GraphQL API:

For more information about GitHub's APIs, see "About GitHub's APIs."

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:

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.

Requesting support

GitHub Apps、OAuth Apps、および API 開発に関する疑問、バグ レポート、議論については、APIs and Integrations discussions on GitHub Community を調べてください。 このディスカッションは GitHub のスタッフによって進行および管理されていますが、フォーラムに投稿された質問に GitHub のスタッフが必ずしも返答するとは限りません。

次の場合は、お問い合わせフォームを使用して GitHub サポートに直接連絡することを検討してください。

  • GitHub Enterprise Serverのスタッフからの反応を確実に得たい場合
  • センシティブなデータやプライベートな懸念事項に関わるサポートリクエスト
  • 機能リクエスト
  • GitHub Enterprise Serverの製品に関するフィードバック