Hapi · First-party SDK

Half your Hapi API’s traffic isn’t human.
Do you know what it did?

A server registration that hooks the request lifecycle - no extensions to wire by hand.

Source: Imperva 2026 Bad Bot Report

npm i @apitraffic/node

const Hapi = require('@hapi/hapi');
const apitraffic = require('@apitraffic/node');

const init = async () => {
  const server = Hapi.server({ port: 3000, host: 'localhost' });

  await server.register(apitraffic.hapi({
    token: process.env.API_TRAFFIC_TOKEN,
    bucket: process.env.API_TRAFFIC_BUCKET,
  }));

  server.route({
    method: 'GET',
    path: '/users/{id}',
    handler: (request) => ({ id: request.params.id }),
  });

  await server.start();
};

init();
Register before your routes so the route table is read at start.

Node 20+ · types included · read the middleware source

Hapi

What this looks like in Hapi

The lifecycle has a dozen extension points

onRequest, onPreAuth, onPostAuth, onPreHandler, onPreResponse - each sees a different version of the request. Registering the plugin attaches at the points that produce one complete record, so you are not reconciling three ext handlers that disagree about when the request started.

Route config is where the truth lives

Hapi routes declare their own validation, auth strategy and payload rules. We read the route table, so endpoints group by their declared path and the record knows which auth strategy ran.

onPreResponse is the only place the response is final

Boom errors are rewritten late in the lifecycle. Capturing earlier records an outcome that never reached the client.

The record

Every Hapi request, with its queries and its verdict attached

One pass through one middleware: the payload, every query and outbound call it caused, and the firewall's decision - on one record, watched for incidents, drift and regressions.

Pricing

Simple, published pricing

Every plan and what it includes, read live from our billing system - with a free trial and no credit card to start.

Solo

$79per month
Start free trial

Retention: 30 days of request history

Usage & limits

  • 1M requests · Captured requests (then $5.00 per 1,000 requests)
  • 5 records/s · Ingest rate
  • 5 buckets · Buckets
  • 2 environments · Environments
  • 1 seat · Team members
  • Unlimited · API tokens

Logging & search

  • 30 days · Retention window
  • Collections
  • Saved stream views
  • 10 views · Saved views per account
  • Custom reports
  • 5 keys · Promoted tag keys
  • Unlimited · Exclusion rules
  • Unlimited · Custom redaction rules

APM & performance

  • Deploy & incident markers
  • 10 rules · Endpoint rules

Host telemetry

  • Host telemetry
  • Unlimited · Reporting servers
  • Unlimited · Host samples

Firewall

  • Web application firewall
  • 2 policies · WAF policies per account

Embeds & sharing

  • 10 reports and dashboards · Embedded reports and dashboards
  • Share links

AI & MCP

  • AI diagnoses

Alerts & drift

  • Alerting
  • 1 channel · Alert channels
  • Certificate monitoring
  • 5 hosts · Monitored certificate hosts
  • Outbound destination watch

Integrations

  • Git integration
  • 5 repositories · Linked repositories

Business

$899per month
Start free trial

Retention: 360 days of request history

Usage & limits

  • 25M requests · Captured requests (then $5.00 per 1,000 requests)
  • 20 records/s · Ingest rate
  • 100 buckets · Buckets
  • 100 environments · Environments
  • Unlimited · Team members
  • Unlimited · API tokens

Logging & search

  • 360 days · Retention window
  • Collections
  • Saved stream views
  • Unlimited · Saved views per account
  • Custom reports
  • 50 keys · Promoted tag keys
  • Unlimited · Exclusion rules
  • Unlimited · Custom redaction rules

APM & performance

  • APM
  • Deploy & incident markers
  • Unlimited · Endpoint rules

Host telemetry

  • Host telemetry

Firewall

  • Web application firewall
  • Unlimited · WAF policies per account

Embeds & sharing

  • Embeds
  • Unlimited · Embedded reports and dashboards
  • Share links

AI & MCP

  • AI diagnoses
  • MCP server
  • MCP request replay

Alerts & drift

  • Alerting
  • Unlimited · Alert channels
  • API drift detection
  • Attention signals
  • Certificate monitoring
  • Unlimited · Monitored certificate hosts
  • Outbound destination watch

Integrations

  • Git integration
  • Unlimited · Linked repositories

Compare all plan features

Every plan starts with a 7-day free trial - no credit card to begin, and nothing is charged unless you choose a plan.

Prices in the currency shown, excluding tax. Overage is billed per unit and rounded to the cent on the invoice.

Objections

The questions we actually get

Know what your API did - before your customers tell you.

One npm install and one line of code. Your first requests arrive in minutes, with their queries, their firewall verdict and a baseline for every endpoint already building.

Free trial · No credit card · Set up in minutes