OTLP Ingestion
PlatformHow telemetry reaches the Traccia platform — HTTP, gRPC, auth, and which clients use which transport.
The Traccia platform ingests OpenTelemetry Protocol (OTLP) data over HTTP and gRPC. The Traccia Python and TypeScript SDKs always use HTTP. Native OpenTelemetry clients (Claude Code, the OTel Collector, custom OTel SDK apps) can use either transport depending on their exporter configuration.
Do not mix SDK and OTel env vars
TRACCIA_* variables and traccia.toml — not OTEL_EXPORTER_OTLP_*. Setting OTel variables alone will not configure the Traccia SDK. See Configuration for SDK options.Platform endpoints
Authenticate every request with your ingestion API key: Authorization: Bearer tr_live_…
| Signal | OTLP/HTTP | OTLP/gRPC |
|---|---|---|
| Traces | https://api.traccia.ai/v2/traces | api.traccia.ai:4317 |
| Metrics | https://api.traccia.ai/v2/metrics | api.traccia.ai:4317 |
| Logs | https://api.traccia.ai/v2/logs | api.traccia.ai:4317 |
| Authentication | HTTP header | gRPC metadata (same Bearer token) |
HTTP uses a separate URL per signal. gRPC uses one host and port for traces, metrics, and logs — do not append /v2/traces to the gRPC endpoint.
Which client uses what
| Client | Transport | Configuration |
|---|---|---|
| Traccia Python SDK | OTLP/HTTP only | TRACCIA_API_KEY, optional TRACCIA_ENDPOINT, or traccia.toml |
| Traccia TypeScript SDK | OTLP/HTTP only | Same TRACCIA_* / traccia.toml keys |
| Claude Code | HTTP or gRPC | OTEL_EXPORTER_OTLP_* in ~/.claude/settings.json |
| OpenTelemetry Collector | HTTP or gRPC | exporters.otlp block in collector YAML |
| Generic OTel SDK app | HTTP or gRPC | OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_ENDPOINT, signal-specific endpoints |
Traccia SDK (HTTP)
Default platform endpoint when you only set an API key. No OTel environment variables required.
export TRACCIA_API_KEY=tr_live_xxxxxxxxxxxx# Optional — defaults to https://api.traccia.ai/v2/traces# export TRACCIA_ENDPOINT=https://api.traccia.ai/v2/tracesMetrics default to https://api.traccia.ai/v2/metrics (derived from the traces endpoint). See SDK Exporters.
Native OTel clients (gRPC)
Use these settings when the application exports through the standard OpenTelemetry SDK or auto-instrumentation — not through the Traccia SDK.
export OTEL_EXPORTER_OTLP_PROTOCOL=grpcexport OTEL_EXPORTER_OTLP_ENDPOINT=https://api.traccia.ai:4317export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer tr_live_xxxxxxxxxxxx"Claude Code
Native OTel clients (HTTP)
Some clients prefer explicit per-signal HTTP endpoints instead of gRPC.
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobufexport OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://api.traccia.ai/v2/tracesexport OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://api.traccia.ai/v2/metricsexport OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://api.traccia.ai/v2/logsexport OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer tr_live_xxxxxxxxxxxx"OpenTelemetry Collector
Forward from a collector using either protocol. Example gRPC exporter to Traccia:
exporters: otlp/traccia: endpoint: api.traccia.ai:4317 tls: insecure: false headers: Authorization: "Bearer tr_live_xxxxxxxxxxxx"
service: pipelines: traces: receivers: [otlp] exporters: [otlp/traccia]Next Steps
© 2026 Traccia.