Skip to main content

Limits

Technical limits for EdgeBase Analytics.

Custom Events

LimitValueNotes
Max events per request100Single POST /api/analytics/track call
Max properties per event50 keysFlat key-value only (no nested objects)
Max properties size4,096 bytesJSON-serialized total
Property value typesstring, number, booleanArrays and objects not supported
Event nameNon-empty stringRequired for every event

Data Retention

DataRaw RetentionRollup
Custom events (_events)90 daysAggregated into daily summaries after 90 days
Daily summaries (_events_daily)IndefiniteEvent count + unique users per day
Request logs (_logs)90 daysAggregated into daily summaries after 90 days

Query Limits

ParameterRangeDefault
range1h, 6h, 24h, 7d, 30d, 90d24h
limit (list metric)1–100050
groupByminute, hour, dayhour

Rate Limiting

GroupDefaultKeyNotes
events100 req / 60sIPApplies to POST /api/analytics/track
global10,000,000 req / 60sIPApplies to all other analytics endpoints

The events rate limit protects the event ingestion endpoint from abuse, especially for anonymous (unauthenticated) callers.

Authentication

EndpointAuth Required
POST /api/analytics/trackOptional — JWT, Service Key, or anonymous
GET /api/analytics/queryService Key
GET /api/analytics/eventsService Key

Those Service Key-protected analytics queries are available across all Admin SDKs.

Storage

EnvironmentRequest LogsCustom Events
Cloud (Cloudflare)Analytics Engine + LogsDOLogsDO (SQLite)
Docker / Self-hostedLogsDO (SQLite)LogsDO (SQLite)

All custom events are stored in LogsDO regardless of environment. Request logs use Analytics Engine on Cloud for higher-performance aggregation queries.