Channel Feed Reference

Twitch API v5 is deprecated and will be removed on 12/31/18. The new Twitch API is live and we are actively adding new functionality to it.

Endpoint Description
Get Multiple Feed Posts Gets posts from a specified channel feed.
Get Feed Post Gets a specified post from a specified channel feed.
Create Feed Post Creates a post in a specified channel feed. The content of the post is specified in the request body, with a required content parameter.
Delete Feed Post Deletes a specified post in a specified channel feed.
Create Reaction to a Feed Post Creates a reaction to a specified post in a specified channel feed. The reaction is specified by an emote value, which is either an ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).
Delete Reaction to a Feed Post Deletes a specified reaction to a specified post in a specified channel feed. The reaction is specified by an emote ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).
Get Feed Comments Gets all comments on a specified post in a specified channel feed.
Create Feed Comment Creates a comment to a specified post in a specified channel feed. The comment content can be specified either as a query-string parameter or in the request body (in x-www-form-urlencoded format).
Delete Feed Comment Deletes a specified comment on a specified post in a specified channel feed.
Create Reaction to a Feed Comment Creates a reaction to a specified comment on a specified post in a specified channel feed. The reaction is specified by an emote value, which is either an ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).
Delete Reaction to a Feed Comment Deletes a reaction to a specified comment on a specified post in a specified channel feed. The reaction is specified by an emote value, which is either an ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).

Get Multiple Feed Posts

Gets posts from a specified channel feed.

Authentication

Optional scope: any scope

If authentication is provided, the user_ids array in the response body contains the requesting user's ID, if they have reacted to a post.

URL

GET https://api.twitch.tv/kraken/feed/<channel ID>/posts

Optional Query String Parameters

Name Type Description
limit long Maximum number of most-recent objects to return. Default: 10. Maximum: 100.
cursor string Tells the server where to start fetching the next set of results in a multi-page response.
comments long Specifies the number of most-recent comments on posts that are included in the response. Default: 5. Maximum: 5.

Example Request

This gets the most recent post from channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X GET 'https://api.twitch.tv/kraken/feed/44322889/posts?limit=1'

Example Response

{
   "_cursor": "1479487861147094000",
   "_topic": "feeds.channel.44322889",
   "_disabled": false,
   "posts": [{
      "body": "News feed post!",
      "comments": {
         "_cursor": "1480434747093939000",
         "_total": 1,
         "comments": [{
               "body": "Hey there! KappaHD",
               "created_at": "2016-11-29T15:52:27Z",
               "deleted": false,
               "emotes": [
                  {
                     "end": 17,
                     "id": 115847,
                     "set": 19194,
                     "start": 11
                  }
               ],
               "id": "132629",
               "permissions": {
                  "can_delete": true
               },
               "reactions": {},
               "user": {
                  "_id": 44322889,
                  "bio": "Just a gamer playing games and chatting. :)",
                  "created_at": "2013-06-03T19:12:02Z",
                  "display_name": "dallas",
                  "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
                  "name": "dallas",
                  "type": "staff",
                  "updated_at": "2016-11-29T15:31:48Z"
               }
         }]
      },
      "created_at": "2016-11-18T16:51:01Z",
      "deleted": false,
      "embeds": [],
      "emotes": [],
      "id": "443228891479487861",
      "permissions": {
         "can_delete": true,
         "can_moderate": true,
         "can_reply": true
      },
      "reactions": {
         "25": {
               "count": 1,
               "emote": "Kappa",
               "user_ids": [
                  44322889
               ]
         },
         "endorse": {
               "count": 1,
               "emote": "endorse",
               "user_ids": [
                  44322889
               ]
         }
      },
      "user": {
         "_id": 44322889,
         "bio": "Just a gamer playing games and chatting. :)",
         "created_at": "2013-06-03T19:12:02Z",
         "display_name": "dallas",
         "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
         "name": "dallas",
         "type": "staff",
         "updated_at": "2016-11-29T15:31:48Z"
      }
   }]
}

Get Feed Post

Gets a specified post from a specified channel feed.

Authentication

Optional scope: any scope

If authentication is provided, the user_ids array in the reaction body contains the requesting user’s ID, if they have reacted to the post.

URL

GET https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>

Optional Query String Parameter

Name Type Description
comments long Specifies the number of most-recent comments on posts that are included in the response. Default: 5. Maximum: 5.

Example Request

This gets post 1341393b-e872-4554-9f6f-acd5f8b669fc from channel feed 44322889, including the 5 most recent comments on the post.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X GET 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc?comments=5'

Example Response

