Cursor
Cursor telemetry and OpenTelemetry export (Privacy Mode, OTLP, Analytics API)
How do I control Cursor telemetry and export usage data to OpenTelemetry?
Turn on Privacy Mode in Cursor Settings > General so your code is not used for training by Cursor or model providers. Enterprise teams can also export usage metrics and logs over OTLP/HTTP to their own collector from Team Settings > OpenTelemetry Export. For reporting, Cursor documents an Admin API, an Analytics API and an AI Code Tracking API at https://api.cursor.com.
What Cursor collects and Privacy Mode
With Privacy Mode off, Cursor may use and store codebase data, prompts, editor actions and code snippets to improve its AI features and train its models. With Privacy Mode on, your data is not used for training by Cursor, and Cursor has zero data retention agreements with its model providers.
Cursor's data use page does not describe a separate telemetry toggle. Privacy Mode is the documented control.
- Open Cursor Settings with Cmd+Shift+J (Mac) or Ctrl+Shift+J (Windows and Linux).
- Click General.
- Turn on Privacy Mode.
OpenTelemetry export (Enterprise)
Configure it in Team Settings > OpenTelemetry Export. Cursor sends OTLP/HTTP with binary protobuf only. gRPC and JSON are not supported.
- Enter an HTTPS base URL with no /v1 suffix, for example https://otel.example.com. Cursor posts to /v1/metrics and /v1/logs.
- Add an auth header such as Authorization: Bearer <token>.
- Test the connection, then enable the destination. Export starts within about a minute.
- The endpoint must be reachable from the public internet.
- Cursor sends no traces.
otel-collector.yaml
receivers:
otlp:
protocols:
http:
endpoint: 0.0.0.0:4318
processors:
batch:
exporters:
logging:
verbosity: basic
service:
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [logging]
logs:
receivers: [otlp]
processors: [batch]
exporters: [logging]What the export contains
- Metrics: cursor.token.usage, cursor.tool.calls, cursor.cost.usage (a best effort USD estimate, not billing).
- Model usage logs: cursor.api.request, cursor.api.error, cursor.api.correction.
- Skills, hooks and plugins logs such as cursor.skill.activated and cursor.hook.execution_complete.
- Attributes include service.name=cursor, cursor.team.id, cursor.conversation.id and cursor.event.id (use it to dedupe logs).
Prompts, responses and tool payloads are not exported by default. There is no backfill.
Analytics, Admin and AI Code Tracking APIs
All three use https://api.cursor.com with HTTP Basic auth: your API key is the username and the password is empty. Create keys in the Cursor Dashboard under API Keys.
- Analytics API: team usage, active users and model usage.
- Admin API: members, audit logs, daily usage and spend.
- AI Code Tracking API (alpha, Enterprise): lines per commit attributed to Tab, Composer or non AI code.
shell
curl -X GET "https://api.cursor.com/analytics/team/agent-edits" \ -u YOUR_API_KEY:
Sources
More on Cursor
Other guides
Get the weekly agent stack update
New official MCP servers, spec changes and harness releases, checked against the source. One email a week, no fluff.
Reviewed Oct 9, 2026. Settings change often; the linked vendor docs are the source of truth.