Analytics · Analytics

Get YouTube video retention curve

Fetches a YouTube video retention curve.

GEThttps://api.pozy.ai/v1/analytics/youtube/video-retention
getYouTubeVideoRetention

Guides: YouTube, Platform insights

Request

Send your API key as Authorization: Bearer pz_live_.... Read-only keys can call it. Keys with the analytics resource group disabled get 403 resource_group_disabled. Authentication

Query parameters

NameTypeNotes
videoIdrequiredstring
accountIdrequiredstring
fromDatestring (date)
toDatestring (date)
startDatestring (date)
endDatestring (date)

Example

curl -X GET "https://api.pozy.ai/v1/analytics/youtube/video-retention?videoId=65fd297a0da74ab358dd11e9&accountId=696e0b682d0a31188e7a2ba9" \
  -H "Authorization: Bearer $POZY_API_KEY"

Response

200 on success

  • successboolean
  • accountIdstring
  • videoIdstring
  • titlestring

    Can be null.

  • publishedAtstring (date-time)

    Can be null.

  • durationSecondsinteger

    Can be null.

  • dateRangeobject
    • startDatestring (date)
    • endDatestring (date)
  • provisionalSincestring (date)
  • retentionCurvearray of object
    • elapsedVideoTimeRationumber
    • audienceWatchRationumber
    • relativeRetentionPerformancenumber
    • startedWatchinginteger
    • stoppedWatchinginteger
    • totalSegmentImpressionsinteger
  • notestring
  • scopeStatusobject
    • hasAnalyticsScopeboolean
200 response
{
  "success": true,
  "accountId": "696e0b682d0a31188e7a2ba9",
  "videoId": "65fd297a0da74ab358dd11e9",
  "title": "Launch day",
  "publishedAt": "2026-10-02T09:00:00.000Z",
  "durationSeconds": 1,
  "dateRange": {
    "startDate": "2026-10-01",
    "endDate": "2026-10-01"
  },
  "provisionalSince": "2026-10-01",
  "retentionCurve": [
    {
      "elapsedVideoTimeRatio": 12.5,
      "audienceWatchRatio": 12.5,
      "relativeRetentionPerformance": 12.5,
      "startedWatching": 1,
      "stoppedWatching": 1,
      "totalSegmentImpressions": 42
    }
  ],
  "note": "string",
  "scopeStatus": {
    "hasAnalyticsScope": true
  }
}

Errors

Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:

400invalid_request_errorA parameter or body field is missing or invalid. param names it.
401authentication_errorThe API key is missing, revoked or expired.
403permission_errorThe key is scoped to other profiles or has this resource group disabled.
429rate_limit_errorToo many requests this minute. Wait for Retry-After seconds.

Every code is listed in Errors.

More in Analytics