Members

Note: As of March 31, 2020, the members endpoint replaces the sponsors endpoint, which is now deprecated and will no longer be supported on or after September 30, 2020. API clients should update calls to the sponsors.list method to use the members.list method instead.

This endpoint can only be used with prior approval from YouTube. Please complete this form if your application needs to use this method.

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.

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
    },
  ]
}
snippet.membershipsDuration.memberSince datetime
The date and time that the member's current membership started. In other words, the member has continuously had a membership since this date and time. Note that different periods of the membership might have been spent at different membership levels.
snippet.membershipsDuration.memberTotalDurationMonths integer
The number of months, rounded down to the nearest integer, that the user has been a member. The value reflects the number of complete months that the member has had a membership, but the number does not imply that the member has continuously had a membership for that many months.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel[] list (of objects)
A list of objects, in which each object contains details about a period of the membership during which the member had access to a particular membership level. The list includes one object for each membership level that the member can currently access.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level string
The membership level ID. The value corresponds to the id property value in a membershipsLevel resource.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
The date and time from which the member has had access to the specified membership level. In other words, the member has continuously had access to the level since this date and time. Note that different periods of the membership might have been spent at higher membership levels.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
The number of months, rounded down to the nearest integer, that the user has had access to the specified level. The value reflects the number of complete months that the member has had access to the level, but the number does not imply that the member has continuously had a membership for that many months.