---
title: How often do the Langfuse SDKs send data, and how do I change it?
seoTitle: "Langfuse SDK Batching Defaults: flush_at and flush_interval"
description: The Python and JS/TS SDKs batch spans and export them every 5 seconds or every 512 spans by default. How to change flush_at and flush_interval, and when to call flush().
tags: [observability, sdk]
---

# How often do the Langfuse SDKs send data, and how do I change it?

The Python and JS/TS SDKs use the OpenTelemetry batch span processor. By default they export a batch every **5 seconds** or as soon as **512 spans** are queued, whichever comes first.

| Setting            | Python (`Langfuse`) | JS/TS (`LangfuseSpanProcessor`) | Environment variable      |
| ------------------ | ------------------- | ------------------------------- | ------------------------- |
| Batch size         | `flush_at`          | `flushAt`                       | `LANGFUSE_FLUSH_AT`       |
| Interval (seconds) | `flush_interval`    | `flushInterval`                 | `LANGFUSE_FLUSH_INTERVAL` |

**Python SDK**

```python
from langfuse import Langfuse

langfuse = Langfuse(flush_at=100, flush_interval=1)
```

**JS/TS SDK**

```ts
import { NodeSDK } from "@opentelemetry/sdk-node";
import { LangfuseSpanProcessor } from "@langfuse/otel";

export const langfuseSpanProcessor = new LangfuseSpanProcessor({
  flushAt: 100,
  flushInterval: 1,
});

const sdk = new NodeSDK({ spanProcessors: [langfuseSpanProcessor] });
sdk.start();
```

In short-lived processes such as scripts, serverless functions, or notebooks, flush queued spans before the process exits or the function returns. In Python, call `langfuse.flush()` (or `langfuse.shutdown()`). In JS/TS, call `await langfuseSpanProcessor.forceFlush()` (or `await sdk.shutdown()`); `LangfuseClient.flush()` sends only pending scores, not tracing spans. The JS/TS span processor can also export every span right away with `exportMode: "immediate"`. See [Queuing and batching](/docs/observability/features/queuing-batching) and [AWS Lambda and serverless functions](/faq/all/aws-lambda-and-serverless-functions).

<!-- 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/sdk-flush-defaults.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>.
