FREEDOM251

Freedom251 › GraphQL Tools

async-graphql

Free plan Self-hosted

Visit async-graphql Alternatives

async-graphql's own site

What async-graphql is

async-graphql is an open-source Rust library for building a self-hosted GraphQL server. It is designed to follow the GraphQL specification and supports both static and dynamic schemas. Schemas can be defined in Rust, with procedural macros generating code for queries. The library supports async/await and type safety, plus custom scalars, multipart file uploads, WebSocket subscriptions, batch queries, and custom and error extensions. Apollo support includes Persisted Queries, Tracing, and Federation v2. Integrations are provided for Poem, Actix-web, Warp, Rocket, and Axum. GraphiQL integration is enabled by default, while most other crate features are not. The crate forbids unsafe code and describes its implementation as safe Rust. It requires Rust 1.86.0 or later and is licensed under Apache License 2.0 or MIT, at the user's option. The project links to an Async-graphql Book and names organizations including Vector, DiveDB, Kairos Sports tech, and AxieInfinity among those using it in production. For production deployments, the project recommends limiting query complexity and depth to help reduce denial-of-service risk.

Who it suits

async-graphql suits Rust developers building self-hosted GraphQL services who want schema options, async support, and web-server integrations. It may also suit teams using Apollo features or GraphiQL.

What it does well

  • Supports static and dynamic schemas
  • Includes five web-server integrations
  • Supports WebSocket subscriptions and multipart uploads
  • Forbids unsafe code

What to know first

  • Requires Rust 1.86.0 or later
  • Most crate features are disabled by default
  • Production query complexity and depth need limits

Getting started

  1. Visit the async-graphql project page on GitHub.
  2. Ensure your Rust version is 1.86.0 or later.
  3. Choose a provided web server integration, such as Axum or Actix-web.
  4. Review the Async-graphql Book linked from the project.
  5. For production, limit query complexity and depth as the project recommends.

Verdict

async-graphql offers broad GraphQL capabilities in a Rust server library, with multiple integrations and Apollo support. Developers should account for its Rust version requirement and configure query limits for production.

Questions

Does async-graphql cost anything?

It is free and open source. It is licensed under either Apache License 2.0 or MIT, at the user's option.

Where does async-graphql run?

Its deployment model is self-hosted. It is a server library implemented in Rust.

Which web frameworks does it integrate with?

Provided integrations are Poem, Actix-web, Warp, Rocket, and Axum.

Does it include an API explorer?

Yes. The crate's GraphiQL integration is enabled by default.

What Rust version does it require?

The minimum supported Rust version is 1.86.0.

Does it support Apollo?

Yes. It supports Apollo Persisted Queries, Apollo Tracing, and Apollo Federation v2.

Facts from async-graphql's own pages

Apollo support
The library lists Apollo Persisted Queries, Apollo Tracing, and Apollo Federation v2 support. · github.com, 9 Oct 2026
Async and type safety
The feature list includes async/await support and type safety. · github.com, 9 Oct 2026
Documentation
The project links to an Async-graphql Book describing the library as a Rust server-side library compatible with the GraphQL specification and most extensions. · async-graphql.github.io, 4 Oct 2026
GraphiQL
The crate's GraphiQL integration is enabled by default; most other crate features are not activated by default. · github.com, 4 Oct 2026
GraphQL capabilities
Listed capabilities include custom scalars, multipart file uploads, WebSocket subscriptions, batch queries, and custom extensions. · github.com, 9 Oct 2026
Intended users
The README lists Vector, DiveDB, Kairos Sports tech, AxieInfinity, and other projects as using async-graphql in production. · github.com, 9 Oct 2026
License
The project is licensed under either Apache-2.0 or MIT, at the user's option. · github.com, 9 Oct 2026
Optional crate features
Most crate features are disabled by default; the README names GraphiQL integration as the exception. · github.com, 9 Oct 2026
Product
async-graphql is a GraphQL server library implemented in Rust. · github.com, 9 Oct 2026
Production query safety
The project recommends limiting query complexity and depth in production to help avoid possible denial-of-service attacks. · github.com, 4 Oct 2026
Purpose
async-graphql is a high-performance, specification-compliant GraphQL server library implemented in Rust. · github.com, 4 Oct 2026
Query capabilities
Features include multipart file uploads, WebSocket subscriptions, batch queries, custom extensions, and error extensions. · github.com, 4 Oct 2026
Rust requirement
The minimum supported Rust version is 1.86.0 or later. · github.com, 9 Oct 2026
Rust safety
The crate forbids unsafe code and says it is implemented in 100% safe Rust. · github.com, 4 Oct 2026
Safe Rust
The crate forbids unsafe code and describes its implementation as 100% safe Rust. · github.com, 9 Oct 2026
Schema definition
You can define a schema in Rust, and procedural macros automatically generate code for a GraphQL query. · async-graphql.github.io, 9 Oct 2026
Schema types
Static and dynamic schemas are supported. · github.com, 9 Oct 2026
Security guidance
The README recommends limiting query complexity and depth in production to help avoid DDoS attacks. · github.com, 9 Oct 2026
Specification support
The library is fully compatible with the GraphQL specification and most of its extensions. · async-graphql.github.io, 9 Oct 2026
Web server integrations
Provided integrations are listed for Poem, Actix-web, Warp, Rocket, and Axum. · github.com, 9 Oct 2026

Where async-graphql stands on Freedom251

Look at these too