Broadcast allows you to automatically send traces from your OpenRouter requests to external observability and analytics platforms. This feature enables you to monitor, debug, and analyze your LLM usage across your preferred tools without any additional instrumentation in your application code.
To enable broadcast for your account or organization:
If you’re using an organization account, you must be an organization admin to edit broadcast settings.
Once enabled, OpenRouter will automatically send trace data for all your API requests to your configured destinations.
The following destinations are currently available:
Each destination has its own configuration requirements, such as API keys, endpoints, or project identifiers. When adding a destination, you’ll be prompted to provide the necessary credentials which are encrypted and stored securely.
For the most up-to-date list of available destinations, visit the Broadcast settings page in your dashboard.
The following destinations are in development and will be available soon:
Each broadcast trace includes comprehensive information about your API request:
You can enrich your traces with additional context by including these optional fields in your API requests:
user field (up to 128 characters). This helps you track usage patterns and debug issues for individual users.session_id field (up to 128 characters). You can also pass this via the x-session-id HTTP header.For advanced observability workflows, you can pass arbitrary metadata to your traces using the trace field. This field accepts any JSON object and is passed through to all your configured broadcast destinations.
The trace field is flexible and accepts any key-value pairs. Certain keys have special meaning depending on your observability destination. See the destination-specific documentation for details on which keys each platform recognizes.
These metadata keys are commonly used across observability platforms:
When using these fields, your traces will appear with a hierarchical structure in platforms like Langfuse:
If you have your own tracing instrumentation (e.g., OpenTelemetry), you can use parent_span_id to nest OpenRouter calls under your existing spans:
This will create a trace structure like:
This enables you to:
Each observability platform may recognize different metadata keys. See the destination-specific guides for details:
Each destination can be configured to only receive traces from specific API keys. This is useful when you want to:
When adding or editing a destination, you can select one or more API keys from your account. Only requests made with those selected API keys will have their traces sent to that destination. If no API keys are selected, the destination will receive traces from all your API keys or chatroom requests.
Each destination can be configured with a sampling rate to control what percentage of traces are sent. This is useful for high-volume applications where you want to reduce costs or data volume while still maintaining visibility into your LLM usage. A sampling rate of 1.0 sends all traces, while 0.5 would send approximately 50% of traces.
Sampling is deterministic: when you provide a session_id, all traces within that session will be consistently included or excluded together. This ensures you always see complete sessions in your observability platform rather than fragmented data.
You’ll see full sessions per destination, but not necessarily the same sessions across all destinations.
Each destination can optionally enable Privacy Mode to exclude prompt and completion content from traces. When Privacy Mode is enabled, the following data is stripped before sending traces:
All other trace data — including token counts, costs, timing, model information, and custom metadata — is still sent normally.
This is useful when you want to monitor LLM usage metrics and costs without exposing the actual content of conversations, for example to comply with data privacy regulations or internal policies.
To enable Privacy Mode, toggle the Privacy Mode checkbox in the Privacy section when configuring a destination.
Privacy Mode is configured per destination. You can send full traces to one destination for debugging while sending privacy-redacted traces to another for cost monitoring.
Your destination credentials are encrypted before being stored and are only decrypted when sending traces. Traces are sent asynchronously after requests complete, so enabling broadcast does not add latency to your API responses.
Broadcast can be configured at both the individual user level and the organization level. Organization admins can set up shared destinations that apply to all API keys within the organization, ensuring consistent observability across your team.
Step-by-step guides for configuring specific observability destinations: