Design reference

YouTube / Public web reference / 2026.09

Product objects and end-to-end journeys

Video, channel and playlist identity remain stable across cards, rows, shelves and viewing routes.

All entries shown

Objects

ObjectLocal schemaRules
Videoid, title, channelId, thumbnail, durationSeconds, viewCount, publishedAt, availability, kindThe ID owns route identity. The title is user content. Availability can be available, unavailable or private.
Channelid, handle, name, avatar, banner, subscriberCount, descriptionChannel identity is independent of a video. Missing imagery does not remove its visible name.
Playlistid, title, ownerChannelId, videoIds, visibilityOrder is meaningful. Public viewing is separate from private creation, editing and save authorization.
Search queryquery, kind, sort, pageStateThe URL is the shareable query state. Draft input is local until submitted.
Account statesignedOut in public referenceWrite actions become an explicit gate. Personalized or entitlement states are excluded from observed claims.

Find and watch

Home or mastheadEnter queryRefine resultsOpen videoPlayback or unavailable state

Entry requires no account. Search preserves query and selected filter. Video selection opens a stable watch route. The unavailable branch keeps the player’s error and surrounding video identity in view. Browser back restores the previous route; reconstruction fixtures do not promise YouTube’s ranking or scroll persistence.

Explore a creator

Video channel identityChannel homeVideos or Shorts tabOpen a media item

Local tabs change the collection, not the channel identity. A channel subscription requires account authority, so the signed-out reference opens a gate. Do not persist a false subscribed state.

Save, history and Premium

The viewing shell exposes account and entitlement entry points. Public help documents playlist save and history controls; authenticated completion is excluded. The Premium recipe covers public communication and an account-required next step. It does not collect payment data or promise prices, promotions or eligibility.

Data and event boundary

const video = {
  id: 'reference-video-1',
  title: 'A quiet evening above the clouds',
  channelId: 'reference-channel',
  durationSeconds: 420,
  availability: 'unavailable',
  kind: 'video'
};
// Reference events stay in memory.
// Never send raw search text, identity or watch activity.
Reconstructed reference contract. Object schemas, fixtures and event names are local implementation contracts. YouTube’s private APIs, recommendation ranking, billing and analytics schemas are not inferred.