Blob storage export field reference
Use this reference when building a consumer for the blob storage export. Types match JSON and JSONL output. Timestamps use YYYY-MM-DD HH:MM:SS.ffffff in UTC.
Exported files
| File | When it is exported |
|---|---|
observations_v2/ | Current enriched export |
scores/ | Every export |
traces/ | Deprecated legacy export |
observations/ | Deprecated legacy export |
For configuration and migration steps, see Export to blob storage.
Enriched observations (observations_v2/)
Each row represents one observation and includes its trace context. Only the selected field groups appear; core is always included.
| Field | Type | Description |
|---|---|---|
id | string | Unique observation identifier. |
trace_id | string | Trace identifier shared by related observations and scores. |
project_id | string | Langfuse project identifier. |
environment | string | Environment label. |
type | string | Observation type: SPAN, GENERATION, EVENT, AGENT, TOOL, CHAIN, RETRIEVER, EVALUATOR, EMBEDDING, or GUARDRAIL. |
parent_observation_id | string | Parent observation identifier; empty for a root observation. |
is_root_observation | boolean | Whether the observation is a logical root. |
start_time | string (timestamp) | When the observation started. |
end_time | string (timestamp) or null | When the observation ended. |
name | string | User-defined observation name. |
metadata | object | User-supplied observation metadata. |
level | string | DEBUG, DEFAULT, WARNING, or ERROR. |
status_message | string | Status or error message. |
version | string | User-defined version. |
input | string | Observation input; may contain plain text or JSON. |
output | string | Observation output; may contain plain text or JSON. |
provided_model_name | string | Model name supplied by the SDK or user. |
model_parameters | string | Model parameters encoded as JSON. |
usage_details | object (string โ integer) | Token usage by category, such as input, output, and total. |
cost_details | object (string โ number) | Cost in USD by category. |
completion_start_time | string (timestamp) or null | When the first streamed token was generated. |
prompt_name | string | Langfuse prompt name. |
prompt_version | integer or null | Langfuse prompt version. |
total_cost | number | Total observation cost in USD. |
latency | number or null | Duration in seconds. |
time_to_first_token | number or null | Time to first token in seconds. |
model_id | string | Matched Langfuse model definition identifier. |
created_at | string (timestamp) | Row creation time. |
updated_at | string (timestamp) | Last row update time. |
prompt_id | string | Langfuse prompt identifier. |
tool_calls | array of strings | Tool calls encoded as JSON strings. |
tool_call_names | array of strings | Names of called tools. |
tool_definitions | object | Tool or function schemas supplied to the model. |
usage_pricing_tier_id | string or null | Pricing tier identifier used for cost calculation. |
usage_pricing_tier_name | string or null | Pricing tier name used for cost calculation. |
input_price | string or null | Matched per-unit input price; omitted from Parquet. |
output_price | string or null | Matched per-unit output price; omitted from Parquet. |
total_price | string or null | Matched flat per-call price; omitted from Parquet. |
user_id | string | End-user identifier from the trace. |
session_id | string | Session identifier from the trace. |
trace_name | string | Trace name. |
tags | array of strings | Trace tags. |
release | string | Trace release. |
bookmarked | boolean | Whether the trace is bookmarked. |
public | boolean | Whether the trace is public. |
Integrations created on or after 2026-04-01 export latency and
time_to_first_token in seconds. Older integrations export these fields in
milliseconds for backward compatibility.
Scores (scores/)
Scores are always exported. Their fields are not configurable.
| Field | Type | Description |
|---|---|---|
id | string | Unique score identifier. |
timestamp | string (timestamp) | Score creation time. |
project_id | string | Langfuse project identifier. |
environment | string | Environment label. |
trace_id | string or null | Associated trace identifier. |
observation_id | string or null | Associated observation identifier. |
session_id | string or null | Associated session identifier. |
dataset_run_id | string or null | Associated dataset run identifier. |
name | string | Score name. |
value | number | Numeric value; TEXT scores use 0. |
source | string | API, ANNOTATION, or EVAL. |
comment | string or null | Optional comment or evaluator reasoning. |
data_type | string | NUMERIC, BOOLEAN, CATEGORICAL, or TEXT. |
string_value | string or null | Category label or text value; null for numeric scores. |
created_at | string (timestamp) | Row creation time. |
updated_at | string (timestamp) | Last row update time. |
Legacy export differences
Legacy exports are deprecated. They split trace context into traces/ and observation data into observations/; consumers join them on trace_id.
Traces (traces/)
The trace file has a fixed schema; field groups do not apply.
| Field | Type | Description |
|---|---|---|
id | string | Unique trace identifier. |
timestamp | string (timestamp) | Trace creation time. |
name | string | User-defined trace name. |
environment | string | Environment label. |
project_id | string | Langfuse project identifier. |
metadata | object | Trace metadata. |
user_id | string or null | End-user identifier. |
session_id | string or null | Session identifier. |
release | string or null | Application release. |
version | string or null | User-defined version. |
public | boolean | Whether the trace is public. |
bookmarked | boolean | Whether the trace is bookmarked. |
tags | array of strings | Trace tags. |
input | string or null | Trace input. |
output | string or null | Trace output. |
created_at | string (timestamp) | Row creation time. |
updated_at | string (timestamp) | Last row update time. |
Legacy trace-level input, output, metadata, timestamp, and version do not have direct equivalents in observations_v2/. Observation fields with the same names contain observation-level data instead.
The trace file does not include total_cost, latency, observations, scores, or html_path.
Observations (observations/)
Legacy observations use the same observation field groups, with these differences:
| Group | Difference in the legacy file |
|---|---|
basic | Does not include bookmarked, is_root_observation, public, session_id, or user_id. |
usage | Does not include usage_pricing_tier_id. |
trace_context | Has no effect; release, tags, and the trace name are available in the separate traces/ file. |
All other field groups use the same field names as observations_v2/. Some nullable values appear as empty strings in enriched JSON/JSONL output.
See upgrade a legacy export before changing a consumer.
Parquet differences
Parquet uses internal encoding and compression, so gzip does not apply.
Observation files omit input_price, output_price, and total_price. Use cost_details and total_cost for cost data.
Trace and score fields are the same across all formats.
File organization
See process exports for paths, filenames, and the manifest workflow.
Last edited