Plans & limits
The tracker, the dashboard, and the MCP are free for normal use: up to 100,000 events a month across all your sites. No credit card to start, no subscription, and querying your own data never costs anything. This page is the reference for exactly what that means. For how credits work once you're past it, see Credits.
What's free
| Included | Limit |
|---|---|
Tracker (bowtie.js) on any number of sites | No per-site fee |
| Dashboard: traffic, conversions, errors, uptime, search, ads | Unlimited use |
| MCP server (all read + write tools) | Not metered (see below) |
| Tracked events | ~100,000/month, combined across every site you own |
The 100,000 figure is one pool shared across every domain registered to your account, not 100,000 per site. Register five sites and their traffic is added together against the same allowance.
What counts as an event
An event is one tracked signal ingested by POST /api/ingest. A single
page view typically sends a small batch, and every item in that batch counts individually.
| Signal | Counts toward the 100k? |
|---|---|
Page view (page_load), session start | Yes |
| Clicks, form submits, rage clicks | Yes |
Custom event: bowtie.track() | Yes |
Conversion: bowtie.converted() | Yes |
Application error: bowtie.error() | Yes |
Guardrail: bowtie.guardrail() | Yes |
Server-side event ("source": "server") | Yes (same allowance as browser events) |
| Uptime check | No |
| Google Search Console sync | No |
| Google Ads sync | No |
| MCP tool call (reading or querying your data) | No. Never metered. |
Web Vitals, console errors, and resource/network errors captured automatically by the tracker are events too; there's no separate "automatic" bucket. See Tracked automatically for the full list of signal types.
The MCP is not metered
Every read and write tool your agent calls against the MCP server (get_summary,
get_traffic, get_incidents, define_flow, and the rest
of the 39-tool surface) is free, on every plan, with no per-call
limit tied to the 100k allowance. Query it as often as you like, including wiring your own
coding agent to poll it on a schedule. The only things metered are traffic into the
tracker and AI answers your own users generate inside the app. What your agent asks the MCP
for stays free.
When you need credits
Two things run on credits, and nothing else does:
- Overflow traffic: events past the 100,000/month allowance, combined across your sites.
- AI answers: questions asked in the app's in-app Ask tab (Bowtie answering in the dashboard). This is separate from your agent's MCP queries, which stay free.
Full mechanics, the consumption table, and how to top up: Credits.
Platform rate limits
Separate from the event allowance, a small set of endpoints are rate-limited to keep the platform stable. These apply regardless of plan or credit balance.
| Endpoint | Limit | Over the limit |
|---|---|---|
| Authenticated MCP / CLI (read + write) | Not throttled | n/a |
| Public discovery & bug intake | ~60 requests/min | HTTP 429 with Retry-After |
| Project creation | ~10 requests/min | HTTP 429 with Retry-After |
| Public share links | ~30 requests/min | HTTP 429 with Retry-After |
Respect Retry-After before retrying a 429. Normal dashboard and
MCP usage never touches these limits: they exist for scripted or bulk access, not day-to-day
querying.