Private beta · Limited design-partner seats

Know when broken data hits your topics — before your consumers do.

TopicWatch continuously checks the content of your Kafka topics: schema drift, null fields, malformed payloads, volume anomalies, DLQ spikes and real consumer lag. One read-only container, alerts in Slack.

14-day trial at launch · No card · Design partners get 50% off forever

Self-hostedRead-only consumer10-minute setup
Live alertscluster: prod-msk-1
Schema drift · orders.v2

field currency changed int → string (producer: checkout-svc)

2m
DLQ spike · orders.dlq

+412 msgs/h (baseline 6/h) — sample attached

14m
Null rate · payments.events

amount null in 3.1% of msgs (threshold 1%)

31m
Real lag recovered · billing-consumer

2,140 → 87 (markers excluded)

1h

Your monitoring says "all green". Your data disagrees.

Prometheus, Grafana and your cloud console watch brokers, partitions and lag. None of them open a single message. That's how broken data ships for days.

🧬 Schema drift ships silently

A field renamed upstream breaks consumers downstream — days later. TopicWatch baselines schemas per topic and alerts on every change, with a drift timeline.

🕳️ DLQs nobody looks at

Dead-letter queues fill quietly until a customer complains. Get inflow alerts with sample payloads the moment it starts.

📉 Lag you can't trust

Transactional markers inflate consumer lag and trigger ghost pages. TopicWatch reports real lag per partition.

Up and running in 10 minutes

1

Deploy one container

Connects as a standard read-only Kafka consumer. No broker agents, no proxy in the data path, no code changes.

2

Select topics

Schemas inferred automatically (JSON) or pulled from your registry (Avro/Protobuf). Baselines build themselves.

3

Route alerts

Slack, Discord, e-mail or webhook. Thresholds per topic, quiet by default.

# self-hosted: payloads and metrics never leave your network
docker run -d --name topicwatch \
  -e KAFKA_BOOTSTRAP=broker1:9092 \
  -e TOPICS=orders.v2,payments.events,orders.dlq \
  -p 8080:8080 topicwatch/topicwatch:latest

Simple pricing. Per cluster, never per seat.

Built for teams of 5–50 engineers. Your whole team included — adding people never raises your bill.

Starter
$99
/month · 1 cluster · 20 topics
  • Schema drift detection
  • Quality rules & volume anomalies
  • Real lag + DLQ monitoring
  • Slack/e-mail/webhook alerts
  • Unlimited users
Join waitlist
Team
$299
/month · 3 clusters · unlimited topics
  • Everything in Starter
  • Unlimited topics
  • Priority support
  • Annual: 2 months free
Join waitlist

FAQ

Does my data leave my network?

No. TopicWatch is self-hosted — payloads and metrics stay inside your infrastructure. The only outbound call is license validation.

Can it impact my cluster?

It's a standard read-only consumer with its own consumer group and least-privilege ACLs. It can't produce, change configs or commit offsets for other groups.

Avro? Protobuf? JSON without registry?

Avro/Protobuf via Confluent, Karapace or Apicurio registries. JSON topics are inferred automatically — no registry needed.

How is this different from a Kafka UI?

UIs help you browse and manage. TopicWatch is monitoring: it watches message content 24/7 and tells you when something breaks — before your consumers find out.

Stop discovering bad data from your consumers' bug reports