awesome-graphql Awesome

Awesome list of GraphQL & Relay

If you want to contribute to this list (please do), send me a pull request.

Table of Contents


  • facebook/graphql - Working Draft of the Specification for GraphQL created by Facebook.


GraphQL Meetups


JavaScript Libraries

  • GraphQL.js10k 932 - A reference implementation of GraphQL for JavaScript.
  • express-graphql3k 298 - GraphQL Express Middleware.
  • koa-graphql421 47 - GraphQL Koa Middleware.
  • hapi-graphql90 28 - Create a GraphQL HTTP server with Hapi.
  • codemirror-graphql75 26 - GraphQL mode and helpers for CodeMirror.
  • graphql-schema118 8 - Create GraphQL schemas with a fluent/chainable interface.
  • graphql-sequelize989 145 - Sequelize helpers for GraphQL.
  • graphql-sequelize-crud63 15 - Automatically generate queries and mutations from Sequelize models.
  • graffiti1k 61 - Node.js GraphQL ORM.
  • graffiti-mongoose403 67 - Mongoose (MongoDB) adapter for graffiti (Node.js GraphQL ORM).
  • babel-plugin-graphql64 2 - Babel plugin that compile GraphQL tagged template strings.
  • adrenaline728 45 - React bindings for Redux with Relay in mind.
  • graphql-bookshelf151 13 - Some help defining GraphQL schema around BookshelfJS models.
  • graphql-bookshelfjs1 1 - A simple bridge between your graphql queries and your bookshelf models, perform batched and optimised queries.
  • graph.ql504 25 - Faster and simpler technique for creating and querying GraphQL schemas.
  • react-reach119 1 - A library to communicate with Graphql through Redux
  • Lokka941 41 - Simple JavaScript client for GraphQL, which you can use anywhere.
  • Strapi - Open-source Node.js framework that supports "GraphQL" out of the box.
  • GraysQL22 4 - A GraphQL manager and loader.
  • graysql-orm-loader - A GraysQL extension to load a GraphQL schema from an ORM.
  • Annotated GraphQL - Proof of Concept for annotations in GraphQL (i.e.: transform an existing REST api into a GraphQL endpoint).
  • Apollo Client5k 520 - A well-documented GraphQL client. Has React and Angular bindings.
  • graphql-tools956 123 - Tool library for building and maintaining GraphQL-JS servers.
  • graphql-anywhere179 15 - Run a GraphQL query anywhere, against any data, with no schema.
  • graphql-tag271 42 - A JavaScript template literal tag that parses GraphQL queries.
  • modelizr135 5 - A library for simplifying the process of writing GraphQL queries, mocking them and normalizing their responses.
  • vue-apollo1k 87 - Vue integration for apollo.
  • graphql-thinky44 5 - Build an optimized GraphQL schema from Thinky RethinkDB models.
  • graphql-pouch96 5 - A GraphQL-API runtime on top of PouchDB created by GraphQL shorthand notation as a self contained service with CouchDB synchronization.
  • gql-tools11 1 - Tool library with CLI for schema generation and manipulation.
  • graphql-iso-date112 12 - 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-compose234 24 - Tool which allows you to construct flexible graphql schema from different data sources via plugins.
  • node-graphjoiner21 1 - Create GraphQL APIs using joins, SQL or otherwise.
  • FetchQL - GraphQL query client with Fetch
  • Join Monster1k 97 - A GraphQL-to-SQL query execution layer for batch data fetching.
  • Create-GraphQL18 3 - Command-line utility to build production-ready servers with GraphQL.
  • GraphQL-Pokémon84 7 - Get information of a Pokémon with GraphQL!
  • graphql-factory - Create GraphQL types from JSON definitions
  • ChromeiQL - Chrome extension to use GraphiQL anywhere
  • graphql-auto-mutation - Automatically generates functions for mutations specified in a GraphQL schema.
  • GraphiteJS52 6 - Full stack GraphQL framework.
  • loopback-graphql - GraphQL Server for Loopback.
  • parasprite4 2 - Describe your GraphQL schema using chainable interface.
  • GraphQL.js176 12 - JavaScript GraphQL Client for Browser and Node.js Usage
  • graphql-sync29 2 - Promise-free wrapper to GraphQL.js for synchronous environments
  • apollo-fetch363 23 - Lightweight GraphQL client that supports custom fetch functions, middleware, and afterware
  • Spikenail223 3 - Node.js framework for building GraphQL API almost without coding.
  • graphql-weaver70 6 - A tool to combine, link and transform GraphQL schemas; combine multiple GraphQL servers into one API.
  • graphql-lodash - Data manipulation for GraphQL queries with lodash syntax.
  • apollo-angular158 46 - Angular integration for Apollo.
  • graphql-resolvers - Resolver composition library for GraphQL.
  • apollo-resolvers61 5 - Expressive and composable resolvers for Apollo Server and graphql-tools.
  • apollo-errors70 6 - Machine-readable custom errors for Apollo Server.
  • mongo-graphql-starter125 5 - Flexible and robust Mongo based resolvers for Node.