{
   "body": "News feed post!",
   "comments": {
      "_cursor": "1480434747093939000",
      "_total": 1,
      "comments": [{
         "body": "Hey there! KappaHD",
         "created_at": "2016-11-29T15:52:27.291928Z",
         "deleted": false,
         "emotes": [
            {
               "end": 17,
               "id": 115847,
               "set": 19194,
               "start": 11
            }
         ],
         "id": "f2cd2af6-65db-45a2-ba2c-aed4b6cc0711",
         "permissions": {
            "can_delete": true
         },
         "reactions": {},
         "user": {
            "_id": "44322889",
            "bio": "Just a gamer playing games and chatting. :)",
            "created_at": "2013-06-03T19:12:02.580593Z",
            "display_name": "dallas",
            "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
            "name": "dallas",
            "type": "staff",
            "updated_at": "2017-01-05T15:32:01.74986Z"
         }
      }]
   },
   "created_at": "2016-11-18T16:51:01.18384Z",
   "deleted": false,
   "embeds": [],
   "emotes": [],
   "id": "a3da4ed2-5ac7-44ca-a930-c7f1eb0d1729",
   "permissions": {
      "can_delete": true,
      "can_moderate": true,
      "can_reply": true
   },
   "reactions": {
      "25": {
         "count": 1,
         "emote": "Kappa",
         "user_ids": [
               "44322889"
         ]
      },
      "endorse": {
         "count": 1,
         "emote": "endorse",
         "user_ids": [
               "44322889"
         ]
      }
   },
   "user": {
      "_id": "44322889",
      "bio": "Just a gamer playing games and chatting. :)",
      "created_at": "2013-06-03T19:12:02.580593Z",
      "display_name": "dallas",
      "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
      "name": "dallas",
      "type": "staff",
      "updated_at": "2017-01-05T15:32:01.74986Z"
   }
}

Create Feed Post

Creates a post in a specified channel feed.

The content of the post is specified in the request body, with a required content parameter.

Authentication

Required scope: channel_feed_edit

URL

POST https://api.twitch.tv/kraken/feed/<channel ID>/posts

Optional Query String Parameter

Name Type Description
share boolean When set to true, the post is shared on the channel’s Twitter feed (if connected), with a link to the post’s URL.

Example Request

This creates a test post on the 44322889 channel.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-H 'Content-Type: application/json' \
-d '{"content": "Another test post Kappa"}' \
-X POST 'https://api.twitch.tv/kraken/feed/44322889/posts' 

Example Response

{
   "post": {
      "body": "Another test post Kappa",
      "comments": {
         "_cursor": "",
         "_total": 0,
         "comments": []
      },
      "created_at": "2016-11-29T17:58:13.580593Z",
      "deleted": false,
      "embeds": [],
      "emotes": [
         {
               "end": 29,
               "id": 25,
               "set": 0,
               "start": 25
         }
      ],
      "id": "1341393b-e872-4554-9f6f-acd5f8b669fc",
      "permissions": {
         "can_delete": true,
         "can_moderate": true,
         "can_reply": true
      },
      "reactions": {},
      "user": {
         "_id": "44322889",
         "bio": "Just a gamer playing games and chatting. :)",
         "created_at": "2013-06-03T19:12:02.580593Z",
         "display_name": "dallas",
         "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
         "name": "dallas",
         "type": "staff",
         "updated_at": "2017-01-05T15:32:01.74986Z"
      }
   },
   "tweet": null
}

Delete Feed Post

Deletes a specified post in a specified channel feed.

Authentication

Required scope: channel_feed_edit

URL

DELETE https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>

Optional Query String Parameters

None

Example Request

This deletes post 1341393b-e872-4554-9f6f-acd5f8b669fc from channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X DELETE 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc'

Example Response

{
    "body": "",
    "comments": null,
    "created_at": "2016-11-29T17:58:13.74986Z",
    "deleted": true,
    "embeds": null,
    "emotes": null,
    "id": "1341393b-e872-4554-9f6f-acd5f8b669fc",
    "permissions": null,
    "reactions": null,
    "user": null
}

Create Reaction to a Feed Post

Creates a reaction to a specified post in a specified channel feed. The reaction is specified by an emote value, which is either an ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).

Authentication

Required scope: channel_feed_edit

URL

POST https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/reactions?emote_id=<emote value>

Optional Query String Parameters

None

Example Request

This creates a reaction (emote 25) to post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X POST 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/reactions?emote_id=25'

Example Response

{
   "created_at": "2016-11-29T15:51:12Z",
   "emote_id": "25",
   "id": "24989127",
   "user": {
      "_id": "44322889",
      "bio": "Just a gamer playing games and chatting. :)",
      "created_at": "2013-06-03T19:12:02.580593Z",
      "display_name": "dallas",
      "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
      "name": "dallas",
      "type": "staff",
      "updated_at": "2017-01-05T15:32:01.74986Z"
   }
}

Delete Reaction to a Feed Post

Deletes a specified reaction to a specified post in a specified channel feed. The reaction is specified by an emote ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).

Authentication

Required scope: channel_feed_edit

URL

DELETE https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/reactions?emote_id=<emote value>

Optional Query String Parameters

None

Example Request

This deletes the authenticated user’s reaction (with emote ID 25) to post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X DELETE 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/reactions?emote_id=25'

Example Response

{
    "deleted": true
}

Get Feed Comments

Gets all comments on a specified post in a specified channel feed.

Authentication

Optional scope: any scope

If authentication is provided, the permissions for the comment are returned in the response; otherwise, no permissions are returned.

