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

Hypermedia

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

  • good-kinesis-reporter

    AWS Kinesis and AWS Kinesis Firehose reporter for Good

  • hapi-good-winston

    Winston logging for Good process monitor

  • hapi-graylog

    A simple graylog interface for hapi.js

  • 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

  • laabr

    Well-formatted pino logger for hapi.js - inspired by morgan

  • 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

  • hapi-wechat

    Wechat plugin for hapi

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

  • ralphi

    Simple and minimal rate limiting and bruteforce protection

Session

Templating

Utility

  • acquaint

    Autoload routes, handlers, and methods through glob patterns

  • admin-bro-hapijs

    AdminBro - Admin Panel integrated into your hapijs routes

  • 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

  • hapi-scaffold

    Code generation for the hapijs framework

  • 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

    Automatically load routes from 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: 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-maxmind-web

    Hapi.js plugin for MaxMind GeoIP2 Web Service

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

    Oracledb plugin for hapijs

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

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

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

    Easy to use rate limiting to prevent brute-force attacks

  • 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

    A Hapi plugin for 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-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

  • rate-limiter-flexible

    Mature and flexible rate limiter, DDoS and bruteforce protection at any scale in process Memory, Cluster or PM2, Redis, Memcached, MongoDb, etc. Block key for some duration, enable Leaky Bucket analogy, manage failover with insurance options, configure smart key blocking in memory and many others.

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

  • 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

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

  • 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

  • podium-hapi-layout

    Hapi plugin for writing Micro Frontend Layout servers with Podium - https://podium-lib.io

  • podium-hapi-podlet

    Hapi plugin for writing Micro Frontend Fragment servers with Podium - https://podium-lib.io

  • 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