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.

Authorization

Authentication

Documentation

  • 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

Encoding

  • brok

    Brotli encoder and decoder

Localization/Internationalization

Logging/Metrics

  • airbrake-hapi

    Sends internal server errors to Airbrake.io

  • blipp

    Displays the routes table at startup

  • epimetheus

    Key metrics instrumentation for prometheus.io monitoring solution

  • good

    A logging plugin that supports output to console, file and udp/http endpoints

  • good-influx

    InfluxDB broadcasting for Good process monitor

  • good-logstash

    Logstash TCP/UDP broadcasting for Good process monitor

  • hapi-good-winston

    Winston logging for Good process monitor

  • hapi-statsd

    Sends request round trip metrics to statsd

  • hapi-plugin-traffic

    Network traffic accounting

  • hapi-alive

    Health route for your hapi.js server

  • hapi-pino

    Fast and simple JSON logger

  • hapi-rollbar

    Hapi plugin for the fabulous Rollbar logging service

  • hapijs-status-monitor

    Realtime Monitoring solution for Hapi.js apps, inspired by GitHub Status

  • opbeat

    Performance monitoring and error tracking - tailored for Hapi.js apps

Messaging

  • 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

Security

  • 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

Session

Templating

Utility

  • 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

  • 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

  • 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-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-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-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: http://hapijs.com/api#serverhandlername-method

  • 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 socket.io plugin that can forward socket.io 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-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-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-sequelize

    Hapi plugin for the fabulous Sequelize ORM

  • 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-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

  • hodgepodge

    A plugin dependency resolver

  • 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

  • scooter

    User-agent information plugin

  • tacky

    Server-side response caching for hapi

  • therealyou

    A plugin for setting the request.info.remoteAddress and request.info.remotePort 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

  • 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

Validation

  • 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

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-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

  • topo

    Topological sorting with grouping support

  • vision

    Templates rendering support

  • wreck

    HTTP Client utilities