GraphQL engine

Hasura

Hasura generates a GraphQL API over an existing database. This profile covers what it does, how it is priced, and where it stops being the right choice.

What the product actually does

Point Hasura at a Postgres database and it produces a complete GraphQL schema: queries, mutations, subscriptions, filtering, pagination and relationship traversal. The work that would otherwise be a resolver per field is generated from the schema and the foreign keys.

Authorization is expressed as row-level and column-level permissions per role, declared in metadata rather than code. That is the substantive feature: access control lives in one place and is enforced by the engine rather than reimplemented in every resolver.

How pricing works once you are inside

The open-source engine is free and complete for most uses. The cloud product prices on vCPU and requests, and the enterprise tier adds the governance features — audit, SSO, and multi-tenant isolation.

The cost that surprises teams is the database, not Hasura. A generated GraphQL API makes it trivially easy to issue expensive queries, and a client that fetches deeply nested relationships can load the database in ways an application with hand-written resolvers would not.

Where it breaks down

Business logic. Anything that is not a straightforward read or write has to live in a database function or an external service, and the engine's opinion about where logic belongs is firm.

The GraphQL-first model is also a bet. A team that later wants REST, or a mobile client that would rather fetch less, ends up fighting the generated schema's shape.

What switching costs

High. The permissions metadata and the generated schema are the application's contract with its clients, and replacing the engine means replacing both.

Sources

Hasura public documentation and pricing page, read October 2026.