GraphQL
Contents
- JavaScript/TypeScript
- Clients
- Go
- JavaScript Examples
- TypeScript Examples
- Ruby Examples
- PHP Examples
- Python
- Python Examples
- Java
- Android
- Custom Scalars
- Java Examples
- Kotlin
- Kotlin Examples
- C/C++
- Go Examples
- Scala
- Scala Examples
- .NET
- Elixir
- Haskell
- SQL
- Lua
- Elm
- Clojure
- ClojureScript
- Swift
- OCaml
- iOS
- iOS Examples
- ReasonML
- Dart
- Rust
- D (dlang)
- R (Rstat)
- Julia
- Crystal
- Ballerina Samples
- Ballerina
Specifications
Implementations
JavaScript/TypeScript
A reference implementation of GraphQL for JavaScript.
GraphQL execution using a JIT compiler.
A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
A minimal GraphQL client for Node and browsers.
GraphQL Zeus creates autocomplete client library for JavaScript or TypeScript which provides autocompletion for strongly typed queries.
curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client.
A client library developed by Amazon for caching, analytics and more that includes a way to fetch GraphQL queries.
A No GraphQL client for TypeScript
Type safe TypeScript client for any GraphQL API.
Apollo/GraphQL integration for VueJS.
A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server.
Svelte integration for Apollo GraphQL.
An ember-cli addon for Apollo Client and GraphQL.
GraphQL web components that work in any frontend framework.
A set of tools, helping you building efficient apps in a fast way with SvelteKit and GraphQL.
A simple caching GraphQL client for React.
Minimal hooks-first GraphQL client with caching and server-side rendering support.
Bindings for mobx-state-tree and GraphQL.
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.
Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
Create a GraphQL HTTP server with Hapi.
HAPI plugin for GraphiQL integration.
GraphQL Koa middleware that implements GraphQL.js from scratch and supports native ESM.
GraphQL Koa Middleware.
GraphQL Koa 1 file simplified. usefull for quick test
Universal GraphQL HTTP middleware for Deno.
GraphQL plugin for Fastify.
Fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.
Framework NodeJS for GraphQL.
A highly evolved GraphQL HTTP Server.
Write full-feature APIs with just functions. No more boilerplate code, no more setup. Just write functions and deploy.
Serverless runtime based on WebAssembly that delivers auto-generated GraphQL APIs.
Sequelize helpers for GraphQL.
Some help defining GraphQL schema around BookshelfJS models.
A GraphQL-to-SQL query execution layer for batch data fetching.
Ably PubSub implementation for GraphQL to publish mutation updates and subscribe to the result through a subscription query.
A library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas.
Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
Code-First, Type-Safe, GraphQL Schema Construction.
Pothos is a plugin based GraphQL schema builder for typescript. It makes building graphql schemas in typescript easy, fast and enjoyable.
Garph is full-stack framework for building type-safe GraphQL APIs in TypeScript.
GQLoom is a GraphQL weaver for TypeScript/JavaScript that weaves GraphQL schema and resolvers using Valibot, Zod, or Yup.
Graphql Tools to Structure, Combine Resolvers and Merge Schema Definitions for Node.js, Next.Js and Graphql Apollo server
GraphQL query parser written entirely in TypeScript's type system for creating interfaces based on provided query
GraphQL document authoring library, inferring the result and variables types of GraphQL queries and fragments in the TypeScript type system.
Tool library for building and maintaining GraphQL-JS servers.
A JavaScript template literal tag that parses GraphQL queries.
A tiny, zero dependency GraphQL schema loader from files and folders.
Tool which allows you to construct flexible graphql schema from different data sources via plugins.
Separate GraphQL server into smaller, reusable parts by modules or features.
A library that helps creating a permission layer for a graphql api.
Emits a GraphQL Shield from your GraphQL schema.
A GraphQL rate-limiting library with query complexity analysis for Node.js
A webpack loader to import type-protected codegen results directly from GraphQL documents
One configuration for all your GraphQL tools (supported by most tools, editors & IDEs).
A command line tool for common GraphQL development workflows.
A set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).
use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL).
Generate REST API from your GraphQL API.
Framework and CLI to add a GraphQLCRUD API layer to a GraphQL server using data models.
Split up your GraphQL resolvers in middleware functions.
A library to help construct a graphql-js server supporting react-relay.
Normalize GraphQL responses for persisting in the client cache/state.
Babel plugin that compile GraphQL tagged template strings.
An ESLint plugin that checks your GraphQL strings against a schema.
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
Realtime GraphQL Live Queries with JavaScript.
An interactive schema visualizer for GraphQL APIs.
Extends supertest to easily test a GraphQL endpoint
Runs arbitrary queries matching a GraphQL schema to find server errors.
An instant security layer for production GraphQL Endpoints.
an incredibly fast GraphQL discovery & fingerprinting toolbox.
Allows using @constraint as a directive to validate input data. Inspired by Constraints Directives RFC and OpenAPI
The Open-Source GraphQL Federation Solution with Full Lifecycle API Management for (Federated) GraphQL. Schema Registry, composition checks, analytics, metrics, tracing and routing.
Quickly and easily add support for the Sunset header to your GraphQL server, to better communicate upcoming breaking changes.
Relay is a JavaScript framework for building data-driven React applications.
A comprehensive list of validator directive wraps Validator.js functionalities
Go
A graphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2, Subscriptions & more.
An implementation of GraphQL for Go follows graphql-js
GraphQL server with a focus on ease of use.
Code first graphql (graphql-go/graphql) schema builder.
Go generate based graphql server library.
A Go/Golang library to help construct a server supporting react-relay.
Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
A scalable microservices framework powered by Go, gRPC-Gateway, Prisma, and Kubernetes. It exposes REST, gRPC and Graphql
A protoc plugin that generates graphql execution code from Protocol Buffers.
JavaScript Examples
front-end starter kit using React, Relay, GraphQL, and JAM stack architecture.
A GraphQL schema and server wrapping SWAPI.
Relay TodoMVC with routing.
Source code of the official F8 app of 2016, powered by React Native and other Facebook open source projects.
Usage Examples Apollo React for Github GraphQL API with create-react-app.
Fullstack Boilerplate GraphQL. Made with React & Prisma + authentication & roles.
Production-ready toolkit/boilerplate with support for GraphQL, SSR, Hot-reload, CSS-in-JS, caching, and more.
A type-protected GraphQL example on Next.js running graphql-codegen under the hood
TypeScript Examples
Yarn v2 based monorepo template (code-first GraphQL API, PostgreSQL, PnP, Zero-install, serverless).
Next.js starter project focused on developer experience.
A boilerplate for TypeScript + Node Express + Apollo GraphQL APIs.
An example of how to mock a managed federation Supgraph using Apollo Server 3.x
An example of how to mock a managed federation Supgraph using Apollo Server 4.x
Starter Generic CRUD with Advanced Apollo Graphql server with Next.js and Mongodb (TypeScript)
Ruby implementation of Facebook's GraphQL.
A query batching executor for the graphql gem.
A JWT auth wrapper working with devise.
A GraphQL client and DSL. Allowing to write queries in native Ruby.
A PHP port of GraphQL reference implementation.
Relay helpers for webonyx/graphql-php implementation of GraphQL.
A PHP package that allows to serve a GraphQL endpoint from your Laravel application.
Laravel wrapper for Facebook's GraphQL.
This bundle provides tools to build a complete GraphQL server in your Symfony App. Supports react-relay.
GraphQL API for WordPress.
Framework agnostic library that allows you to write GraphQL server by annotating your PHP classes.
Builds request payload in GraphQL structure.
Easily build your GraphQL schema for webonyx/graphql-php using PHP attributes instead of large configuration arrays.
Ruby Examples
Use of the Agoo server to demonstrate a simple GraphQL application.
Use graphql-ruby to expose a Rails app.
Example Rails app using GitHub's GraphQL API.
Barebones starter kit for Relay application with Rails GraphQL server.
A graphql, relay and standard rails application powered demo weblog.
A sample graphql/rails/relay application with a related 3-part article series.
A rails 6 boilerplate with devise, graphql & JWT auth.
Python
GraphQL parser for Python.
GraphQL implementation for Python based on GraphQL.js v16.3.0 reference implementation
A library to help construct a graphql-py server supporting react-relay.
A python wrapper around libgraphqlparser.
A package for creating GraphQL schemas/types in a Pythonic easy way.
Adds GraphQL support to Google AppEngine (GAE).
Integrate GraphiQL easily into your Django project.
Adds GraphQL support to your Flask application.
Simple GraphQL client for Python 2.7+
Create GraphQL APIs using joins, SQL or otherwise.
A Django integration for Graphene.
An authentication library for Flask inspired from flask-jwt-extended.
GraphQL Implementation, SDL First, for python 3.6+ / asyncio.
Wrapper of Tartiflette to expose GraphQL API over HTTP based on aiohttp / 3.6+ / asyncio, official tutorial available on tartiflette.io.
library for implementing GraphQL servers using schema-first approach. Asynchronous query execution, batteries included for ASGI, WSGI and popular webframeworks, fully documented.
Django registration and authentication with GraphQL.
A new GraphQL library for Python.
A pythonic graphql codegenerator built around graphql-core and pydantic
An apollo like graphql client with async and sync interface
Simple GraphQL Client makes working with GraphQL API responses easier in Python.
Python Examples
Java
GraphQL Java implementation.
A GraphQL server framework for Spring Boot, developed by Netflix.
A Maven plugin and a Gradle plugin that can generate both the Client and the Server (POJOs and utility classes). The server part is based on graphql-java, and hides all its boilerplate codes.
Auto-generates types for use with GraphQL Java
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.
Provides annotations-based syntax for schema definition with GraphQL Java.
Schema-first graphql-java convenience library that makes it easy to bring your own implementations as data resolvers. Inspired by graphql-tools for JS.
Schema-first maven plugin for generating Java types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools. Inspired by swagger-codegen-maven-plugin.
Schema-first gradle plugin for generating Java types and Resolver interfaces. Works perfectly in conjunction with graphql-java-tools. Inspired by gradle-swagger-generator-plugin.
A framework-agnostic java servlet for exposing graphql-java query endpoints with GET, POST, and multipart uploads.
Spring Framework GraphQL Library.
GraphQL and GraphiQL Spring Framework Boot Starters.
Asynchronous GraphQL service discovery and querying for your microservices.
Port of Facebook DataLoader for efficient, asynchronous batching and caching in clustered GraphQL environments.
Java 8+ API for rapid development of GraphQL services.
A lightweight, fast microservices framework with all cross-cutting concerns addressed and ready to plug in GraphQL schema.
A Java library that can expose a JPA annotated data model as a GraphQL service over any relational database.
Apollo Federation on the JVM.
GraphQL Orchestrator/Gateway library that supports Schema Stitching and Apollo Federation directives to combine schema from multiple GraphQL microservices into a single unified schema.
Provides extended validation of fields and field arguments for graphql-java.
An experimental set of DGS Directives for common formatting use-cases.
A Java library that can expose a JPA annotated data model as a GraphQL service over any relational database.
Android
Comprehensive GraphQL client use. Schema-first. Type-safe GraphQL types, queries, and results, no code generators, no POJOs, no annotations. Excellent IDE support with IntelliJ IDEA and Android Studio. See the Java example below.
A strongly-typed, caching GraphQL client for Android, written in Java.
Apollo "hello world" app, for Android.
Custom Scalars
Java Examples
Examples of Light Java GraphQL and tutorials.
An example GraphQL server written with Spring MVC and GraphQL-SPQR.
A simple application, both client and server, demonstrating the Manifold GraphQL library.
Samples for using the GraphQL Java Kickstart projects.
A GraphQL Java Kickstart federation example.
A Netflix DGS federation example.
Kotlin
GraphQL Kotlin implementation.
: Pure Kotlin implementation to setup a GraphQL server.
Codegen plugin of Kotlin DSL Client by GraphQL schema. The generated DSL supports execution of complex GraphQL queries, mutation and subscriptions in Kotlin with syntax similar to native GraphQL syntax.
A DSL based graphql server library for kotlin, backed by graphql-java.
C/C++
A GraphQL query parser in C++ with C and C++ APIs.
A high performance GraphQL server written in C. benchmarks
C++ GraphQL schema service generator.
Generates C++ client types and request/response serialization from a GraphQL introspection query.
Go Examples
Barebones starting point for a Relay application with Golang GraphQL server.
Port of the React/Relay TodoMVC app, driven by a Golang GraphQL backend.
A GraphQL schema and server that demonstrates GraphQL subscriptions (over Websocket) to consume Apache Kafka messages.
Scala
Scala Examples
.NET
GraphQL for .NET.
GraphQL to IQueryable for .NET.
GraphQL server for .Net Core and .NET Framework.
Type-safe GraphQL code generator for F# and Fable
library to build a GraphQL API on top of data model with the extensibility to bring multiple data sources together in the single GraphQL schema.
type-safe GraphQL client with Linq-like interface for C#
Elixir
Fully Featured Elixir GraphQL Library.
GraphQL Elixir. (No longer maintained)
Plug integration for GraphQL Elixir.
Relay helpers for GraphQL Elixir.
Elixir bindings for libgraphqlparser
Elixir GraphQL parser.
GraphQL parser and resolver for Elixir.
Examples of GraphQL Elixir Plug endpoints mounted in Phoenix
Haskell
SQL
GraphQL for Postgres.
Generate a GraphQL API based on your SQL database structure.
Lightning-fast GraphQL APIs for PostgreSQL: highly customisable; extensible via plugins; realtime.
Hasura gives Instant Realtime GraphQL APIs over PostgreSQL. Works with an existing database too.
Clojure
ClojureScript
iOS
ReasonML
Dart
Rust
High-performance server-side library that supports all GraphQL specifications.
GraphQL server library for Rust.
GraphQL client library for Rust with WebAssembly (wasm) support.
A parser, formatter and AST for the GraphQL query and schema definition language for Rust.
A platform for building high-performance GraphQL backends.
R (Rstat)
Julia
Crystal
Ballerina Samples
Tools
Tools - Miscellaneous
GraphQL code generator based on schema and documents.
Query and manipulate GraphQL introspection query results in useful ways.
GraphQL types builder based on REST API described in Swagger. Allows to migrate to GraphQL from REST for 5 minutes
A language service plugin complete and validate GraphQL query in TypeScript template strings.
GraphQL extension that enables you to easily get resolver-level performance information as part of a GraphQL response.
Get a full fake GraphQL API with zero coding in less than 30 seconds, based on a JSON data file.
Turn your database into a GraphQL API. Prisma lets you design your data model and have a production ready GraphQL API online in minutes.
Node.js ORM written in TypeScript for type lovers. Typetta is the perfect ORM for the GraphQL + NodeJS + Typescript stack.
Automatically create a GraphQL server from any sqlite database.
Organize GraphQL API as components to be consumed with NPM or modified from any project, example-explanation).
Take any OpenAPI Specification (OAS) or swagger and create a GraphQL interface - Two minute video and resources here
An opinionated JavaScript library for automatically generating predictable, type safe DataLoaders over a set of resources (e.g. HTTP endpoints).
alidate schema, get schema change notifications, validate operations, find breaking changes, look for similar types, schema coverage.
Amplication is an open‑source low code development tool. It builds database applications with REST API and GraphQL for CRUD with relations, sorting, filtering, pagination.
Single open-source GraphQL API to connect CRMs to your SaaS. Query any customer CRM system (Salesforce, Hubspot and more) with a single API query from your SaaS app.
Lightning fast query hasher that ignores formatting diffs and comments and supports multiple hashing functions.
Reveal full GraphQL queries behind Apollo APQ hashes. Inspect fallback flow and debug Automatic Persisted Queries in DevTools.
Tools - Editors & IDEs & Explorers
An in-browser IDE for exploring GraphQL.
Visual Editor & GraphQL IDE.
Represent any GraphQL API as an interactive graph.
A beautiful feature-rich GraphQL Client for all platforms.
A unique, user-friendly data browser/viewer for any GraphQL service, with attractive result layouts.
Fast, open source API client, which stores collections offline-only in a Git-friendly plain text markup language.
Generate a complete Postman collection from a GraphQL endpoint.
View any GraphQL schema as a dynamic and interactive graph.
A CLI tool to visualize GraphQL schemas and to output a graph data structure as a graphviz .dot format.
Build and execute GraphQL queries in the terminal.
Tools - Testing, Prototyping & Mocking
Generate Karate API tests from your GraphQL schemas
Mock or extend your GraphQL API with faked data. No coding required.
Multi-protocol mock server with GraphQL schema mocking, resolver configuration, and query validation. Also supports HTTP, gRPC, WebSocket, MQTT, and SOAP.
Tools - Security
The all-in-one automated penetration tester toolkit for GraphQL, written in Python
Blazing fast GraphQL endpoints finder using subdomain enumeration, scripts analysis and bruteforce.
A Burp Extension for GraphQL Security Testing
Plugin based python script to perform GraphQL vulnerability assessment.
Security Audit Utility for GraphQL
Dependency-aware dynamic GraphQL testing tool
Tools - Browser Extensions
Tools - Docs
Tools - Editor Plugins
GraphQL language support for IntelliJ IDEA and WebStorm, including Relay.QL tagged templates in JavaScript and TypeScript.
A Vim plugin that provides GraphQL file detection and syntax highlighting.
Autocomplete and lint from a GraphQL endpoint in Atom.
Databases
Style Guides
This tutorial was originally created by Shopify for internal purposes. It's based on lessons learned from creating and evolving production schemas at Shopify over almost 3 years.
This document outlines the style guide for the GitLab GraphQL API.
This repo contains documentation and guidelines for a standardized and mostly reasonable approach to GraphQL (at Yelp).
This document outlines the style guide for the GitLab GraphQL API.
This repo contains documentation and guidelines for a standardized and mostly reasonable approach to GraphQL (at Yelp).