URL

GET https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/comments

Optional Query String Parameters

Name Type Description
limit long Maximum number of most-recent objects to return. Default: 10. Maximum: 100.
cursor string Tells the server where to start fetching the next set of results, in a multi-page response.

Example Request

This gets the most recent comment on post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X GET 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/comments?limit=1'

Example Response

{
   "_cursor": "1480651694954867000",
   "_total": 1,
   "comments": [{
      "body": " A comment to query.",
      "created_at": "2016-12-02T04:08:14.5389Z",
      "deleted": false,
      "emotes": [],
      "id": "134962",
      "permissions": {
         "can_delete": false
      },
      "reactions": {},
      "user": {
         "_id": "44322889",
         "bio": "Just a gamer playing games and chatting. :)",
         "created_at": "2013-06-03T19:12:02.580593Z",
         "display_name": "dallas",
         "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
         "name": "dallas",
         "type": "staff",
         "updated_at": "2017-01-05T15:32:01.74986Z"
      }
   }]
}

Create Feed Comment

Creates a comment to a specified post in a specified channel feed.

The comment content can be specified either as a query-string parameter or in the request body (in x-www-form-urlencoded format).

Authentication

Required scope: channel_feed_edit

URLs

POST https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/comments?content=<content string>

POST https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/comments

Required Query String or Request Body Parameter

Name Type Description
content string Comment to be created.

Example Request

This creates a test comment to post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-H 'Content-Type: application/json' \
-d '{"content": "A test comment Kappa"}' \
-X POST 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/comments'

Example Response

{
   "body": "A test comment Kappa",
   "created_at": "2016-11-29T21:57:34.4589Z",
   "deleted": false,
   "emotes": [
      {
         "end": 19,
         "id": 25,
         "set": 0,
         "start": 15
      }
   ],
   "id": "132989",
   "permissions": {
      "can_delete": true
   },
   "reactions": {},
   "user": {
      "_id": "44322889",
      "bio": "Just a gamer playing games and chatting. :)",
      "created_at": "2013-06-03T19:12:02.580593Z",
      "display_name": "dallas",
      "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
      "name": "dallas",
      "type": "staff",
      "updated_at": "2017-01-05T15:32:01.74986Z"
   }
}

Delete Feed Comment

Deletes a specified comment on a specified post in a specified channel feed.

Authentication

Required scope: channel_feed_edit

URL

DELETE https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/comments/<comment ID>

Optional Query String Parameters

None

Example Request

This deletes comment 132989 on post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X DELETE 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/comments/132989'

Example Response

{
   "body": "",
   "created_at": "2016-12-02T02:25:46Z",
   "deleted": true,
   "emotes": null,
   "id": "134931",
   "permissions": null,
   "reactions": null,
   "user": null
}

Create Reaction to a Feed Comment

Creates a reaction to a specified comment on a specified post in a specified channel feed. The reaction is specified by an emote value, which is either an ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).

Authentication

Required scope: channel_feed_edit

URL

POST https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/comments/<comment ID>/reactions?emote_id=<emote value>

Optional Query String Parameters

None

Example Request

This creates a reaction (with emote ID 25) to comment 132989 on post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X POST 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/comments/132989/reactions?emote_id=25'

Example Response

{
   "created_at": "2016-12-02T04:26:47Z",
   "emote_id": "25",
   "id": "1341393b-e872-4554-9f6f-acd5f8b669fc",
   "user": {
      "_id": "44322889",
      "bio": "Just a gamer playing games and chatting. :)",
      "created_at": "2013-06-03T19:12:02.580593Z",
      "display_name": "dallas",
      "logo": "https://static-cdn.jtvnw.net/jtv_user_pictures/dallas-profile_image-1a2c906ee2c35f12-300x300.png",
      "name": "dallas",
      "type": "staff",
      "updated_at": "2017-01-05T15:32:01.74986Z"
   }
}

Delete Reaction to a Feed Comment

Deletes a reaction to a specified comment on a specified post in a specified channel feed. The reaction is specified by an emote value, which is either an ID (for example, “25” is Kappa) or the string “endorse” (which corresponds to a default face emote).

Authentication

Required scope: channel_feed_edit

URL

DELETE https://api.twitch.tv/kraken/feed/<channel ID>/posts/<post ID>/comments/<comment ID>/reactions?emote_id=<emote value>

Optional Query String Parameters

None

Example Request

This deletes the reaction with emote ID 25 to comment 132989 on post 1341393b-e872-4554-9f6f-acd5f8b669fc in channel feed 44322889.

curl -H 'Accept: application/vnd.twitchtv.v5+json' \
-H 'Client-ID: uo6dggojyb8d6soh92zknwmi5ej1q2' \
-H 'Authorization: OAuth cfabdegwdoklmawdzdo98xt2fo512y' \
-X DELETE 'https://api.twitch.tv/kraken/feed/44322889/posts/1341393b-e872-4554-9f6f-acd5f8b669fc/comments/132989/reactions?emote_id=25'

Example Response

{
   "deleted": true
}