Relay Related
  • relay11k 1k - Relay is a JavaScript framework for building data-driven React applications.
  • graphql-relay-js810 121 - A library to help construct a graphql-js server supporting react-relay.
  • sequelize-relay64 7 - Serverside library that connects sequelize and graphql-relay-js together.
  • babel-plugin-react-relay54 11 - Babel Plugin for Relay with support for JSON & graphql-js schemas and URL endpoints.
  • babel-relay-plugin - Babel Relay Plugin for transpiling GraphQL queries for use with Relay.
  • react-router-relay565 83 - Relay integration for React Router.
  • relay-local-schema169 10 - Use Relay without a GraphQL server.
  • relay-sink133 3 - Use Relay to fetch and store data outside of a React component.
  • recompose-relay9k 776 - Recompose helpers for Relay.
  • Graylay - A GraysQL extension to create a Relay compatible Schema.
  • Apollo Client5k 520 - A simple alternative to Relay, comes with React and Angular bindings.
  • react-relay-network-layer259 36 - A network layer for Relay with query batching and middleware support (urlThunk, retryThunk, auth, defer and other).
  • relay-subscriptions180 15 - 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!
  • Relay Pokédex44 8 - Project using GraphQL Pokémon to show how powerful Relay is.

Ruby Libraries

  • graphql-ruby3k 388 - Ruby implementation of Facebook's GraphQL.
  • graphql-parser37 8 - A small ruby gem wrapping the libgraphqlparser C library for parsing GraphQL.
  • graphql-client805 85 - A Ruby library for declaring, composing and executing GraphQL queries.
  • graphql-batch375 37 - A query batching executor for the graphql gem.
  • batch-loader – A powerful tool to avoid N+1 queries without extra dependencies or primitives.
  • graphql-guard133 7 - A simple field-level authorization for the graphql gem.

PHP Libraries

Python Libraries

Java Libraries

  • graphql-java2k 330 - GraphQL Java implementation.
  • graphql-java-type-generator - Auto-generates types for use with GraphQL Java
  • schemagen-graphql27 7 - Schema generation and execution package that turns POJO's into a GraphQL Java queryable set of objects. Enables exposing any service as a GraphQL service using Annotations.
  • graphql-java-annotations99 53 - Provides annotations-based syntax for schema definition with GraphQL Java.
  • spring-graphql-common62 19 - Spring Framework GraphQL Library.
  • graphql-spring-boot93 21 - GraphQL and GraphiQL Spring Framework Boot Starters.
  • neo4j-graphql26 10 - GraphQL bindings for Neo4j, generates and runs Cypher.
  • vertx-graphql-service-discovery9 4 - Asynchronous GraphQL service discovery and querying for your microservices.
  • vertx-dataloader24 4 - Port of Facebook DataLoader for efficient, asynchronous batching and caching in clustered GraphQL environments
  • LiveGQL - GraphQL subscription client in Java.
  • rdbms-to-graphql3 1 - A Java CLI program that generates a GraphQL schema from a JDBC data source.
  • Rejoiner1k 26 - Generates a GraphQL schema based on one or more gRPC microservices, or any other Protobuf source.

C/C++ Libraries

Go Libraries

  • graphql2k 206 - An implementation of GraphQL for Go follows graphql-js
  • graphql-relay-go154 30 - A Go/Golang library to help construct a server supporting react-relay.
  • graphql-go533 45 - GraphQL server with a focus on ease of use.
  • c-graphqlparser29 1 - Go-gettable version of the libgraphqlparser C library for parsing GraphQL.
  • tallstreet-graphql - GraphQL parser and server for Go that leverages libgraphqlparser
  • go-graphql104 9 - A powerful GraphQL server implementation for Golang
  • dataloader69 7 - Implementation of Facebook's DataLoader in Golang

Scala Libraries

Perl Libraries

.NET Libraries

Erlang Libraries

  • graphql-erlang85 14 - Pure Erlang implementation with IDL and pattern-matching.

Elixir Libraries

Haskell Libraries

SQL Libraries

  • GraphpostgresQL1k 23 - GraphQL for Postgres.
  • sql-to-graphql120 14 - Generate a GraphQL API based on your SQL database structure.
  • PostGraphQL2k 141 - A GraphQL schema created by reflection over a PostgreSQL schema.
  • rdbms-to-graphql3 1 - A Java CLI program that generates a GraphQL schema from a JDBC data source.

