Express · First-party SDK

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

One line in your middleware stack, in the one position that matters. No agent, no sidecar, nothing to deploy.

Source: Imperva 2026 Bad Bot Report

npm i @apitraffic/node

const express = require('express');
const apitraffic = require('@apitraffic/node');

const app = express();

app.use(express.json());          // parse first - verdicts read parsed bodies
app.use(apitraffic.express({
  token: process.env.API_TRAFFIC_TOKEN,
  bucket: process.env.API_TRAFFIC_BUCKET,
}));

app.get('/users/:id', (req, res) => {
  res.json({ id: req.params.id });
});

app.listen(3000);
Order is the whole integration. After express.json(), before your routes.

Node 20+ · types included · read the middleware source

Express

What this looks like in Express

Middleware order decides what you can see

Mount us after your body parser and before your routes. Earlier and the body is still a stream; later and the requests that never reach a handler - the 404s, the failed auth, the route someone shipped last quarter - are exactly the ones you lose.

Your error handler is not your record

A four-argument error middleware sees what threw. It does not see the request that 401d, or the key that walked forty endpoints without tripping anything. Those are requests, not errors, and they are where the interesting traffic is.

app.use() is not a route table

We read the router, so /users/8f21a/orders/912 groups as /users/{id}/orders/{id}. Percentiles line up per endpoint instead of per URL, without you annotating anything.

The record

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