# Limits

> Every ClickClacks limit in one place: browser tracker sizes and batching, server API batch sizes, rate limits and timestamp windows, heatmap captures, MCP rate limits and windows, exports, and plan allowances.

- Canonical URL: https://clickclacks.io/docs/limits
- Section: Reference
- Last updated: 2026-09-26

Every limit in ClickClacks, in one place. Most you’ll never meet; the ones worth knowing are the 2 KB of browser event properties and batching server events.

## Browser tracker {#tracker}

| Limit | Value |
| --- | --- |
| [Event name](https://clickclacks.io/docs/events.md#rules) | 1–128 characters, not starting with $ |
| Event properties / identify traits | 2 KB of JSON; over that, sent without them |
| [identify ID](https://clickclacks.io/docs/identify.md#identify) | 1–128 characters |
| Events per request | 25 |
| Send interval | Every 5 seconds, at 25 waiting events, and when the page is hidden |
| Events kept for retry | 100 |
| Request body | 128 KiB |
| Event time | Browser clock accepted within 10 minutes of the server’s; otherwise the arrival time is used |
| Session timeout | 30 minutes without an event |
| [Click text](https://clickclacks.io/docs/autocapture.md#click) | 40 characters, links and buttons only |
| Click selector | 64 characters; up to 2 class names |

## Server API {#server}

| Limit | Value |
| --- | --- |
| Items per request | 500 |
| Body | 1 MiB uncompressed; gzip accepted |
| Properties per item | 8 KiB, 255 keys, depth 5 |
| Events per project, sustained | 1,000 per second (60,000 a minute) |
| Events per project, burst | 5,000 per second (50,000 in 10 seconds) |
| Requests per key | 100 per second |
| Timestamps accepted as sent | 7 days back to 10 minutes ahead |
| [How event limits are counted](https://clickclacks.io/docs/api.md#rate-limits) | In blocks of 100 events per request, rounded up |
| distinct_id | 1–128 characters |
| insert_id | 1–80 characters of A–Z a–z 0–9 \_ - |
| $user_agent / $current_url | 1,024 / 2,048 characters |
| $groups | 5 entries |
| [Working server keys per source](https://clickclacks.io/docs/server-side.md#keys) | 2 |
| Key name | 1–64 characters |

## Heatmap capture {#heatmaps}

| Limit | Value |
| --- | --- |
| [Captures](https://clickclacks.io/docs/heatmap-capture.md#how) | At most one browser per page, device size and day |
| Elements in a page layout | 1,500 |
| Skip selectors per source | 64, each up to 256 characters |
| Captures kept | 30 days; the newest per page and device size always |

## MCP server {#mcp}

| Limit | Value |
| --- | --- |
| [Requests per key](https://clickclacks.io/docs/mcp.md#limits) | About 120 a minute |
| Date window | Up to 3,660 days; last 30 days by default |
| Property filters | 20 per call, each with up to 100 values of 512 characters |
| compare_projects | Up to 100 projects |

## Exports {#exports}

| Limit | Value |
| --- | --- |
| [Events CSV](https://clickclacks.io/docs/data.md#export) | 50,000 rows |
| Organization export | Events for organizations with up to 50,000; download open for 24 hours |

## Plans {#plans}

| Limit | Value |
| --- | --- |
| [Monthly events](https://clickclacks.io/pricing) | 250,000 to 20 million on Growth and Pro; 50 million and up on Enterprise |
| Free events | Identify, merge and alias calls never count |
| [Data history](https://clickclacks.io/docs/data.md#retention) | 12 months on Growth, 24 months on Pro |
| Seats | Unlimited on every plan |

Server API limits are the same on every plan. Hitting one? [Debugging](https://clickclacks.io/docs/debugging.md) and [the error catalogue](https://clickclacks.io/docs/api.md#errors) say what each response means.
