Hasura vs Lighthouse
Hasura
hasura.ioLighthouse
lighthouse-php.comSide by side
| Figure | Hasura | Lighthouse |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Linux | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 3 | 1 |
| Spec score · GraphQL Tools | 7.7 (#13) | 8.1 (#7) |
| Authorization | Hasura Cloud authorization can integrate with an authentication provider of the customer's choice and supports JWT controls through headers, cookies, or webhooks. | The `@can` directive lets Lighthouse use Laravel Policies to restrict field operations. |
Plans
In their own words
Hasura
Hasura is a hybrid API platform that generates data APIs over connected databases, so developers do not need to write handlers, schemas, or resolvers. Hasura Cloud plans provide instant GraphQL APIs, RESTified endpoints, and GraphQL subscriptions. Listed database sources include Postgres-compatible systems, Microsoft SQL Server, BigQuery, Amazon Athena, Snowflake, MySQL, Oracle, MariaDB, MongoDB, and ClickHouse. APIs can be extended with remote schemas, remote joins, Actions, and event or scheduled triggers. Authorization can use an authentication provider of the customer’s choice, with JWT controls through headers, cookies, or webhooks. Cloud hosting is available on AWS, Google Cloud Platform, and Microsoft Azure Cloud. The Community Edition can run from a Docker image, while Enterprise Edition supports on-premises deployment. Hasura Cloud also lists GitHub, observability integrations, query allow lists, access controls, and DDoS monitoring. Plans include a free tier and paid options.
Lighthouse
Lighthouse is a framework for serving GraphQL from an existing Laravel application. It uses GraphQL Schema Definition Language and server-side directives to describe data and add behavior, while reusing Laravel concepts and Eloquent models. Built-in directives can create records, resolve relationships, apply query constraints, paginate results, and validate fields and arguments. Developers can add custom directives for reusable behavior, while the @can directive family can use Laravel Policies to restrict field operations. The default endpoint is `/graphql`, and any GraphQL client can use it. Lighthouse also supports standard Laravel authentication mechanisms, including Sanctum, and GraphQL subscriptions for event updates. Parsed queries can be cached with Laravel cache stores or local PHP files using OPcache; Automatic Persisted Queries are supported with Apollo compatibility. Installation uses Composer in a Laravel or Lumen project. The package is free and self-hosted. GraphQL tooling such as GraphiQL is not included, and federation support is experimental and cannot serve as a federation gateway.