feature
Sep 16, 2026Export provider-neutral LLM traces into ReclaimLLM without proxying inference traffic or sharing provider credentials.
ReclaimLLM can now receive LLM traces over OTLP/HTTP from applications that call providers directly. Existing OpenAI, Azure OpenAI, Anthropic, Gemini, Vertex AI, Bedrock, and other LLM workflows can be captured without routing inference requests through a ReclaimLLM proxy.
Your application continues communicating directly with its provider. An OpenTelemetry or OpenInference instrumentor exports a copy of the trace to ReclaimLLM at:
POST https://api.reclaimllm.com/v1/traces
ReclaimLLM never needs the provider API key.
Configure your application's OpenTelemetry SDK—or an existing OpenTelemetry Collector—to export traces to ReclaimLLM. Authenticate the export with a personal ReclaimLLM API key using either the X-API-Key header or Bearer authentication.
For enterprise environments, we recommend creating a dedicated integration user for each application that needs separate attribution. The API key determines the ReclaimLLM user, organization, team, data region, and storage ownership. Attributes inside the trace cannot override that identity.
The receiver supports OTLP/HTTP using Protobuf or JSON, with optional gzip compression. Applications can export directly, but a customer-managed Collector is recommended for production because it provides batching, retry queues, filtering, and redaction before telemetry leaves the customer network.
See the OpenTelemetry setup guide for complete OpenAI and Anthropic examples.
ReclaimLLM recognizes current and legacy OpenTelemetry GenAI attributes, OpenInference conventions, and generic OTLP traces.
When emitted by the instrumentor, sessions can include:
Unknown attributes remain available in the canonical trace representation, even when ReclaimLLM does not yet have a normalized field for them.
Related spans are grouped using session.id first, followed by gen_ai.conversation.id. When neither is available, the OpenTelemetry trace ID defines the session.
Applications can also attach searchable ReclaimLLM session tags:
with tracer.start_as_current_span("support-conversation") as span:
span.set_attribute("session.id", "support-case-123")
span.set_attribute(
"reclaimllm.tags",
["customer-support", "production"],
)
reclaimllm.tags accepts a string array or one string. ReclaimLLM trims empty values, removes duplicates, and merges tags from every span and late export associated with the session.
OpenTelemetry exporters batch, retry, and sometimes deliver child spans after their parents. A normal append-only implementation can duplicate usage or lose data when two batches update the same session concurrently.
ReclaimLLM identifies each span by its trace ID and span ID. Retried spans replace the same canonical identity instead of creating another copy. Token totals are recalculated from the merged unique span set so exporter retries do not inflate usage.
Writes targeting the same session are serialized with short-lived leases. ReclaimLLM acknowledges an OTLP export only after the session blob and searchable metadata have been durably persisted. Temporary persistence failures return a retryable server response instead of reporting data as accepted.
The complete trace stays inside the existing region-aware session storage path. Existing encryption, retention, deletion, export, and access-control behavior therefore also applies to OpenTelemetry sessions.
ReclaimLLM captures the content supplied by the instrumentor. It cannot retain prompts, responses, or tool bodies that the instrumentation library does not emit.
Some instrumentors disable content capture by default. Review their privacy settings and test with non-sensitive content before enabling production capture.
Organizations that need filtering or redaction before data leaves their network should send traces through their own OpenTelemetry Collector. Full capture does not bypass customer-configured ReclaimLLM redaction or encryption controls.
This release accepts traces over OTLP/HTTP. It does not provide OTLP metrics, OTLP logs, or OTLP/gRPC ingestion.
Provider compatibility depends on the telemetry emitted by the selected instrumentor. Generic valid traces are preserved, but fields that do not follow a recognized GenAI or OpenInference convention may not immediately appear in normalized analytics.
Persistence is synchronous, so export latency includes normalization and durable storage. Collectors should retry rate limits, temporary service failures, and hot-session lease timeouts.
Many enterprises already have LLM calls distributed across services, workflows, and providers. Replacing those SDKs or placing another service in the inference path adds migration work and changes operational risk.
OpenTelemetry provides a provider-neutral capture path that fits existing observability infrastructure. It lets ReclaimLLM add session inspection, usage analysis, governance, and retention while leaving the application's provider relationship unchanged.
We are particularly interested in feedback about additional instrumentors, semantic-convention variants, and traces that remain preserved but are not yet fully normalized.