On this page
Overview
async-graphql is a GraphQL server library for Rust. It supports static and dynamic schemas, asynchronous resolvers, subscriptions, uploads, DataLoader, Apollo Federation, and integrations with Poem, Axum, Actix Web, and other HTTP servers.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Define GraphQL schemas and resolvers from Rust types and macros
Procedural macros such as Object map Rust types and methods to GraphQL objects and fields. Both static and dynamic schemas are supported, with async/await used for resolver execution.
Sources: [2]
Extend servers with subscriptions, DataLoader, and Federation
Features include WebSocket subscriptions, batch queries, DataLoader, persisted queries, Apollo Federation v2, and custom extensions. HTTP framework adapters are provided as separate integration crates.
Sources: [2]
Best fit
Fits Rust services adding a GraphQL execution layer to an existing HTTP stack
It integrates with Poem, Axum, Actix Web, Warp, Rocket, and other frameworks while keeping schema types and resolver implementations in Rust.
Sources: [2]
Before adoption
Enforce query limits and separate stable 7.2 from the 8.0 RC development line
The README recommends limiting query complexity, depth, and directives in production. The stable 7.2.1 Cargo manifest declares Rust 1.89, while the default branch is on the 8.0.0 RC line, so production adoption should distinguish stable APIs from RC breaking changes.
Official sources
- [1]async-graphql/async-graphql — GitHub repository(2026-10-06)
- [2]async-graphql 7.2.1 — README(2026-10-06)
- [3]async-graphql 7.2.1 — Cargo.toml(2026-10-06)
- [4]async-graphql — current development branch(2026-10-06)
Supplemental curator note
async-graphql models schemas through Rust types and procedural macros, then connects to servers such as Poem or Axum through integration crates. Production schemas should set explicit complexity, depth, and directive limits rather than accepting unbounded query cost.
Try it in 3 steps
- 1
Clone the stable 7.2.1 source and examples
Pin the commit recorded in the crates.io 7.2.1 package and initialize the matching official examples submodule.
git clone https://github.com/async-graphql/async-graphql.git && cd async-graphql && git checkout 86a19327ec14e20b702de79b5a761fb735ac2428 && git submodule update --init - 2
Build the library
Build the stable 7.2.1 source to verify the Rust toolchain and dependencies.
cargo build - 3
Run the Axum Star Wars example
Run the official Axum integration example and inspect the GraphQL schema and HTTP server integration.
cd examples && cargo run --bin axum-starwars
Growth
Growth trends · Last 30 days
3,682 Stars
Trend data is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- async-await
- graphql
- hacktoberfest
- rust
- rust-crate
- rust-lang
- server
- Stars
- 3,682
- Forks
- 536
- Watchers
- 28
- Open issues
- 255
- Contributors
- 254
- Owner type
- Organization
- Primary language
- Rust
- License
- Apache-2.0
- Repository last updated
- Apr 21, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- ASP.NET Core38,465 Stars
2 shared tag(s) · 3 shared category(s)
build web apps, HTTP APIs, and mobile backends on a modular cross-platform .NET web framework
C# - Eclipse Vert.x14,689 Stars
2 shared tag(s) · 3 shared category(s)
build reactive JVM applications for HTTP and TCP with event loops and non-blocking I/O
Java - Dropwizard8,582 Stars
2 shared tag(s) · 3 shared category(s)
combine Jetty, Jersey, Jackson, and Metrics into a production-ready Java REST-service stack
Java - FastAPI102,814 Stars
2 shared tag(s) · 2 shared category(s)
Unify validation, dependency injection, and OpenAPI around Python type declarations
Python - Flask74,897 Stars
2 shared tag(s) · 2 shared category(s)
build Python WSGI applications with routing, request handling, and Jinja templates
Python - Fiber40,204 Stars
2 shared tag(s) · 2 shared category(s)
combine Express-inspired routing, binding, and middleware on top of fasthttp
Go
Report incorrect information
Tell us if any listing information is incorrect or outdated.