There are dozens of plugins for hapi, ranging from documentation to authentication, and much more. If you wrote or use a plugin that you don't see on this list, please send us a pull request.




  • hapi-ending

    A simplified browsable api documentation generator

  • hapi-swagger

    A swagger documentation UI generator plugin for hapi

  • hapi-swagger-models

    Generate Backbone models from a swagger API

  • hapi-swaggered

    A plugin to generate swagger v2.0 compliant specifications based on hapi routes and joi schemas

  • hapi-swaggered-ui

    A plugin to serve and configure swagger-ui

  • lout

    A browsable documentation generator


  • brok

    Brotli encoder and decoder




  • hapi-rabbit

    A simple rabbitMQ integration plugin for hapi

  • hapi-plugin-websocket

    Seamless WebSocket integration by injecting WebSocket messages as HTTP request

  • multines

    Support for multi-process publish/subscribe for nes

  • susie

    Server-Sent Events for hapi with support for streaming events

  • hapi-wechat

    Wechat plugin for hapi


  • blankie

    A plugin that makes Content-Security-Policy headers easy

  • crumb

    CSRF crumb generation and validation for hapi

  • hapi-api-secret-key

    Protect your micro-service API by only allowing explicit access with secret tokens. Great for proxies or API Management gateways

  • ralphi

    Simple and minimal rate limiting and bruteforce protection




  • acquaint

    Autoload routes, handlers, and methods through glob patterns

  • akaya

    Generate URIs fast based on named hapi routes their parameters

  • bassmaster

    The batch endpoint makes it easy to combine multiple requests into a single one

  • bedwetter

    Auto-generated, CRUDdy route handlers for Waterline models in hapi

  • bissle

    Minimalist HALicious pagination reply interface for HapiJS

  • configue

    Config plugin for Hapi

  • cron

    Cron jobs for internal hapi.js routes

  • cron-cluster

    Cron jobs for internal hapi.js routes with leader election (mongodb or redis) - cluster mode

  • crudy

    Exposes a RESTful CRUD interface using Dogwater models and Bedwetter's route-handler

  • disinfect

    Request query, payload, and params sanitization

  • dogwater

    A hapi plugin integrating Waterline ORM

  • errorh

    Custom error pages

  • glee

    Specify environment-specific scopes for your routes

  • hapi-arch

    Hapi plugin, with a cli tool to generate MVC hapi project and auto-load almost everything

  • halacious

    A HAL processor for hapi servers

  • hapi-algolia-search

    A hapi plugin integration Algolia Search (a search engine as a service)

  • hapi-api-version

    An API versioning plugin for hapi.

  • hapi-assets

    Load assets in views based on node environment

  • hapi-async-handler

    Use ES7 async functions and co generator functions as hapi route handlers

  • hapi-attempts-limiter

    An hapi.js plugin that limits the number of failed attempts for every route

  • hapi-auto-route

    Autoloads routes object from a directory

  • hapi-aws

    A HapiJS plugin for AWS services.

  • hapi-bookshelf-models

    Load, register, and expose Bookshelf.js models

  • hapi-bookshelf-serializer

    Serialize Bookshelf.js models sent through Hapi reply

  • hapi-bookshelf-total-count

    Calculate and append the total count of Bookshelf model instances that match a query

  • hapi-boom-decorators

    Exposes boom errors through the hapi reply interface

  • hapi-cache-buster

    Browser asset cache buster

  • hapi-decorators

    Decorators for HapiJS routes

  • hapi-default-payload

    Hapi plugin to default the request payload to an empty object

  • hapi-dev-errors

    Get better error details during development and skip the command line round trip to catch the issue

  • hapi-dropbox-webhooks

    A Hapi plugin for receiving requests from the Dropbox webhooks API

  • hapi-error

    Custom error handling with ability to pass an object and render a custom error template or redirect to a specific url on error.

  • hapi-gate

    Easily handle http to https and www/non-www redirections

  • hapi-geo-locate

    Geo locate requests by IP and provide the user’s location in your route handlers

  • hapi-handlers

    Allow to autoload handlers, see more here:

  • hapi-heroku-helpers

    A hapi.js plugin which provides some basic functionality which can be useful when running a hapi.js site on Heroku

  • hapi-hubspot

    Plugin handles initial connection and exposes a single client instance for node-hubspot (a node.js wrapper for HubSpot API)

  • hapi-imagemin-proxy

    Hapi proxy for serving optimized images with `imagemin`

  • hapi-info

    Adds route to show hapi version and plugin versions

  • hapi-io

    A plugin that can forward events to hapi routes

  • hapi-level-db

    HapiJS / LevelDB integration

  • hapi-magic-filter

    Hapi.js plugin to validate multipart/form-data file contents

  • hapi-methods-injection

    Hapi.js plugin that scan and register automatically your hapi methods

  • hapi-mongo-models

    MongoDB object models for hapi applications

  • hapi-mongodb

    A simple Hapi MongoDB connection plugin, accessing one or several connections pools through server or request properties

  • hapi-mongojs

    mongojs connection plugin for hapi

  • hapi-mongoose

    A lightweight mongoose connection and configuration plugin for Hapi 9+

  • @watchup/hapi-mongoose

    Hapi.js plugin that maps mongoose models to routes

  • hapi-mongoose-db-connector

    hapi plugin that connects to mongodb for mongoose apps

  • hapi-multi-mongo

    Hapi mongodb connection plugin, especially for multiple connections

  • hapi-mysql2

    Another mysql plugin for Hapijs that supports multiple connections, inspired by Marsup/hapi-mongodb

  • hapi-named-routes

    Add named routes to your view templates

  • hapi-next

    Add modularity to your route handlers

  • hapi-node-postgres

    Wrap requests with a pg connection. Uses connection pooling via `node-postgres`

  • hapi-nudge

    A Hapi plugin to prevent Heroku dynos from sleeping

  • hapio

    A simple bridge plugin between HapiJS and SocketIO

  • hapi-octopus

    A multi-purpose plugin that allows you to autoload methods, handlers, routes and decorators using a simple signature convention.

  • hapi-paginate

    A simple pagination for HapiJS responses

  • hapi-pagination

    A simple / customizable pagination plugin for HapiJS

  • hapi-plugin-co

    Co-routine based route handlers for asynchronous processing

  • hapi-plugin-header

    Always send one or more custom HTTP headers, independent of the current route

  • hapi-rate-limiter

    A Hapi plugin that enables rate-limiting for GET, POST, and DELETE requests. This plugin can be configured with custom rates on a route-by-route basis.

  • hapi-recaptcha

    Google's reCaptcha for hapi

  • hapi-redis

    A Hapi plugin to provide a redis client

  • hapi-redis2

    A redis plugin for Hapijs that supports multiple connections, inspired by Marsup/hapi-mongodb

  • hapi-request-user

    A hapi plugin that shortcuts “request.auth.credentials” to “request.user”

  • hapi-response-time

    A Hapi plugin for adding `x-response-time` header to responses

  • hapi-response-meta

    A Hapi plugin for adding metadata to a Hapi response

  • hapi-route-directory

    A lightweight json route directory

  • hapi-router

    A plugin to automatically load your routes

  • hapi-routes-status

    Exposes a status route for your node.js/hapi projects

  • hapi-sanitize-payload

    Hapi plugin to sanitize the request payload

  • hapi-sequelizejs

    HAPI Plugin for Sequelize (compatible v17)

  • hapi-sequelize-crud

    Automatically generate RESTful API for your models, depends on hapi-sequelized

  • hapi-suricate

    Simple and flexible Hapi route REST handlers for your Mongoose models

  • hapi-test

    Test hapi plugins with chaining method calls and assertions

  • hapi-to

    Generate dynamic URLs to named routes, with support for query and path params (including wildcard, optional and multi-params)

  • hapi-webpack

    A Hapi plugin for building and serving Webpack bundles

  • hapi-webpack-dev-server

    Implementation of the dev server middleware to function as a plugin in a hapi.js server

  • haute-couture

    File-based hapi plugin composer

  • hecks

    Mount your express app onto your hapi server, aw heck!

  • hodgepodge

    A plugin dependency resolver

  • hpal

    The hapi pal CLI, for searching hapi docs, scaffolding projects, and running custom server commands

  • k7

    Connect you database with Hapijs made easy

  • labbable

    No-fuss hapi server testing

  • loveboat

    A pluggable route configuration preprocessor

  • mrhorse

    Plugin for adding pre-handlers and post-handlers to routes

  • patova

    A limitd plugin for hapi, useful for rate-limiting/throttling

  • poop

    Plugin for taking a process dump and cleaning up after an uncaught exception

  • recourier

    Request lifecycle property sealing

  • reptile

    A plugin for creating a REPL

  • rest-hapi

    A RESTful API generator for hapi

  • ridicule

    A plugin for mocking requests

  • schmervice

    A service layer for hapi

  • schwifty

    A model layer for hapi integrating Objection ORM

  • scooter

    User-agent information plugin

  • spazy

    Static file and single page application (spa) plugin for hapi

  • tacky

    Server-side response caching for hapi

  • therealyou

    A plugin for setting the and based on the X-Forwarded-For and X-Forwarded-Port headers

  • toothache

    A plugin designed to make it very simple to create RESTful CRUD endpoints for a Hapi server using MongoDB

  • tournesol

    A tool designed to make api testing clearer and easier

  • tandy

    Auto-generated, RESTful, CRUDdy route handlers for Objection models

  • toys

    The hapi utility toy chest

  • tv

    Interactive debug console plugin for hapi servers

  • underdog

    HTTP/2 server-push for hapi

  • wozu

    Server decorator to list all defined hapi.js routes

  • wurst

    Directory based autoloader for routes

  • hapi-pulse

    Gracefully stop the hapi server on SIGINT (for graceful PM2 reloads)

  • hapi-rate-limitor

    Easy to use rate limiting to prevent brute-force attacks


  • blaine

    Server-level file signature validation for raw request payloads in memory

  • burton

    Server-level file signature validation for raw stream request payloads

  • copperfield

    Server-level file signature validation for parsed request payloads in memory

  • coutts

    Server-level file signature validation for raw temporary file request payloads

  • fischbacher

    Server-level file signature validation for parsed temporary file request payloads

  • hapi-plugin-ducky

    Validating payloads with the DuckyJS JSON validation language

  • henning

    Server-level file signature validation for parsed request payload file streams

  • houdin

    Route-level file signature validation for request payloads in memory

  • lafayette

    Route-level file signature validation for temporary file request payloads

  • ratify

    Use JSON schemas to specify valid request payload, query, path and headers and generate swagger from them

  • supervizor

    Server-level request payload validation

  • thurston

    Route-level file signature validation for request payload file streams

  • hapi-seneca

    Seneca micro service for hapi

