Open beta — now accepting signups

Your users write
your tests.

Httrace captures real production traffic and automatically generates integration tests — without you writing a single line. Works with Python, Node.js, Go, and Ruby.

See how it works ↓ Already signed up? Log in →
before_httrace.py — 8 hours later
# Writing this... manually. Again. def test_checkout(): # Guessing the payload fields... resp = client.post("/checkout", json={ "cart_id": "abc123", # made up }) # Missing: 422, 401, coupon_code... # Missing: response field assertions assert resp.status_code == 200
test_checkout_flow.py — auto-generated
# Generated by Httrace — 14 interactions captured # Auth flow detected: POST /auth/login → access_token import pytest @pytest.fixture def mock_outgoing_http(respx_mock): respx_mock.post("https://api.stripe.com/v1/charges").mock( return_value=httpx.Response(200, json={"id": "ch_9f2a1c", "status": "succeeded"})) yield respx_mock @pytest.fixture def payload_post_checkout_201(): return {"cart_id": "cart_9f2a1c", "payment_method": "card"} def test_post_checkout_201(client, auth_headers, mock_outgoing_http, payload_post_checkout_201): r = client.post("/checkout", json=payload_post_checkout_201, headers=auth_headers) assert r.status_code == 201 assert "order_id" in r.json() def test_post_checkout_422(client, auth_headers, mock_outgoing_http): r = client.post("/checkout", json={}, headers=auth_headers) assert r.status_code == 422 ✓ 14 tests · auth_headers + mock_outgoing_http auto-generated
Works with
FastAPI Django Flask Starlette Express.js Go / chi Rails
SDK is MIT open-source — fully auditable

Watch how it works.

Writing tests is the
worst part of shipping.

8 hours writing tests that miss edge cases

Developers spend entire sprints writing tests based on what they think users do. Real users always find something else.

Real users find bugs your tests never caught

Your test suite passes. Production breaks. The scenario existed in your traffic logs the whole time — you just didn't know it.

New endpoints ship untested because no one has time

Deadlines kill test coverage. Every "we'll add tests later" endpoint is a future incident waiting to happen.

From production to test suite
in minutes.

01

Install

Works with Python, Node.js, Go, and Ruby. One package, one line of code.

$ pip install httrace # Python
$ npm install httrace # Node.js
$ go get github.com/httrace-io/httrace-go # Go
$ gem install httrace # Ruby
02

Capture

Add the middleware to your app. Real traffic is captured, PII is removed automatically.

app.add_middleware(
  HttraceCaptureMiddleware,
  api_key="ht_...",
  sample_rate=0.1
)
03

Generate

Run one command. Httrace writes real test files into your repo — pytest, Jest, Go, RSpec, or Vitest.

$ httrace generate
✓ 127 tests across 14 endpoints
✓ Written to tests/integration/
04

Guard CI

Add httrace diff to your pipeline. Breaking API changes fail the build before they hit production.

$ httrace diff --fail-on-breaking
✓ No breaking changes
exit 0

Up and running
in under 5 minutes.

Your API key unlocks everything. Here's exactly what happens after you join.

1

Sign up — get your API key instantly

After creating your account, you receive a personal ht_ API key. It identifies your account and tracks your monthly usage against your plan.

2

Install the SDK & add one line

Install via pip and register the middleware in your FastAPI, Flask, or Django app. The key goes in your environment variables — never hardcoded.

3

Traffic flows in automatically

Once the middleware is active, every real HTTP request is captured in the background. PII (emails, tokens, card numbers) is stripped before anything leaves your server.

4

Generate tests with one command

Run httrace generate from your project root. Httrace writes real pytest files to your repo — ready to commit and run in CI.

5

Monitor coverage & usage

Use httrace status to see which endpoints are covered and how many captures remain in your monthly quota.

  email from Httrace
# Welcome to Httrace!

Your API key:
ht_Kx9mTqL2vRpN7wYdBcAeJf3Z

Plan: Free · 10 000 captured requests / month

# Keep this key secret.
# Store it as an env variable:

$ export HTTRACE_API_KEY=ht_Kx9mTqL2...
$ pip install httrace

# In your app (FastAPI example):

import os
from httrace import HttraceCaptureMiddleware

app.add_middleware(
  HttraceCaptureMiddleware,
  api_key=os.environ["HTTRACE_API_KEY"],
  service="my-api",
  sample_rate=0.1, # capture 10%
)
# Your app runs normally.
# Httrace captures in the background.

POST /orders     → captured
GET /products/42 → captured
POST /auth/login  → captured (PII stripped)
GET /health      → skipped (excluded)

# No impact on response time.
# Queue: 0 ms overhead on your requests.
$ httrace generate

   tests/integration/test_post_orders.py  (3 tests)
   tests/integration/test_get_products.py (5 tests)
   tests/integration/test_post_auth.py   (2 tests)

✓ 10 tests across 3 endpoints

$ pytest tests/integration/
........  10 passed in 0.84s
$ httrace status

Coverage — my-api
─────────────────────────────────
POST  /orders     38 captures  200 201 422
GET   /products   91 captures  200 404
POST  /auth/login 14 captures  200 401

Plan: Free · 143 / 10 000 captured requests used
→ Upgrade for more

Everything your test suite needs.

🔀
5 test frameworks
Generate pytest, Jest, Vitest, Go, or RSpec — all from the same captured traffic. Switch formats any time.
GitHub Actions in 1 line
httrace diff --fail-on-breaking — fails your build automatically when breaking API changes are detected.
📡
API drift detection
See exactly which endpoints changed since your last test generation. Never ship untested schema changes again.
📄
OpenAPI spec from traffic
Auto-generate an OpenAPI 3.0 spec from real request/response shapes. No decorators, no annotations needed.
🛡️
PII sanitization
Emails, tokens, passwords, and card numbers are redacted before capture. EU servers, GDPR compliant by default.
🧩
Works with your stack
FastAPI, Django, Flask, Express, Rails. One pip install, one middleware line — no infrastructure changes required.

