Members

  • The members endpoint has replaced the deprecated sponsors endpoint as of March 31, 2020, with the sponsors endpoint ceasing support after September 30, 2020, requiring API clients to update their calls.

  • A member resource represents a YouTube channel member who provides recurring monetary support to a creator and receives exclusive benefits, such as access to members-only chat.

  • The API's members.list method allows channel owners to retrieve a list of their channel members, and it is available exclusively to individual creators for their own, channel-memberships-enabled YouTube channels.

  • The member resource provides details in its snippet section, including the member's profile data, the creator channel ID, the membership's highest accessible level, and the overall duration of the membership, along with the duration at specific membership levels.

A member resource represents a channel member for a YouTube channel. A member provides recurring monetary support to a creator and receives special benefits. For example, members are able to chat when the creator turns on members-only mode for a chat.

The following access restrictions apply:

  • Access to the members and membershipsLevels endpoints is limited to YouTube creators who have a dedicated YouTube Partner Manager.
  • Access is granted at the channel level. Because of this channel-level allowlisting, the youtube.channel-memberships.creator OAuth scope does not go through the standard Google Cloud OAuth verification process.

Methods

The API supports the following methods for member resources:

list
Lists members (formerly known as "sponsors") for a channel. The API request must be authorized by the channel owner.

Resource representation

The following JSON structure shows the format of a member resource:

{
  "kind": "youtube#member",
  "etag": etag,
  "snippet": {
    "creatorChannelId": string,
    "memberDetails": {
      "channelId": string,
      "channelUrl": string,
      "displayName": string,
      "profileImageUrl": string
    },
    "membershipsDetails": {
      "highestAccessibleLevel": string,
      "highestAccessibleLevelDisplayName": string,
      "accessibleLevels": [
        string
      ],
      "membershipsDuration": {
        "memberSince": datetime,
        "memberTotalDurationMonths": integer,
      },
      "membershipsDurationAtLevel": [
        {
          "level": string,
          "memberSince": datetime,
          "memberTotalDurationMonths": integer,
        }
      ]
    }
  }
}

Properties

The following table defines the properties that appear in this resource:

Properties
kind string
Identifies the API resource's type. The value will be youtube#member.
etag etag
The Etag of this resource.
snippet object
The snippet object contains details about the member.
snippet.creatorChannelId string
The YouTube channel ID of the creator that offers memberships.
snippet.memberDetails object
This object contains profile data about the YouTube channel that is paying for the membership.

Note that a channel can have members with unavailable profile data. For example, this occurs with members who have deleted their channels but are still paying for memberships. Note that these members can still access their membership benefits.

API responses include resources for those members to ensure accurate counts even though the profile details inside the memberDetails object are not set. The membershipsDetails are still provided for such members.
snippet.memberDetails.channelId string
The YouTube channel ID of the member channel. If it is set, the channel ID can also be treated as a unique identifier for the member. If it is not set, the member cannot be uniquely identified, but the resource still conveys membership details such as the levels that the member can access and the duration of their membership.
snippet.memberDetails.channelUrl string
The channel's URL.
snippet.memberDetails.displayName string
The channel's display name.
snippet.memberDetails.profileImageUrl string
The channel's avatar URL.
snippet.membershipsDetails object
This object contains membership details for the member channel.
snippet.membershipsDetails.highestAccessibleLevel string
The ID of the highest membership level that the member channel can currently access. The value corresponds to the id property value in a membershipsLevel resource.
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
The name of the highest membership level that the member channel can currently access. The value corresponds to the displayName property value in a membershipsLevel resource.
snippet.membershipsDetails.accessibleLevels[] list (of strings)
A list of IDs for all membership levels that the user can currently access. The list includes the currently active level and all levels below it.
snippet.membershipsDuration object
This object contains information about the overall duration of the current member's membership without regard to pricing levels. The snippet.membershipsDetails.membershipsDurationAtLevel[] property then contains a list of objects that contain details about a period of the membership during which the member had access to a particular membership level.

The following example shows how these properties work: A member purchases a new membership in January at membership level 1 and has that membership until March. In April and May, the member does not have a membership. In June, the member restarts their membership, again at level 1. Then, in August, the member upgrades their membership to level 2. So, if an API call is made in October, the member resource would contain the following:
"membershipsDetails": {
  "membershipsDuration": {
    "memberSince": "2020-06-01T12:00:00",
    "memberTotalDurationMonths": 7,
  },
  "membershipsDurationAtLevel": [
    {
      "level": "level_1_ID",
      "memberSince": "2020-06-01T12:00:00",
      "memberTotalDurationMonths": 7
    },
    {
      "level": "level_2_ID",
      "memberSince": "2020-08-01T12:00:00",
      "memberTotalDurationMonths": 2
    },
  ]
}