> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openlayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Other integration paths

> Alternatives to SDK-based integration: OpenTelemetry and REST

The **canonical way** to integrate with Openlayer is by using the SDKs, as explained in
the "[Instrument your code](https://docs.openlayer.com/monitoring/instrument.md)" guide.

However, there are alternative paths to integrate with Openlayer monitoring mode, namely:

* [OpenTelemetry (OTel)](#opentelemetry)
* [REST API](https://docs.openlayer.com/api-reference/rest/monitoring/stream-data.md)

This guide explains when you should use each of these.

## OpenTelemetry

[OpenTelemetry](https://opentelemetry.io/docs/) (OTel) is an open-source framework used to collect observability data.
It is widely used in industry and has been gaining popularity for GenAI
systems, being nativaly supported by frameworks like Semantic Kernel,
Vercel AI SDK, Spring AI, and others.

Openlayer supports OTel traces. You should consider this integration path if you:

* Already emit traces via OTel in your system.
* Use a framework built on OTel (e.g., Semantic Kernel, PydanticAI, …).
* Want to standardize telemetry across infra and AI.

Refer to the [OpenTelemetry integration guide](https://docs.openlayer.com/integrations/opentelemetry.md) for more details.
Or to the integration pages for the frameworks below, which leverage OTel:

> [card] [OpenTelemetry](https://docs.openlayer.com/integrations/opentelemetry.md)

> [card] [Semantic Kernel](https://docs.openlayer.com/integrations/semantic-kernel.md)

> [card] [PydanticAI](https://docs.openlayer.com/integrations/pydantic-ai.md)

> [card] [Spring AI](https://docs.openlayer.com/integrations/spring-ai.md)

> [card] [OpenLLMetry](https://docs.openlayer.com/integrations/openllmetry.md)

> [card] [OpenLIT](https://docs.openlayer.com/integrations/openlit.md)

> [card] [Strands Agents](https://docs.openlayer.com/integrations/strands-agents.md)

## REST API

Openlayer also exposes the REST API endpoint used for streaming data to the platform.

You should consider this path if you:

* Want to monitor a traditional ML system (e.g., tabular classification, tabular regression, etc.)
* Have a custom pipeline that does not map cleanly to SDK wrappers.
* Are using a programming language that is not supported by the SDKs.

To manually stream data to Openlayer, you can make `POST` requests to the
`/data-stream` endpoint of the Openlayer REST API.
Refer to the [REST API reference](https://docs.openlayer.com/api-reference/rest/monitoring/stream-data.md) for more details.

> [!TIP]
>
> If you use Python, prefer the SDK over raw REST for traditional ML monitoring
> — see [Publish traditional ML
> predictions](https://docs.openlayer.com/monitoring/publishing-tabular-predictions.md) for streaming and
> batch examples with the typed tabular configs.

## Which one should you use?

* **SDKs** (wrappers + `@trace`) -> recommended. Fastest to set up, richest traces.
* **OpenTelemetry** -> best if you already instrument with OpenTelemetry or use an OTel-based framework.
* **REST** -> fallback if you can’t use SDKs or OTel. More verbose, less automated.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.