---
title: OpenTelemetry API Support
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: >-
  Docs > OpenTelemetry in Datadog > Instrument Your Applications > OpenTelemetry
  API Support
---

# OpenTelemetry API Support

Datadog SDKs provide an implementation of the [OpenTelemetry API](https://opentelemetry.io/docs/specs/otel/trace/api/) for traces, metrics, and logs. This means you can maintain vendor-neutral instrumentation of your services, while still taking advantage of Datadog's native implementation, features, and products.

The telemetry produced by your running code can be processed, analyzed, and monitored alongside Datadog's native telemetry, allowing you to take advantage of Datadog's unified platform and products like [Continuous Profiler](https://docs.datadoghq.com/profiler/), [Data Streams Monitoring](https://docs.datadoghq.com/data_streams/), [App and API Protection](https://docs.datadoghq.com/security/application_security/), and [Live Processes](https://docs.datadoghq.com/infrastructure/process).

{% image
   source="https://datadog-docs.imgix.net/images/opentelemetry/setup/otel-api-dd-sdk.18116c7846ecc6686abb7940964c4c5b.png?auto=format"
   alt="Diagram: OpenTelemetry API with Datadog SDKs sends telemetry data through the OTLP protocol to the Datadog Agent, which forwards to Datadog's platform." /%}

**Note:** You can also send your OpenTelemetry API instrumented traces to Datadog using the [OTel Collector](https://docs.datadoghq.com/opentelemetry/setup/collector_exporter/).

By [instrumenting your code with OpenTelemetry APIs](https://docs.datadoghq.com/tracing/trace_collection/otel_instrumentation/), your code:

- Remains free of vendor-specific API calls.
- Does not depend on Datadog SDKs at compile time (only runtime).

To learn more, follow the link for your language:

- [Java](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=java)
- [Python](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=python)
- [Ruby](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=ruby)
- [go](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=go)
- [Node.js](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=node_js)
- [PHP](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=php)
- [.Net](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=dot_net)
- [Rust](https://docs.datadoghq.com/opentelemetry/instrument/dd_sdks/api_support/?prog_lang=rust)

{% alert level="info" %}
To see which Datadog features are supported with this setup, see the [feature compatibility table.](https://docs.datadoghq.com/opentelemetry/compatibility/#feature-compatibility)
{% /alert %}

## Further reading{% #further-reading %}

- [Instrument a custom method to get deep visibility into your business logic](https://docs.datadoghq.com/tracing/guide/instrument_custom_method)
- [Connect your Logs and Traces together](https://docs.datadoghq.com/tracing/connect_logs_and_traces)
- [Explore your services, resources, and traces](https://docs.datadoghq.com/tracing/visualization/)
- [Learn More about Datadog and the OpenTelemetry initiative](https://www.datadoghq.com/blog/opentelemetry-instrumentation/)
