GraphQL
GitHubは第4世代のAPIとしてGraphQL API「GitHub GraphQL API v4」を提供している。
GitHubはその選定理由として「more flexibility for our integrators(我々のインテグレータに対する更なる柔軟性)」を挙げている。GitHubではIssueをプロジェクト管理アプリに組み込むシステムインテグレータ、CI/CDパイプラインを管理するエンジニアやライブラリ作者、レポジトリ統計を取り出す個人など、多様なAPI利用者を抱えている。その多様な要求から、全ての利用者に必要かつ十分な(オーバーフェッチもアンダーフェッチもしない)APIを提供することは困難である(無数のREST APIエンドポイント・サーバー実装は管理しきれない)。結果として一部の利用者にとっては柔軟性が足りなく感じられていた。GitHubはレスポンス種に限りがあるREST APIから利用者側がレスポンス(クエリ構造)を指定するGraphQLにAPIを変更し、上記の問題を解決した。