Lua Libraries

Elm Libraries

Clojure Libraries

  • graphql-clj216 17 - A Clojure library designed to provide GraphQL implementation.
  • lacinia887 65 - GraphQL implementation in pure Clojure.
  • alumbra58 4 - Simple & Elegant GraphQL for Clojure!

ClojureScript Libraries

  • speako6 1 - A ClojureScript/NPM compiler for GraphQL Schema Language.
  • venia12 3 - A Clojure(Script) GraphQL query generation

Swift Libraries

  • GraphQL354 23 - Build GraphQL APIs with Swift.
  • Graphiti65 15 - Build Swiftier GraphQL APIs with Swift.
  • Gryphin - Type-safe GraphQL client for iOS and MacOS written in Swift.
  • Apollo-iOS495 62 - Strongly typed, code-generating, caching GraphQL client for Swift.
  • LiveGQL25 5 - GraphQL Subscription client in Swift.

OCaml Libraries

Rust Libraries

  • juniper136 15 - GraphQL server library for Rust.

R Libraries

  • graphql10 3 - Bindings to libgraphqlparser for R.
  • gqlr - GraphQL server package for R.
  • ghql5 1 - GraphQL client package for R.

Julia Libraries

Kotlin Libraries

  • ktq - Kotlin gradle plugin SDL type generator & runtime client


  • graphiql5k 446 - An in-browser IDE for exploring GraphQL.
  • GraphQL Playground1k 77 - GraphQL IDE that supports multi-column schema docs, tabs, query history, configuration of HTTP headers and GraphQL Subscriptions.
  • GraphiQL.app798 85 - A light, Electron-based wrapper around GraphiQL.
  • GraphQLviz56 1 - GraphQLviz marries GraphQL (schemas) with Graphviz.
  • graphqlviz201 21 - GraphQL API visualizer in Node.js
  • Relay Playground
  • 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-plugin199 18 - GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript.
  • gdom904 25 - 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 Network106 7 - A chrome dev-tools extension for debugging GraphQL network requests.
  • eslint-plugin-graphql114 15 - 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-graphql10 2 - 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.
  • graphdoc109 7 - Static page generator for documenting GraphQL Schema.
  • graphql-autocomplete10 1 - Autocomplete and lint from a GraphQL endpoint in Atom.
  • GraphQL IDE333 15 - An extensive IDE for exploring GraphQL API's.
  • Swagger to GraphQL110 17 - GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
  • GraphQL Voyager2k 57 - Represent any GraphQL API as an interactive graph.
  • GraphQL Docs - Instantly create beautiful GraphQL API docs hosted online.
  • GraphQL Faker246 15 - 🎲 Mock or extend your GraphQL API with faked data. No coding required.
  • ts-graphql-plugin100 6 - A language service plugin complete and validate GraphQL query in TypeScript template strings.
  • Apollo Launchpad - Like JSFiddle for GraphQL server code, write and deploy a GraphQL API directly from your browser.
  • Apollo Tracing - GraphQL extension that enables you to easily get resolver-level performance information as part of a GraphQL response.
  • Altair GraphQL Client171 19 - A graphQL API client for GraphQL (like Postman for graphQL) with chrome and firefox extensions as well as desktop apps for all platforms.
  • Apollo Storybook Decorator75 7 - 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 Rover53 1 - GraphQL schema interactive navigation, rearrange nodes, search and explore types and fields.
  • json-graphql-server130 8 - 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
  • Prisma1k 39 - Turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
  • tuql18 1 - Automatically create a GraphQL server from any sqlite database.


  • ArangoDB - Multi-model database that supports GraphQL schemas in JavaScript inside the database.
  • Dgraph - Scalable, distributed, low latency, high throughput Graph database with a GraphQL like language (called GraphQL+) as the query language. Dgrapqh can be queried with graphql by using dgraphql10 1


  • 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.
  • Reindex - Instant GraphQL Backend for Your React Apps.
  • Scaphold - GraphQL as a service that includes API integrations such as Stripe and Mailgun.
  • Tipe - Next Generation API-first CMS with a GraphQL or REST API. Stop letting your CMS decide how you build your apps.
  • AWS AppSync - Serverless GraphQL


JavaScript Examples

TypeScript Examples

Ruby Examples

Go Examples

Scala Examples

Python Examples

Elixir Examples

PHP Examples

ReasonML Examples





  • 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-graphql531 72 - An attempt to learn GraphQL.
  • Learn Relay - A comprehensive introduction to Relay
  • Learn Apollo - A hands-on tutorial for Apollo GraphQL Client



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