EVERYTHING XIAOMI
Get listed

Sangria

Sangria is a free, self-hosted Scala implementation of GraphQL for developers building GraphQL servers and endpoints.

Place
#23 of 32
Score
5.2
Sangria's website

What Sangria is

Sangria is a free, self-hosted Scala implementation of GraphQL for developers building GraphQL servers and endpoints. It provides Scala abstractions for defining schemas, types, fields, and resolvers, while macros can derive GraphQL object types from Scala classes and let developers customize the generated definitions. Sangria parses GraphQL queries and includes a macro that can report syntax errors during compilation. Its Executor runs queries against a schema and can receive a user context for shared data or authorization information. Query and schema validation, complexity checks, and schema comparisons support analysis before or during execution. Middleware can assist with performance measurement, metrics collection, and security enforcement at field or query level. Example integrations cover Akka HTTP and Play Framework. JSON support includes Circe, spray-json, Play JSON, Argonaut, json4s, MessagePack, and Amazon Ion. Sangria describes itself as spec compliant and compatible with Apollo, Relay, GraphiQL, and other GraphQL tools. The sangria-relay library supports React Relay.

Good

  • Free plan with self-hosted deployment
  • Scala schema abstractions and code generation
  • Compile-time query syntax error reporting
  • Query analysis and schema comparison tools
  • Multiple JSON and GraphQL integrations

Watch out

  • No explicit security primitives are provided
  • Application must handle transport and storage choices
  • Self-hosted deployment requires operating the service

Who it suits

It suits Scala developers building GraphQL servers or endpoints inside their own applications. It is also relevant to teams choosing their own transport, data format, and storage layers.

Verdict

Sangria provides a broad GraphQL layer for Scala applications, covering schema construction, parsing, execution, validation, and middleware. Its integrations and self-hosted model fit teams that want control over surrounding infrastructure.

The facts

Each one read from Sangria's own pages, with the date it was checked.

What it does

Audience
The getting-started guide describes Sangria as a layer inside a Scala application for building a GraphQL server while leaving transport, data format, and storage choices to the application.checked 8 Oct 2026
Authentication
The documentation says Sangria does not provide explicit security primitives and demonstrates implementing authentication and authorization through application context, resolvers, middleware, and field tags.checked 8 Oct 2026
Client compatibility
The project describes Sangria as spec compliant and compatible with Apollo, Relay, GraphiQL, and other GraphQL tools and libraries.checked 8 Oct 2026
Code generation
Macros can derive GraphQL object type definitions from Scala classes and customize generated types.checked 8 Oct 2026
Contributions
Users are invited to report bugs through the issue tracker and contribute code or documentation through pull requests.checked 8 Oct 2026
Execution
Its Executor runs queries against a schema and can use a user context object for shared data or authorization information.checked 8 Oct 2026
Framework examples
The project provides example server integrations using Akka HTTP and Play Framework.checked 8 Oct 2026
Integrations
The project says Sangria is spec compliant and works with Apollo, Relay, GraphiQL, and other GraphQL tools and libraries.checked 8 Oct 2026
Intended users
The documentation presents Sangria as a library for Scala developers building GraphQL servers and endpoints.checked 8 Oct 2026
JSON libraries
Sangria supports multiple JSON libraries, including Circe, spray-json, and Play JSON.checked 8 Oct 2026
JSON support
The documentation lists marshalling integrations for spray-json, Play JSON, Circe, Argonaut, json4s, MessagePack, and Amazon Ion.checked 8 Oct 2026
License
The Sangria repository states that the project is licensed under Apache License 2.0.checked 8 Oct 2026
Middleware
Sangria middleware can support performance measurement, metrics collection, and security enforcement at field and query level.checked 8 Oct 2026
Product
Sangria is a Scala implementation of GraphQL.checked 8 Oct 2026
Purpose
Sangria is a Scala implementation of GraphQL.checked 8 Oct 2026
Query analysis
It supports query and schema validation, query complexity checks, and schema comparisons.checked 8 Oct 2026
Query execution
Its Executor runs GraphQL queries against a schema and user context.checked 8 Oct 2026
Query parsing
Sangria parses GraphQL queries and offers a macro that reports syntax errors at compile time.checked 8 Oct 2026
Relay support
The sangria-relay library is offered for using Sangria with the React Relay framework.checked 8 Oct 2026
Schema definition
It provides Scala abstractions for defining GraphQL schemas, types, fields, and resolvers.checked 8 Oct 2026
Support
The community page directs users to Stack Overflow for help and Gitter for general discussion.checked 8 Oct 2026

Alternatives to Sangria

All alternatives
  1. 1

    Altair GraphQL Client

    Free planWebExtensionLinuxmacOS
    7.4From $7.99 a month
  2. 2Apollo Client logo

    Apollo Client

    Free planAndroidiOSWebAPI
    7.3From $5 a month
  3. 3Hasura logo

    Hasura

    Free planWebAPILinuxSelf-hosted
    6.9Free plan
  4. 4GraphQL Hive logo

    GraphQL Hive

    Free planWebAPISelf-hosted
    6.7From $20 a month
  5. 5

    PostGraphile

    Free planWebAPISelf-hosted
    6.7From $25 a month
  6. 6WunderGraph Cosmo logo

    WunderGraph Cosmo

    Free planWebAPISelf-hosted
    6.7From $499 a month