Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Open-source GraphQL engine that generates instant realtime GraphQL APIs over your data with fine-grained access control.
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.
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.
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.
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.
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.
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.
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.