Finally, tests that
reflect reality.

* Feature comparison based on publicly available documentation as of April 2026. Subject to change.

Feature httrace Keploy Speedscale GoReplay
Generates real test code (not just replay)
No root / kernel access required eBPF mode only
No Kubernetes required
Managed SaaS (no self-hosting)
PII sanitization built-in Partial
Auth fixtures auto-detected
Dependency mocks auto-generated
Tests run without infrastructure
GitHub Actions integration Partial
Works with pytest / Jest / RSpec ✓ 5 frameworks Go / JS only
API drift detection Partial
OpenAPI spec generation Partial
Replay testing against staging Partial
Slack / email anomaly alerts Paid only
VS Code extension
EU data residency (GDPR) Self-hosted only Self-hosted only
Free tier available

Start free.
Pay as you grow.

Free
€0 /mo

For solo devs evaluating the tool.

  • 50K captured requests / month
  • 2 services
  • pytest + Jest
  • Auth fixture detection
  • API drift detection
  • 7-day data retention
Get started free
Indie
15 /mo

For freelancers & side projects.

  • 500K requests / month
  • 5 services
  • All 5 test formats
  • Dependency mocking
  • OpenAPI export
  • 30-day data retention
Coming soon In development
Business
149 /mo

For growing teams with production traffic.

  • 15M requests / month
  • 50 services
  • All 5 test formats
  • Dependency mocking
  • PII compliance guarantee
  • 20 team seats
  • 90-day data retention
  • Priority support
Coming soon In development
Enterprise
from 499 /mo

For scale-ups with compliance & SLA needs.

  • 100M+ requests / month
  • Unlimited services
  • Custom data retention
  • On-premise option
  • SSO / SAML
  • 99.9% SLA
  • Dedicated support
Talk to us →

Built for production.
Safe by default.

Httrace sits inside your production stack. We don't take that lightly.

PII sanitization built-in

Passwords, tokens, credit card numbers, emails, and IBANs are automatically scrubbed before any data leaves your server.

Encrypted in transit & at rest

All traffic is sent over TLS 1.3. Data at rest is encrypted with AES-256. No plaintext request bodies are stored.

EU data residency (GDPR)

Data is stored exclusively on EU servers. No cross-border transfers. Full GDPR compliance out of the box.

Open-source SDK

The capture middleware is MIT-licensed and fully auditable. Know exactly what runs inside your stack before you ship it.

Configurable data retention

Set retention periods per service. Payloads are purged automatically — only the generated test code remains.

On-premise option (Enterprise)

Run the entire Httrace stack inside your own VPC. Zero data leaves your infrastructure.

Common questions.

Yes. The Free plan includes 50,000 captured requests per month — forever, no credit card required. At the default 10% sample rate that's roughly 500,000 real API calls per month, which covers most side projects and small services comfortably. Paid plans start at €19/month and go up to 15M captures for larger teams.
Postman requires you to manually write requests and assertions. Mocking libraries (like responses, msw, or nock) require you to describe the behavior you want to mock. Httrace does the opposite: it captures what actually happened in production and writes the test for you — real payloads, real status codes, real edge cases your users already triggered. No setup, no manual effort.
Middleware: FastAPI, Django, Flask, Starlette, Express.js, Go (chi/gin/net/http), and Rails (Rack). Test output: pytest, Jest, Vitest, Go testing + testify, and RSpec — all on every plan. Switch format any time with the --format flag. If your framework isn't listed, reach out — we prioritize based on demand.
The SDK applies a two-layer PII filter before any data leaves your server: a field-name blocklist (password, token, ssn, etc.) and regex patterns for credit cards, IBANs, JWTs, emails, and phone numbers. Matched values are replaced with placeholders. Request bodies are processed to extract structure and generate fixtures — they are not stored permanently. The SDK is MIT open-source, so you can audit exactly what gets sent.
Captures simply stop for the rest of the month — your production traffic is never blocked or slowed down. The middleware silently drops new captures once the quota is reached. You'll get an email warning at 80% and 100% usage. To avoid hitting the limit, lower your sample_rate (e.g. 0.05 = 5%) or upgrade your plan.
Yes. Many teams run Httrace only on staging to bootstrap their test suite, then remove the middleware from production entirely. Set sample_rate=1.0 in staging so you capture everything. Once you've generated your tests, the middleware can be removed — the generated test files are plain code with no Httrace dependency.
Capture is asynchronous and off the critical path. In benchmarks on FastAPI, median latency increase is under 2ms at sample_rate=0.1 (the default). At 100% sample rate, expect ~8ms overhead. We recommend 5–10% sampling in production.
Our vision

We're building the future
of software testing.

€2.3B
Global testing tools
market size (Grand View Research, 2024)
38%
Teams using production telemetry
for test insight (State of Testing, 2024)
8h
Average dev time per week
spent writing tests (Stack Overflow Dev Survey, 2024)

Manual test writing is the last major bottleneck in modern CI/CD. Httrace eliminates it by treating your production traffic as ground truth. Every real user interaction becomes a test — permanently.

Talk to the founders →

Start capturing
traffic today.

Enter your email — we'll send your free API key instantly. No credit card. No setup. Developers already building with Httrace.

✓ Account created! Redirecting to your dashboard…

Free plan: 50,000 captured requests/month · No credit card · Cancel anytime