async-graphql
async-graphql is a free, open-source Rust library for running a self-hosted GraphQL server.
What async-graphql is
async-graphql is a free, open-source Rust library for running a self-hosted GraphQL server. It follows the GraphQL specification and most of its extensions, with support for both static and dynamic schemas. Developers define schemas in Rust, while procedural macros generate code for GraphQL queries. The library provides async/await and type safety, plus custom scalars, multipart file uploads, WebSocket subscriptions, batch queries, custom extensions, and error extensions. Apollo features include Persisted Queries, Tracing, and Federation v2. Server integrations are provided for Poem, Actix-web, Warp, Rocket, and Axum. GraphiQL integration is enabled by default, while most other crate features are disabled unless selected. The crate forbids unsafe code and is described as implemented in 100% safe Rust. Rust 1.86.0 or later is required. It is licensed under Apache License 2.0 or MIT at the user's option. The project recommends limiting query complexity and depth in production to help reduce denial-of-service risk. An Async-graphql Book provides documentation, and the project names several production users.
Good
- Free open-source licensing
- Static and dynamic schemas
- Apollo Federation v2 support
- Multiple Rust web integrations
- Safe-Rust implementation
Watch out
- Requires Rust 1.86.0 or later
- Self-hosted deployment
- Most crate features are disabled by default
Who it suits
It suits Rust developers building self-hosted GraphQL services that need specification support, asynchronous execution, and integrations with several Rust web frameworks.
Verdict
async-graphql offers a broad GraphQL server toolkit for Rust applications. Its schema options, Apollo support, and framework integrations give developers several ways to assemble a self-hosted service.
The facts
Each one read from async-graphql's own pages, with the date it was checked.
What it does
- Apollo support
- The library lists Apollo Persisted Queries, Apollo Tracing, and Apollo Federation v2 support.checked 9 Oct 2026
- Async and type safety
- The feature list includes async/await support and type safety.checked 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.checked 4 Oct 2026
- GraphiQL
- The crate's GraphiQL integration is enabled by default; most other crate features are not activated by default.checked 4 Oct 2026
- GraphQL capabilities
- Listed capabilities include custom scalars, multipart file uploads, WebSocket subscriptions, batch queries, and custom extensions.checked 9 Oct 2026
- Intended users
- The README lists Vector, DiveDB, Kairos Sports tech, AxieInfinity, and other projects as using async-graphql in production.checked 9 Oct 2026
- License
- The project is licensed under either Apache-2.0 or MIT, at the user's option.checked 9 Oct 2026
- Optional crate features
- Most crate features are disabled by default; the README names GraphiQL integration as the exception.checked 9 Oct 2026
- Product
- async-graphql is a GraphQL server library implemented in Rust.checked 9 Oct 2026
- Production query safety
- The project recommends limiting query complexity and depth in production to help avoid possible denial-of-service attacks.checked 4 Oct 2026
- Purpose
- async-graphql is a high-performance, specification-compliant GraphQL server library implemented in Rust.checked 4 Oct 2026
- Query capabilities
- Features include multipart file uploads, WebSocket subscriptions, batch queries, custom extensions, and error extensions.checked 4 Oct 2026
- Rust requirement
- The minimum supported Rust version is 1.86.0 or later.checked 9 Oct 2026
- Rust safety
- The crate forbids unsafe code and says it is implemented in 100% safe Rust.checked 4 Oct 2026
- Safe Rust
- The crate forbids unsafe code and describes its implementation as 100% safe Rust.checked 9 Oct 2026
- Schema definition
- You can define a schema in Rust, and procedural macros automatically generate code for a GraphQL query.checked 9 Oct 2026
- Schema types
- Static and dynamic schemas are supported.checked 9 Oct 2026
- Security guidance
- The README recommends limiting query complexity and depth in production to help avoid DDoS attacks.checked 9 Oct 2026
- Specification support
- The library is fully compatible with the GraphQL specification and most of its extensions.checked 9 Oct 2026
- Web server integrations
- Provided integrations are listed for Poem, Actix-web, Warp, Rocket, and Axum.checked 9 Oct 2026
Alternatives to async-graphql
- 1
Altair GraphQL Client
Free planWebExtensionLinuxmacOS7.4From $7.99 a month - 2

Apollo Client
Free planAndroidiOSWebAPI7.3From $5 a month - 3

Hasura
Free planWebAPILinuxSelf-hosted6.9Free plan - 4

GraphQL Hive
Free planWebAPISelf-hosted6.7From $20 a month - 5
PostGraphile
Free planWebAPISelf-hosted6.7From $25 a month - 6

WunderGraph Cosmo
Free planWebAPISelf-hosted6.7From $499 a month
