Curated list of awesome lists
awesome-graphql 
Awesome list of GraphQL & Relay
If you want to contribute to this list (please do), send me a pull request.
Table of Contents
Specification
-
facebook/graphql - Working Draft of the Specification for GraphQL created by Facebook.
Foundation
-
Slack - Share and help people on the chat. Get your invite here
-
Discord - Join #graphql on the ReactiFlux Discord server
-
Facebook - Group for discussions, articles and knowledge sharing
-
Twitter - Use the hashtag #graphql
-
StackOverflow - Questions and answers. Use the tag graphql
-
GraphQL APIs - A collective list of public GraphQL APIs
-
GraphQL World - The fastest growing community of GraphQL developers
-
/r/GraphQL - A Subreddit for interesting and informative GraphQL content and discussions.
-
GraphQL Jobs - A list of GraphQL-based jobs in startups all over the world.
-
Bookmarks.dev - Dev bookmarks. Use the tag graphql
GraphQL Meetups
Libraries
JavaScript Libraries
Clients
-
relay - Relay is a JavaScript framework for building data-driven React applications.
-
Apollo Client - A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
-
aws-amplify - A client library developed by Amazon for caching, analytics and more that includes a way to fetch GraphQL queries.
-
graphql-hooks - Minimal hooks-first GraphQL client with caching and server-side rendering support.
-
graphql-request - A minimal GraphQL client for Node and browsers.
-
FetchQL - A simple GraphQL query client using Fetch.
-
urql - A simple caching GraphQL client for React.
-
micro-graphql-react - A lightweight utility for adding GraphQL to React. components. Includes simple caching and uses GET requests that could additionally be cached through a service-worker.
-
Lokka - Simple JavaScript client for GraphQL, which you can use anywhere.
-
react-reach - A library to communicate with Graphql through Redux.
-
Grafoo - A tiny yet fully fledged cache based GraphQL client
-
mst-gql - Bindings for mobx-state-tree and GraphQL
-
graphql-pino-middleware - GraphQL middleware to augment resolvers with pino logger
-
graphql-lightstep-middleware - GraphQL middleware to instrument resolvers with
lightstep
traces
HTTP Server Bindings
Database & ORM
-
graphql-bookshelf - Some help defining GraphQL schema around BookshelfJS models.
-
graphql-sequelize - Sequelize helpers for GraphQL.
-
graphql-thinky - Build an optimized GraphQL schema from Thinky RethinkDB models.
-
graphql-tools-sequelize - OO-style schema definition functions and schema resolver functions for GraphQL-Tools using Sequelize ORM
-
graysql-orm-loader - A GraysQL extension to load a GraphQL schema from an ORM.
-
fireQL - A GraphQL API for Firebase (Firestore database), auto-hosted on cloud functions.
Miscellaneous
-
GraphQL.js - A reference implementation of GraphQL for JavaScript.
-
graphql-yoga - Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.
-
codemirror-graphql - GraphQL mode and helpers for CodeMirror.
-
graphql-schema - Create GraphQL schemas with a fluent/chainable interface.
-
graphql-tools-types - Custom GraphQL types for use with GraphQL-Tools (Void, Int, Float, String, Date, UUID, JSON)
-
graphql-normalizr - Normalize GraphQL responses for persisting in the client cache/state
-
babel-plugin-graphql - Babel plugin that compile GraphQL tagged template strings.
-
adrenaline - React bindings for Redux with Relay in mind.
-
graph.ql - Faster and simpler technique for creating and querying GraphQL schemas.
-
Strapi - Open-source Node.js framework that supports "GraphQL" out of the box.
-
GraysQL - A GraphQL manager and loader.
-
Annotated GraphQL - Proof of Concept for annotations in GraphQL (i.e.: transform an existing REST api into a GraphQL endpoint).
-
graphql-tools - Tool library for building and maintaining GraphQL-JS servers.
-
graphql-anywhere - Run a GraphQL query anywhere, against any data, with no schema.
-
graphql-tag - A JavaScript template literal tag that parses GraphQL queries.
-
modelizr - A library for simplifying the process of writing GraphQL queries, mocking them and normalizing their responses.
-
vue-apollo - Vue integration for apollo.
-
graphql-pouch - A GraphQL-API runtime on top of PouchDB created by GraphQL shorthand notation as a self contained service with CouchDB synchronization.
-
gql-tools - Tool library with CLI for schema generation and manipulation.
-
graphql-iso-date - A GraphQL date scalar type to be used with GraphQL.js. This scalar represents a date in the ISO 8601 format YYYY-MM-DD.
-
graphql-compose - Tool which allows you to construct flexible graphql schema from different data sources via plugins.
-
node-graphjoiner - Create GraphQL APIs using joins, SQL or otherwise.
-
Join Monster - A GraphQL-to-SQL query execution layer for batch data fetching.
-
graphql-factory - Create GraphQL types from JSON definitions
-
type-o-rama - JS type systems interportability.
-
GraphiteJS - Framework NodeJS for GraphQl.
-
GraphQL Joker - The ultimate GraphQL scaffolding tool.
-
reactive-graphql - Implementation of GraphQL based on RxJS and that supports live queries.
-
Preact-urql - Preact integration for urql.
-
graphql-let - A webpack loader to import type-protected codegen results directly from GraphQL documents
Relay Related
-
graphql-relay-js - A library to help construct a graphql-js server supporting react-relay.
-
sequelize-relay - Serverside library that connects sequelize and graphql-relay-js together.
-
babel-relay-plugin - Babel Relay Plugin for transpiling GraphQL queries for use with Relay.
-
react-router-relay - Relay integration for React Router.
-
relay-local-schema - Use Relay without a GraphQL server.
-
relay-sink - Use Relay to fetch and store data outside of a React component.
-
recompose-relay - Recompose helpers for Relay.
-
Graylay - A GraysQL extension to create a Relay compatible Schema.
-
react-relay-network-layer - A network layer for Relay with query batching and middleware support (urlThunk, retryThunk, auth, defer and other).
-
relay-subscriptions - Subscription support for Relay.
-
Portfolio Relay Example - An example website that fetches data from various apis and uses Relay and GraphQL to feed the data to React components!
TypeScript Libraries
-
GraphQL Nexus - Declarative, code-first and strongly typed GraphQL schema construction for TypeScript & JavaScript.
Ruby Libraries
-
graphql-ruby - Ruby implementation of Facebook's GraphQL.
-
graphql-client - A Ruby library for declaring, composing and executing GraphQL queries.
-
graphql-batch - A query batching executor for the graphql gem.
-
agoo - Ruby web server that implements Facebook's GraphQL.
-
GQLi - A GraphQL client and DSL. Allowing to write queries in native Ruby.
PHP Libraries
-
graphql-php - A PHP port of GraphQL reference implementation.
-
Railt - High quality and loosely coupled framework for developing GraphQL applications using all the modern qualities of the language.
-
digiaonline - Yet another PHP port of GraphQL reference implementation.
-
GraphQL (abandoned) - Well documented PHP implementation with no dependencies.
-
graphql-relay-php - Relay helpers for webonyx/graphql-php implementation of GraphQL.
-
lighthouse - A PHP package that allows to serve a GraphQL endpoint from your Laravel application.
-
laravel-graphql (abandoned) - Facebook GraphQL for Laravel 5.
-
laravel-graphql-relay - A Laravel library to help construct a server supporting react-relay.
-
graphql-mapper (abandoned) - This library allows to build a GraphQL schema based on your model.
-
graphql-bundle - GraphQL Bundle for Symfony 2.
-
overblog/graphql-bundle - This bundle provides tools to build a complete GraphQL server in your Symfony App. Supports react-relay.
-
GraphQL Symfony Bundle - GraphQL Bundle for the Symfony 3 (supports 2.6+).
-
graphql-wp - WordPress plugin that exposes a GraphQL endpoint.
-
eZ Platform GraphQL Bundle - GraphQL Bundle for the eZ Platform Symfony CMS.
-
GraphQL Middleware - GraphQL Psr7 Middleware
-
Zend Expressive GraphiQL Extension - GraphiQL extension for zend expressive
-
GraphQLite - Framework agnostic library that allows you to write GraphQL server by annotating your PHP classes.
-
Siler - Plain-old functions providing a declarative API for GraphQL servers with Subscriptions support.
Python Libraries
Java Libraries
Kotlin Libraries
C/C++ Libraries
-
libgraphqlparser - A GraphQL query parser in C++ with C and C++ APIs.
-
cppgraphqlgen - C++ GraphQL schema service generator.
-
CaffQL - Generates C++ client types and request/response serialization from a GraphQL introspection query.
Go Libraries
-
graphql - An implementation of GraphQL for Go follows graphql-js
-
graphql-go - GraphQL server with a focus on ease of use.
-
GQLGen - Go generate based graphql server library.
-
machinebox/graphql - Simple low-level GraphQL client for Go
-
graphql-relay-go - A Go/Golang library to help construct a server supporting react-relay.
-
graphql - GraphQL parser and server for Go.
-
c-graphqlparser - Go-gettable version of the libgraphqlparser C library for parsing GraphQL.
-
tallstreet-graphql - GraphQL parser and server for Go that leverages libgraphqlparser
-
go-graphql - A powerful GraphQL server implementation for Golang
-
Super Graph: Fetch data without code! Super Graph gives you a high performance GraphQL API without you having to write any code. GraphQL is automagically compiled into an efficient SQL query. Use it either as a library or a standalone service.
Scala Libraries
-
sangria - Scala GraphQL server implementation.
-
sangria-relay - Sangria Relay Support.
-
graphql-scala - An attempt to get GraphQL going with Scala.
-
caliban - Caliban is a purely functional library for creating GraphQL backends in Scala.
.NET Libraries
Elixir Libraries
Haskell Libraries
SQL Libraries
-
GraphpostgresQL - GraphQL for Postgres.
-
sql-to-graphql - Generate a GraphQL API based on your SQL database structure.
-
PostGraphile - Lightning-fast GraphQL APIs for PostgreSQL: highly customisable; extensible via plugins; realtime.
-
Hasura - Hasura gives Instant Realtime GraphQL APIs over PostgreSQL. Works with an existing database too.
-
subZero - GraphQL & REST API for your database
Lua Libraries
Elm Libraries
Clojure Libraries
-
graphql-clj - A Clojure library designed to provide GraphQL implementation.
-
Lacinia - GraphQL implementation in pure Clojure.
-
graphql-query - Clojure(Script) GraphQL query generation.
Swift Libraries
-
GraphQL - The Swift implementation for GraphQL.
OCaml Libraries
Android Libraries
-
apollo-android - 📟 A strongly-typed, caching GraphQL client for Android, written in Java
iOS Libraries
-
apollo-ios - 📱 A strongly-typed, caching GraphQL client for iOS, written in Swift
-
ApolloDeveloperKit - Apollo Client Devtools bridge for [Apollo iOS].
ClojureScript Libraries
-
re-graph - A GraphQL client for ClojureScript with bindings for re-frame applications.
-
graphql-query - Clojure(Script) GraphQL query generation.
ReasonML Libraries
-
reason-apollo - ReasonML binding for Apollo Client
-
ReasonQL - Type-safe and simple GraphQL Client for ReasonML developers.
-
reason-urql - ReasonML binding for urql Client
Dart Libraries
-
Angel GraphQL - GraphQL server implementation with bindings
for the Angel framework.
-
graphql-flutter - A GraphQL client for Flutter.
-
Artemis - A GraphQL type and query generator for Dart/Flutter.
Rust Libraries
-
juniper - GraphQL server library for Rust.
-
graphql-client - GraphQL client library for Rust with WebAssembly (wasm) support.
-
graphql-parser - A parser, formatter and AST for the GraphQL query and schema definition language for Rust.
D (dlang) Libraries
-
graphqld - GraphQL server library for D.
Julia Libraries
-
Diana.jl - A Julia GraphQL client/server implementation.
-
graphiql - An in-browser IDE for exploring GraphQL.
-
GraphiQL.app - A light, Electron-based wrapper around GraphiQL.
-
GraphQLviz - GraphQLviz marries GraphQL (schemas) with Graphviz.
-
graphqlviz - GraphQL API visualizer in Node.js
-
GraphQL AST Explorer - Explore the AST of a GraphQL document interactively
-
GraphQLHub - Query public API's schemas (e.g. Reddit, Twitter, Github, etc) using GraphiQL
-
js-graphql-intellij-plugin - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript.
-
gdom - DOM Traversing and Scraping using GraphQL.
-
Annotated GraphQL Server - Server for annotated GraphQL showing how to transform a REST api into a GraphQL endpoint with annotations.
-
Model Visualizer - A small webapp that generates an ERD-like visualization of a GraphQL endpoint from an introspection query.
-
GraphQL Network - A chrome dev-tools extension for debugging GraphQL network requests.
-
eslint-plugin-graphql - An ESLint plugin that checks your GraphQL strings against a schema.
-
AST Explorer - Select "GraphQL" at the top, explore the GraphQL AST and highlight different parts by clicking in the query.
-
vim-graphql - A Vim plugin that provides GraphQL file detection and syntax highlighting.
-
GraphQL CMS - Use your existing GraphQL schema to generate simple for use, fully functional CMS in a couple steps.
-
graphdoc - Static page generator for documenting GraphQL Schema.
-
graphql-autocomplete - Autocomplete and lint from a GraphQL endpoint in Atom.
-
GraphQL Code Generator - GraphQL code generator based on schema and documents.
-
GraphQL IDE - An extensive IDE for exploring GraphQL API's.
-
Swagger to GraphQL - GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
-
GraphQL Voyager - Represent any GraphQL API as an interactive graph.
-
GraphQL Docs - Instantly create beautiful GraphQL API docs hosted online.
-
GraphQL Faker - 🎲 Mock or extend your GraphQL API with faked data. No coding required.
-
ts-graphql-plugin - A language service plugin complete and validate GraphQL query in TypeScript template strings.
-
Apollo Tracing - GraphQL extension that enables you to easily get resolver-level performance information as part of a GraphQL response.
-
Altair GraphQL Client - A beautiful feature-rich GraphQL Client for all platforms.
-
Apollo Storybook Decorator - Wrap your React Storybook stories with Apollo Client, provide mocks for isolated UI testing with GraphQL
-
GraphQL Metrics - instrument GraphQL resolvers, logging response times and statuses (if there was an error or not) to the console as well as to InfluxDB.
-
GraphQL Rover - GraphQL schema interactive navigation, rearrange nodes, search and explore types and fields.
-
json-graphql-server - Get a full fake GraphQL API with zero coding in less than 30 seconds, based on a JSON data file.
-
Insomnia - An full-featured API client with first-party GraphQL query editor
-
Prisma - Turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
-
tuql - Automatically create a GraphQL server from any sqlite database.
-
Bit - Organize GraphQL API as components to be consumed with NPM or modified from any project (example).
-
RAN Toolkit - Production-ready toolkit/boilerplate with support for GraphQL, SSR, Hot-reload, CSS-in-JS, caching, and more.
-
Apollo GraphQL VSCode Extension - Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform
-
GRAPHQL DESIGNER - A developer's web-app tool to rapidly prototype a full stack CRUD implementation of GraphQL with React.
-
GraphQL Inspector - Tooling for GraphQL. Compare schemas, validate documents, find breaking changes, find similar types, schema coverage.
-
graphql-typed-client - A tool that generates a strongly typed client library for any GraphQL endpoint. The client allows writing GraphQL queries as plain JS objects (with type safety and awesome code completion experience)
-
OpenAPI-to-GraphQL - Take any OpenAPI Specification (OAS) or swagger and create a GraphQL interface - Two minute video and resources here
-
SwitchQL - Automated transcription of database schemas into GraphQL schemas, resolvers, queries, and mutations
-
VulcanJS - The full-stack React+GraphQL framework
-
Apollo Client Developer Tools - GraphQL debugging tools for Apollo Client in the Chrome developer console
-
GraphQL Birdseye – View any GraphQL schema as a dynamic and interactive graph.
Tools - Security
Databases
Services
-
AWS AppSync - Scalable managed GraphQL service with subscriptions for building real-time and offline-first apps
-
DatoCMS - CDN-based GraphQL based Headless Content Management System.
-
FastQL - CDN specifically for GraphQL applications
-
GraphCMS - GraphQL based Headless Content Management System.
-
Graphcool - Your own GraphQL backend in under 5 minutes. Works with every GraphQL client such as Relay and Apollo.
-
FakeQL - GraphQL API mocking as a service ... because GraphQL API mocking should be easy!
-
Moesif API Analytics - A GraphQL analaytics and monitoring service to find functional and performance issues.
Examples
JavaScript Examples
-
react-starter-kit - Isomorphic web app boilerplate (Node.js/Express, GraphQL, React)
-
graphql-starter-kit - Project template for building a GraphQL server with Node.js v7+ and JavaScript
-
swapi-graphql - A GraphQL schema and server wrapping swapi.co.
-
graphql-server - GraphQL server with Mongoose (MongoDB) and Node.js.
-
graphql-intro - https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2
-
graphql-aws - Amazon AWS GraphQL API Server.
-
graffiti-todo - Example Relay TodoMVC application using graffiti-mongoose. WARNING Graffiti is no longer actively maintained. For hobbyist only.
-
devknoll/gist:8b274f1c5d05230bfade
-
UniversalRelayBoilerplate
Boilerplate + examples for React Native (iOS, Android), React (isomorphic, Material-UI), Relay, GraphQL, JWT, Node.js, Apache Cassandra.
-
vslinko/ripster
-
relay-skeleton - React, Relay, GraphQL project skeleton
-
simple-relay-starter - A very simple starter for React Relay using Browserify.
-
relay-chat - an chat example showing Relay with routing and pagination.
-
relay-todomvc - Relay TodoMVC with routing.
-
dgraph-react-todomvc - Dgraph + React TodoMVC example.
-
graphql-express-sqlite - GraphQL server with Sqlite and Express
-
koa-graphql-relay-example - Example of koa-graphql
-
relay-fullstack - Relay Starter Kit integrated with Relay, GraphQL, Express, ES6/ES7, JSX, Webpack, Babel, Material Design Lite, and PostCSS.
-
serverless-graphql-blog - A Serverless Blog leveraging GraphQL to offer a REST API with only 1 endpoint
-
relay-cart - A simple shopping cart example leveraging relay & GraphQL with routing and pagination.
-
graphql-loader - Example project to illustrate GraphQL, Express and Facebook DataLoader to connect to third party REST API
-
swapi-graphql-lambda - A GraphQL schema hosted in AWS Lambda wrapping swapi.co
-
Apollo Client documentation - Documentation and example for building GraphQL apps using apollo client
-
Apollo Server tools documentation - Documentation, tutorial and examples for building GraphQL server and connecting to SQL, MongoDB and REST endpoints.
-
f8-apollo - Refactored version of the official F8 app of 2016, powered by React Native and the Apollo Stack.
-
f8app - Source code of the official F8 app of 2016, powered by React Native and other Facebook open source projects. makeitopen.com
-
Reindex Examples - Example projects for Reindex with using React Native and React.js for web.
-
Modelizr Documentation - Documentation and Usage Examples for modelizr
-
Vue Apollo Example - Apollo example project for Vue 2.0.
-
angular2-graphql-rest - An example app with REST Api working side by side with GraphQL using Apollo Client with angular2-apollo. Includes step-by-step tutorial how to migrate from REST to GraphQL.
-
GraphQL-DataLoader-Boilerplate - Boilerplate to start your GraphQL with DataLoader server
-
GraphQL-CEP - Query address by CEP
-
Apollo React example for Github GraphQL API - Usage Examples Apollo React for Github GraphQL API with create-react-app
-
Intuitive GraphQL Resolver Example - GraphQL application example using contextable.js.
-
GraphQL Tutorial - A didactic 12-step introduction to GraphQL, starting from a simple Hello World to a network-based GraphQL server with a built-in GraphQL UI
-
Serverless Apollo Graphql - Boilerplate to start you Apollo graphql server in AWS using serverless framework
-
Next.js TypeScript and GraphQL Example - A type-protected GraphQL example on Next.js running graphql-codegen under the hood
TypeScript Examples
Ruby Examples
-
graphql-ruby-demo - Use graphql-ruby to expose a Rails app.
-
github-graphql-rails-example - Example Rails app using GitHub's GraphQL API.
-
relay-on-rails - Barebones starter kit for Relay application with Rails GraphQL server.
-
relay-rails-blog - A graphql, relay and standard rails application powered demo weblog.
- [to_eat_app] (https://github.com/jcdavison/to_eat_app) - A sample graphql/rails/relay application with a related 3-part article series.
-
agoo-demo - Use of the Agoo server to demonstrate a simple GraphQL application.
Go Examples
Scala Examples
Python Examples
Elixir Examples
Java Examples
Android Examples
iOS Examples
Clojure Examples
PHP Examples
Books
Videos
Blogs
Blogs - Security
Posts
Workshoppers
-
GraphQL of Thrones - Total beginner tutorial focused on just GraphQL without all the tooling. Alternates between LEARN and PLAY modes roleplaying as Game of Thrones characters.
-
How to GraphQL - Fullstack Tutorial Website with Tracks for all Major Frameworks & Languages including React, Apollo, Relay, JavaScript, Ruby, Java, Elixir and many more
-
learning-graphql - An attempt to learn GraphQL.
-
Let's Learn GraphQL - Lessons/walkthrough of GraphQL concepts.
License

To the extent possible under law, Chen-Tsu Lin has waived all copyright and related or neighboring rights to this work.