# Plans & limits

> Plaintext version for LLMs. Canonical HTML: https://askbowtie.com/docs/pricing/

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](/docs/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](#mcp)) |
| 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"`](/docs/#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](/docs/#automatic) 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](/docs/#mcp)) 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](/docs/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.

See [Credits](/docs/credits/) for how credits work and [Pricing](/pricing/) for plans.
