finds.dev← search

// the find

absinthe-graphql/absinthe

★ 4,402 · Elixir · NOASSERTION · updated Sep 2026

The GraphQL toolkit for Elixir

Absinthe is the GraphQL server library for Elixir, providing schema definition, query execution, and subscription support built on top of Phoenix and Plug. It's for Elixir/Phoenix teams building a GraphQL API rather than REST, especially ones that also want real-time subscriptions.

Schemas are Elixir macros checked at compile time, so a typo in a field or type reference fails the build instead of surfacing as a runtime 500. The middleware/plugin system lets you swap out individual pipeline phases (parsing, validation, resolution) per-document, which is unusual flexibility compared to most GraphQL server libraries. Built-in dataloader-style batching addresses N+1 resolution without bolting on a separate library, and subscriptions are a first-class part of the core rather than an add-on package.

It's Elixir-only, so there's no path here if your stack is polyglot and you need the schema logic shared outside the BEAM. The learning curve is steep if you're coming from schema-first tools like graphql-js or Hot Chocolate — the macro-heavy, pipeline-phase model takes a while to click, and debugging a custom pipeline phase means reading Absinthe's own source. Subscriptions require Phoenix PubSub wiring, which is fine if you're already on Phoenix but adds setup friction if you're using Absinthe standalone with Plug.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →