---
title: "Get usage stats for a dashboard"
method: GET
path: "/api/v2/dashboards/{dashboard_id}/usage"
tags: ["Dashboards"]
---

# Get usage stats for a dashboard

`GET /api/v2/dashboards/{dashboard_id}/usage`

Get usage statistics for a single dashboard. The response includes view counts, the most recent view and edit times, widget counts, and the dashboard quality score. View-count fields depend on Real User Monitoring (RUM) and are `null` or `0` in orgs without RUM.

## Path parameters

- `dashboard_id` string, required

## Response `200`

OK

- DashboardUsageResponse — Response containing usage statistics for a single dashboard.
  - `data` DashboardUsage, required — A single dashboard usage record.
    - `attributes` DashboardUsageAttributes, required — Usage statistics for a dashboard. The `viewer` field and all view-count fields (`total_views`, `viewed_at`, `total_views_by_type`) are populated only when Real User Monitoring (RUM) is active for the org.
      - `author` DashboardUsageUser, nullable — A user referenced from a dashboard usage record (author or viewer).
        - `handle` string — Datadog handle (login) of the user.
        - `id` string — The user ID.
        - `is_disabled` boolean — Whether the user account is disabled.
        - `name` string — Display name of the user.
      - `created_at` string, date-time, nullable — When the dashboard was created.
      - `dashboard_quality_score` number, double, nullable — The dashboard quality score, or `null` when no score is available.
      - `edited_at` string, date-time, nullable — When the dashboard was most recently edited.
      - `org_id` integer, required — The Datadog organization that owns the dashboard.
      - `teams` string[], nullable — Teams the dashboard is tagged with.
      - `title` string — The dashboard title.
      - `total_views` integer — Total view count for the dashboard. Counts only views captured by Real User Monitoring (RUM); `0` in orgs without RUM.
      - `total_views_by_type` object, nullable — View counts keyed by view type (`in_app`, `embed`, `public`, `shared`, `api`, `unknown`). Counts only views captured by Real User Monitoring (RUM); empty in orgs without RUM.
      - `viewed_at` string, date-time, nullable — When the dashboard was most recently viewed. Populated only when Real User Monitoring (RUM) is active for the org; `null` in orgs without RUM.
      - `viewer` DashboardUsageUser, nullable — A user referenced from a dashboard usage record (author or viewer).
        - `handle` string — Datadog handle (login) of the user.
        - `id` string — The user ID.
        - `is_disabled` boolean — Whether the user account is disabled.
        - `name` string — Display name of the user.
      - `widget_count` integer, nullable — The total number of widgets on the dashboard.
      - `widget_count_by_type` object, nullable — Widget counts keyed by widget type. The map includes group widgets and widgets without requests.
    - `id` string, required — The dashboard ID.
    - `type` 'dashboards-usages', required — The type of the resource. Always `dashboards-usages`.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `429` — Too many requests

---

[API](https://skmtc.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/revisions/da68bf029e4c/schema)
