---
title: How to trace the OpenAI Assistants API?
description: "The OpenAI integrations do not instrument the Assistants API automatically. How to trace Assistants API calls with the Langfuse decorator instead."
tags: [integration]
---

# How to trace the OpenAI Assistants API?

The native integrations for OpenAI (Python & JS/TS) do not instrument the Assistants API natively as it shifts state to OpenAI (threads, etc.). However, you can still trace the API calls via our Python and JS integrations and visualize the results in Langfuse.

## Python

You can instrument the [OpenAI Assistants API](https://platform.openai.com/docs/assistants/overview) via the [Langfuse `observe()` decorator](/docs/sdk/python/decorators). We have prepared a simple example to demonstrate how to trace the API calls and visualize the results in Langfuse.

- [Cookbook: Tracing of OpenAI Assistants API](/integrations/model-providers/openai-assistants-api)

## JS/TS

We do not yet have a published example on how to do this via the [Langfuse JS/TS SDK](/docs/sdk/typescript). However, you can have a look at the Python example to understand the general approach: (1) create an assistant, (2) run it on a thread, and (3) observe the execution with Langfuse tracing.

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/faq/all/openai-assistant-api.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
