Analytics

Get YouTube demographics

Returns audience demographic insights for a YouTube channel, broken down by age, gender, and/or country. Pass videoId to get the audience profile of a single video instead of the whole channel. Age and gender values are viewer percentages (0-100). Country values are view counts. Data is based on signed-in viewers only, with a 2-3 day delay. YouTube suppresses demographics for videos with too few signed-in views, so low-traffic videos can return empty breakdowns. Requires the Analytics add-on.

get/v1/analytics/youtube/demographics

Query parameters

accountIdstring required

The Zernio SocialAccount ID for the YouTube account

videoIdstring

YouTube video ID. When provided, demographics are scoped to this single video (must belong to the connected channel; otherwise 404 video_not_found).

breakdownstring

Comma-separated list of demographic dimensions: age, gender, country. Defaults to all three if omitted.

fromDatestring date

Start date in YYYY-MM-DD format. Defaults to 90 days ago, or to the video's publish date (lifetime) when videoId is provided.

toDatestring date

End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit toDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response).

startDatestring date

Alias of fromDate, kept for existing callers

endDatestring date

Alias of toDate, kept for existing callers

Response

Demographic insights data

successboolean
accountIdstring

The Zernio SocialAccount ID

platformstring
videoIdstring

Present only when demographics are scoped to a single video

titlestring nullable

Video title (video mode only)

publishedAtstring date-time nullable

Video publish date (video mode only)

demographicsobject

Object keyed by breakdown dimension (age, gender, country)

provisionalSincestring 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.

notestring

Example response

{
  "success": true,
  "platform": "youtube",
  "dateRange": {
    "startDate": "2026-01-01",
    "endDate": "2026-03-31"
  },
  "note": "Age/gender values are viewer percentages (0-100). Country values are view counts. Data based on signed-in viewers only, with 2-3 day delay."
}

Changes

Changed in 5 of the 56 revisions of this API.20

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the new optional query request parameter fromDate

      new-optional-request-parameter

    • ○

      added the new optional query request parameter toDate

      new-optional-request-parameter

    • ○

      query request parameter endDate was deprecated

      request-parameter-deprecated

    • ○

      query request parameter startDate was deprecated

      request-parameter-deprecated

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

    • ○

      added the non-success response with the status

      response-non-success-status-added