The extended hapi universe

  • boom

    HTTP-friendly error objects

  • confidence

    A configuration document format, an API, and a foundation for A/B testing

  • faketoe

    An XML to JSON converter

  • glue

    Server composer

  • h2o2

    Proxy handler

  • hapi-graceful-pm2

    Handle true zero downtime reloads when issuing a pm2 gracefulReload command

  • hapi-openapi

    hapi plugin to build design-driven apis with OpenAPI (formerly swagger).

  • hapi-plugin-graphiql

    HAPI plugin for integrating GraphiQL, an interactive GraphQL user interface

  • hoek

    General purpose node utilities

  • inert

    Static file and directory handlers

  • joi

    Object schema description language and validator for JavaScript objects

  • kilt

    Combine multiple event emitters into a single emitter

  • lab

    A simple testing utility with code coverage analysis

  • makemehapi

    Self guided workshops to teach you about hapi

  • nes

    WebSocket adapter plugin for hapi routes

  • qs

    A querystring parser with support for arrays and objects

  • rejoice

    hapi.js cli

  • shot

    Injects a fake HTTP request/response into your node server logic

  • tarm

    Add tarmount handler for serving tar file contents

  • topo

    Topological sorting with grouping support

  • vision

    Templates rendering support

  • wreck

    HTTP Client utilities