Lighthouse vs Mercurius
Lighthouse
lighthouse-php.comMercurius
mercurius.devSide by side
| Figure | Lighthouse | Mercurius |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · GraphQL Tools | 8.1 (#7) | 6.5 (#24) |
| Installation | The tutorial installs Lighthouse in a Laravel project with Composer using `composer require nuwave/lighthouse`. | The documented installation command is npm i fastify mercurius graphql, with a Yarn alternative also provided. |
Plans
In their own words
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.