Hasura GraphQL Engine is an open-source GraphQL server that instantly produces realtime GraphQL APIs over your databases, exposing data through a single composable, secure API endpoint.
What is Hasura GraphQL Engine?
Hasura GraphQL Engine is an open-source project by Hasura that provides instant GraphQL APIs on top of your data sources. It takes existing database schemas as input and outputs a GraphQL API with queries, mutations, and realtime subscriptions, along with fine-grained access control. The engine runs as a self-hostable server or via the managed Hasura DDN cloud service. The repository hosts two major versions: the stable V2 and the GA V3 engine that powers Hasura DDN.
The V3 engine supports PostgreSQL (and its flavors), MongoDB, ClickHouse, and MS SQL Server, and lets you extend behavior with custom business logic written in TypeScript, Python, or Go using the Connector SDKs. All official data connectors are open source and listed on the Hasura Connector Hub.
Key Features
- Instant GraphQL API — Automatically exposes a GraphQL endpoint over your data sources, allowing queries, mutations, and subscriptions with no hand-written resolvers.
- Realtime subscriptions — Provides realtime GraphQL APIs that push data changes to connected clients as they happen.
- Multi-database support — V3 connects to PostgreSQL and its flavors, MongoDB, ClickHouse, and MS SQL Server out of the box.
- Connector SDK — Write custom data-source connectors using TypeScript, Python, or Go with the official Connector SDKs.
- Fine-grained access control — Enforce row- and column-level permissions on the generated API, as highlighted in the project's description.
- Database event triggers — Trigger webhooks automatically on database insert, update, and delete events for event-driven workflows.
- Dual version line — The repository contains both the V2 engine (current stable) and the V3 engine (GA, powers Hasura DDN), each with its own documentation.
- Open source licensing — The core V3 engine and all data connectors are under Apache License 2.0; the V2 core is also Apache-2.0.
Who is it for?
- Backend developers — Build a production-grade GraphQL API over an existing relational or document database in minutes, without writing schema or resolver code.
- Startup teams — Accelerate feature development by using Hasura as the data access layer, replacing hand-maintained REST or GraphQL backends.
- Data platform teams — Unify access to multiple data stores (PostgreSQL, MongoDB, ClickHouse, MS SQL Server) behind one GraphQL endpoint with consistent security.
What can you do with Hasura GraphQL Engine?
- Mobile and web app developers: power your app's data layer with instant GraphQL queries, mutations, and subscriptions, including realtime updates for live feeds and collaboration features.
- DevOps engineers: deploy the engine anywhere via the Docker image or run it on Hasura's managed cloud, and use the CLI and docs for operations.
- Event-driven architects: configure database event triggers to invoke webhooks, enabling serverless reactions to data changes such as sending notifications or syncing external systems.
FAQ
Is Hasura GraphQL Engine free?
Yes, the core engine is open source under Apache License 2.0, so you can self-host it without licensing fees. Hasura also offers managed cloud services, but the open source project itself is free to use and modify.
What databases does Hasura support?
Hasura V3 officially supports PostgreSQL (and its flavors), MongoDB, ClickHouse, and MS SQL Server. Community-built connectors can add many more data sources through the Connector Hub.
How do I clone the Hasura repository?
For a quick start, use a shallow clone to save time and disk space: git clone https://github.com/hasura/graphql-engine.git --depth 1. Alternatively, a sparse checkout lets you fetch only the v3 folder if you're interested in the V3 engine code.
Can I contribute to Hasura?
Yes. The project is open source and welcomes contributions. The repository includes a contributing guide (CONTRIBUTING.md) and a code of conduct that all participants are expected to follow.
Does Hasura support authentication?
Hasura supports fine-grained access control, allowing you to define row- and column-level permissions on your API. You can integrate it with your application's existing authentication and authorization model to secure data access.








