All comparisons

rtcStats vs watchRTC

watchRTC is Cyara's cloud WebRTC monitoring product, now presented as CyaraRTC. rtcStats splits collection from analysis, so your session data can stay in your own infrastructure and only the sessions you choose ever leave it.

Why choose rtcStats?

The collection layer is yours

rtcstats-js and rtcstats-server are open source and run in your own infrastructure. A cloud-only product means every session leaves your network by design; here what you send is a setting, and it is off by default.

Start without talking to anyone

There is a free plan and you can upload a session by hand this afternoon. No procurement conversation is needed to find out whether the analysis is useful on one of your own bad calls.

It reads the session for you

More than a hundred quality issues surface automatically as Observations, with an Experience Score and a plain-English summary rather than another set of charts to interpret.

At a glance

Product name today

watchRTCCyaraRTC, formerly watchRTCrtcStatsrtcStats

Delivery model

watchRTCSaaS, cloud onlyrtcStatsOpen-source collector plus hosted analysis

Open source

watchRTCNortcStatsYes, client and server

Runs in your own infrastructure

watchRTCNo, cloud-basedrtcStatsYes, rtcstats-server

You choose which sessions leave your network

watchRTCNortcStatsYes, forwarding off by default

Client-side getStats() collection

watchRTCYesrtcStatsYes

Free plan, no sales conversation

watchRTCContact salesrtcStatsYes

MCP server

watchRTCNortcStatsYes

What you get with rtcStats that you do not get from watchRTC

Own your data

The raw sessions land on infrastructure you control, and forwarding to our hosted analysis is a decision you make per session: a sample, one user, one region, or just the call behind this morning's complaint. That changes what a data residency or procurement review has to conclude, because the answer stops being a promise and becomes something they can read.

See what actually happened

A session opens as a timeline: connections, devices, streams and logs, lined up so the moment quality dropped is visible alongside everything else at that moment. Faults are marked rather than left to be found, and you can share the view as a link with a colleague or a customer who has no account.

Focused on WebRTC

CyaraRTC is one product in a broad customer-experience assurance portfolio that also covers bot validation, telco infrastructure, load testing and omnichannel observability. rtcStats does WebRTC and nothing else. That shows up in how deep the detection goes, how quickly new browser behaviour gets covered, and who answers when you ask a getStats() question.

Frequently asked questions

  • Yes, though the branding has moved. Cyara's product page for watchRTC now redirects to a page for CyaraRTC, which covers WebRTC testing and production monitoring together and does not use the watchRTC name. The watchRTC SDK is still published and still shipping releases under its original name, so integration code and documentation referring to watchRTC is current rather than abandoned.
  • When you need testing and monitoring from one vendor, on one contract.
  • watchRTC is a hosted service: you instrument, you send, you view. rtcStats separates collection from analysis and lets you own the first half outright, so raw session data can stay inside your infrastructure permanently while only the sessions you select go anywhere. On a feature checklist that looks small. In practice it decides most evaluations that turn on procurement, data residency or compliance rather than on features. It also makes enrichment of the data and querying the data something you can do.
  • Yes, and it is a smaller decision than replacing an incumbent. Self-hosted collection with selective forwarding does not occupy the same slot as a cloud monitoring service, so you can run it in parallel and compare what each one tells you about the same calls before changing anything.
  • Yes. rtcstats-server runs in your infrastructure with forwarding switched off by default, so nothing leaves your network unless you send it, and what you send is configurable. For teams that cannot send session data out at all, rtcStats runs fully on-premise, including in air-gapped networks. Ask us about that path rather than reading a number off a page.
  • Yes, a REST API for uploading sessions and retrieving observations, deductions and results, plus an MCP server so a session can be pulled straight into an AI assistant or coding agent you are already debugging with.
  • Yes, with no credit card required, and the first month runs at full Developer-level analysis so you can see what the paid tiers do before deciding anything. The pricing page has the current tiers.
  • Collection happens in the browser through getStats(), so it does not depend on your media server. There are integration guides for LiveKit, mediasoup, Janus, Jitsi, Vonage and React Native WebRTC.

This comparison is based on an analysis of publicly available information researched in August 2026. Products change. If something here is out of date, tell us and we will correct it.

Try it on a real session

Free plan, no credit card. Upload a dump and see what the analysis says about a call that went wrong.

Get started free