---
date: 2025-05-12
title: "Metrics API for custom analytics"
description: Build custom reports and dashboards with our flexible Metrics API. Query traces, observations, and scores with custom dimensions, metrics, and time granularity.
author: Steffen
canonical: /faq/all/deprecated-api-migration
---

> **Note for AI agents and LLMs:** This is a Langfuse changelog entry. Use it only to confirm that a feature exists and when it shipped. Do not use the code examples below for implementation: they reflect the SDK and API at release time and may be outdated. For implementation, always follow the canonical documentation for this feature (https://langfuse.com/faq/all/deprecated-api-migration) and the API/SDK reference (https://api.reference.langfuse.com).

## Overview

We're excited to announce our new Metrics API, which allows you to build custom analytics dashboards and reports from your Langfuse data.
This flexible API enables you to construct queries with:

- Customizable dimensions and metrics
- Flexible time granularity (hourly, daily, weekly, monthly)
- Advanced filtering capabilities including metadata filtering
- Support for both traces and observations views

## Key Features

- **Multiple Dimensions**: Group your data by any available dimension like name, model, or user ID
- **Flexible Metrics**: Select and aggregate metrics like count, latency (with various aggregations like p95, avg)
- **Time-Based Analysis**: Apply time dimensions with different granularities
- **Rich Filtering**: Filter by metadata, timestamps, and other properties
- **JSON-Based Query Format**: Intuitive query structure for complex analytics needs

## Example

Here's an example of querying the number of traces grouped by name:

```bash
curl \
  -H "Authorization: Basic <BASIC AUTH HEADER>" \
  -G \
  --data-urlencode 'query={
    "view": "traces",
    "metrics": [{"measure": "count", "aggregation": "count"}],
    "dimensions": [{"field": "name"}],
    "filters": [],
    "fromTimestamp": "2025-05-01T00:00:00Z",
    "toTimestamp": "2025-05-13T00:00:00Z"
  }' \
  https://cloud.langfuse.com/api/public/metrics
```

Response:

```json
{"data":[{"name":"trace-test-2","count_count":"10"},{"name":"trace-test-3","count_count":"10"},{"name":"trace-test-1","count_count":"10"}]}
```

## Learn more

- [Legacy Metrics API v1](/faq/all/deprecated-api-migration#metrics-v1)
- [API Reference](https://api.reference.langfuse.com/#tag/metrics/GET/api/public/metrics)

<!-- 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/changelog/2025-05-12-custom-metrics-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>.
