# Traffic Intelligence - ApiTraffic

> Full-fidelity request capture for Node.js APIs - or any stack through a proxy URL: readable search, automatic endpoint grouping, saved views, collections, sharing, reports and deploy markers.

Source: https://dev.apitraffic.io/platform

Traffic & search

# Every request. Every payload. Searchable in seconds.

Stop reconstructing incidents from log lines. One line in your Node app - or a proxy URL for any other stack - keeps the whole transaction: headers, query, request and response bodies, timing and outcome, inbound and outbound, searchable with filters anyone can read.

[Start your free trial](https://dev.app.apitraffic.io/signup?src=platform-hero)[See pricing](/pricing)

Capabilities

## What you get on day one

One npm install. No dashboards to build, no query language to learn, no sampling rules to tune.

### Criteria search

Filter on method, path, status, duration, consumer, header, your own tags or any field inside a body. Combine with && and ||, save it, share it.

### Saved views

A saved filter becomes a view your team can open during a release - “payments 5xx”, “partner API only”, “anything over 1 second”.

### Endpoint normalisation

Our extractor collapses identifiers out of paths automatically, so /users/8f21a/orders/912 groups with every other request to that route.

### tag(), trace() and span()

Attach an account id to a request with tag(), leave a production breadcrumb with trace() instead of console.log, and time your own code with span() - all from the same SDK import.

### Event markers

Deploys, incidents and config changes land on the same charts as your traffic - from the app, the API, your CI job or a linked Git repository.

### Redactions & exclusions

Credential headers and secret-looking keys are masked from the first request. Add your own redaction rules, and drop routes you never want recorded.

### Shares & collections

Group related requests into a collection for a bug report, then share a signed, expiring link - the recipient needs no account.

### Git integrations

Connect GitHub, GitLab or Bitbucket so a spike in errors has a commit and an author next to it.

### Everything via API

The same REST API the dashboard uses is public and documented - requests, metrics, spans, events, redactions, reports and more.

### Resend a request

Edit the headers or body of any captured request and send it again to check a fix - the result lands in the log next to the original.

### Reports & dashboards

Summarize traffic by any field or tag you send, pin reports to dashboards your team shares, and embed them in your own tools.

### Environments & buckets

Separate production from staging, and one service from another, each with its own settings, rules and firewall policies.

Request detail

## The whole transaction, on one screen

Open a request and you see what you received, what you returned, every query and downstream call it made, and whether the firewall had an opinion. Then resend it, share it, or hand it to your AI agent.

- **Request & response bodies**, with redacted fields clearly marked
- **Span waterfall** down to the SQL statement and the line of code that ran it

- **Find similar** requests in one click, and see related calls in the same trace
- **Fix with AI** on every failed request

Endpoints

## Endpoints, not forty thousand URLs

ApiTraffic groups /v1/orders/ord_8f21a and every request like it under /v1/orders/{order_id} automatically, so traffic, latency and errors add up per route - and every alert, drift baseline and report works per endpoint, too.

- **Learned from your traffic,** with rules to adjust it when you need to
- **Inbound and outbound:** the APIs you call are endpoints too

Compare requests

## Why did this one fail when that one worked?

Pick any two requests from the same bucket and ApiTraffic puts them side by side: the overview, every header matched by name, and the bodies as a line-by-line diff with the changed part of each line highlighted. The one field that differs stops hiding in a wall of JSON.

- **Changed, only in A, only in B** - marked on every header
- **Only show differences** folds away everything identical

- **Sort JSON keys** so key order alone never counts as a change

Resend requests

## Check the fix against the exact request that failed

Open any captured request in the editor, change the method, URL, query, headers or body, and send it again. ApiTraffic sends it, shows you the response, and logs the new attempt as a request of its own - linked back to the original.

- **JSON, form and multipart bodies** edited in place
- **Resent requests in the log,** next to the one they came from

- **Or let your assistant do it:** the MCP `replay_request` tool prepares a replay

Collections & share links

## Turn a bad afternoon into a bug report

Gather the requests that tell the story into a named collection - the failures from an incident, the examples a partner should look at, the calls that reproduce a bug - so nobody has to search for them again. Then share one request or the whole collection with a public, read-only link.

- **Collections** your whole team sees, per bucket
- **Share links** that need no account, expire when you choose and can be revoked

- **Redaction applies** to everything a link shows

Reports & dashboards

## Answer the questions your dashboards never planned for

Group traffic by endpoint, status, country, customer or any tag you send with tag(), measure volume, errors and latency, and compare with an earlier period. Save it, share it, and pin it to a dashboard that filters every tile at once - say, one customer’s week.

- **Request reports and span reports** - slowest queries, time spent per vendor, N+1s
- **Templates** for top customers, error hot spots and more

- **From the API and MCP** too: run a saved report from a script or your assistant

Embeds

## Put your API traffic inside your own product

Give customers, partners or your support team a live view of their own API usage without building it. Every embed is locked down by a short-lived token your server signs, so each viewer sees only what you allow.

### Embedded request log

A fully styled, live request log as a Web Component - vanilla JavaScript or React, themed to match your app, no iframe. The token decides which requests it shows and which detail tabs exist at all.

[Embed the request log →](/docs/integrations/embed)

### Embedded reports & dashboards

Show each customer their own usage, errors and latency: a saved report or a whole dashboard, filtered to that customer by the token you sign. Sized to its content and isolated from your page.

[Embed reports and dashboards →](/docs/integrations/embed-reports)

### Public share links

A read-only page for one request or a whole collection, for a partner or a support ticket. Nobody needs an account; you choose the expiry and can revoke it any time.

[Share requests and collections →](/docs/sharing)

The embedded request log, previewed in Embed Setup.

Allowing a dashboard to be embedded, with the token code for your server.

Versus

## Why not just search your logs?

Because log lines are a summary someone wrote before they knew what would break.

| Question you actually ask | Log search | Gateway analytics | ApiTraffic |
| --- | --- | --- | --- |
| “What body did we send upstream?” | Only if logged | No | Captured in full |
| “Which query made this slow?” | No | No | Span waterfall |
| “Group this by endpoint, not URL” | Manual regex | Partial | Automatic |
| “Show me this one customer’s request” | If you have the ID | Aggregate only | One click |
| “Block that payload pattern” | No | Edge only | Firewall middleware |
| “Did this deploy break the API?” | No | No | Drift detection + regressions |
| “Tell me before customers notice” | Alert on a query you wrote | Basic thresholds | Incidents vs. each endpoint’s normal |
| “Let my AI agent investigate” | No | No | MCP server + Fix with AI |

Programmable

## Everything the dashboard does, your scripts can do too

Query traffic from a CI job, assert on it in an integration test, or build the internal dashboard your support team keeps asking for.

```
curl -G "https://api.apitraffic.io/v1/accounts/$ACCOUNT/buckets/$BUCKET/requests" \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode 'criteria=status_code >= 500 AND url_path like "/v1/payments/*"'
```

## See your own traffic in the next five minutes.

npm i the SDK into a staging service and watch requests land. Free trial, no credit card.

[Start your free trial](https://dev.app.apitraffic.io/signup?src=platform-closing)

Free trial · No credit card · Set up in minutes
