---
title: "Get YouTube daily views"
method: GET
path: "/v1/analytics/youtube/daily-views"
tags: ["Analytics"]
---

# Get YouTube daily views

`GET /v1/analytics/youtube/daily-views`

Returns daily view counts for a YouTube video including views, watch time, and subscriber changes.
Requires yt-analytics.readonly scope (re-authorization may be needed). YouTube finalizes analytics
with a ~3-day delay; by default only finalized days are returned, and an explicit endDate can reach
into the delay window (see the endDate parameter). Max 90 days, defaults to last 30 days.

## Query parameters

- `videoId` string, required
- `accountId` string, required
- `startDate` string, date
- `endDate` string, date

## Response `200`

Daily views breakdown

- YouTubeDailyViewsResponse
  - `success` boolean
  - `videoId` string — The YouTube video ID
  - `durationSeconds` integer, nullable — Video length in seconds (from YouTube contentDetails.duration)
  - `dateRange` object
    - `startDate` string, date
    - `endDate` string, date
  - `provisionalSince` string, date — Present only when the range reaches into YouTube's ~3-day processing window: the first date whose numbers are provisional and may still be revised by YouTube.
  - `totalViews` integer — Sum of views across all days in the range
  - `dailyViews` object[]
    - `date` string, date
    - `views` integer
    - `estimatedMinutesWatched` number
    - `averageViewDuration` number — Average view duration in seconds
    - `averageViewPercentage` number — Average percentage of the video watched per view. Can exceed 100 on Shorts (looping rewatches), so do not clamp it client-side.
    - `subscribersGained` integer
    - `subscribersLost` integer
    - `likes` integer
    - `comments` integer
    - `shares` integer
  - `lastSyncedAt` string, date-time, nullable — When the data was last synced from YouTube
  - `scopeStatus` object
    - `hasAnalyticsScope` boolean

## Other responses

- `400` — Bad request (missing or invalid parameters)
- `401` — Unauthorized
- `402` — Analytics access required. Legacy plans need the Analytics add-on; included by default on usage-based plans.
- `403` — Access denied to this account
- `412` — Missing YouTube Analytics scope
- `500` — Internal server error

---

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