# Video Feeds

Server syndication feeds of videos

## Comments on videos feeds

`GET /feeds/video-comments.{format}`

Authentication: no security requirement declared for this operation.

Parameters:

- `format` (path, string, required) - format expected (we focus on making `rss` the most feature-rich ; it serves [Media RSS](https://www.rssboard.org/media-rss))
  Type: string
  
  enum: ["xml","rss","rss2","atom","atom1","json","json1"]

- `videoId` (query, string, optional) - limit listing comments to a specific video
  Type: string

- `accountId` (query, string, optional) - limit listing comments to videos of a specific account
  Type: string

- `accountName` (query, string, optional) - limit listing comments to videos of a specific account
  Type: string

- `videoChannelId` (query, string, optional) - limit listing comments to videos of a specific video channel
  Type: string

- `videoChannelName` (query, string, optional) - limit listing comments to videos of a specific video channel
  Type: string

- `isLocal` (query, boolean, optional) - **PeerTube >= 9.0** Display only comments of local or remote accounts
  Type: boolean

- `onLocalVideo` (query, boolean, optional) - **PeerTube >= 9.0** Display only comments of local or remote videos
  Type: boolean

Responses:

- 200: successful operation

Content type: application/xml

Type: Array<object>

Schema: [VideoCommentsForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videocommentsforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
  
  - `guid` (optional)
    Type: string
  
  - `pubDate` (optional)
    Type: string, date-time
  
  - `content:encoded` (optional)
    Type: string
  
  - `dc:creator` (optional)
    Type: string

Content type: application/rss+xml

Type: Array<object>

Schema: [VideoCommentsForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videocommentsforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
  
  - `guid` (optional)
    Type: string
  
  - `pubDate` (optional)
    Type: string, date-time
  
  - `content:encoded` (optional)
    Type: string
  
  - `dc:creator` (optional)
    Type: string

Content type: text/xml

Type: Array<object>

Schema: [VideoCommentsForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videocommentsforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
  
  - `guid` (optional)
    Type: string
  
  - `pubDate` (optional)
    Type: string, date-time
  
  - `content:encoded` (optional)
    Type: string
  
  - `dc:creator` (optional)
    Type: string

Content type: application/atom+xml

Type: Array<object>

Schema: [VideoCommentsForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videocommentsforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
  
  - `guid` (optional)
    Type: string
  
  - `pubDate` (optional)
    Type: string, date-time
  
  - `content:encoded` (optional)
    Type: string
  
  - `dc:creator` (optional)
    Type: string

Content type: application/json

Type: object

- 400: Arises when:
  - videoId filter is mixed with a channel filter


- 404: video, video channel or account not found

- 406: accept header unsupported

## Examples

### cURL

```bash
curl -X GET 'https://peertube2.cpy.re/feeds/video-comments.xml'
```

### JavaScript

```javascript
const response = await fetch('https://peertube2.cpy.re/feeds/video-comments.xml', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('https://peertube2.cpy.re/feeds/video-comments.xml')
print(response.text)
```


## Common videos feeds

`GET /feeds/videos.{format}`

Authentication: no security requirement declared for this operation.

Parameters:

- `format` (path, string, required) - format expected (we focus on making `rss` the most feature-rich ; it serves [Media RSS](https://www.rssboard.org/media-rss))
  Type: string
  
  enum: ["xml","rss","rss2","atom","atom1","json","json1"]

- `accountId` (query, string, optional) - limit listing to a specific account
  Type: string

- `accountName` (query, string, optional) - limit listing to a specific account
  Type: string

- `videoChannelId` (query, string, optional) - limit listing to a specific video channel
  Type: string

- `videoChannelName` (query, string, optional) - limit listing to a specific video channel
  Type: string

- `sort` (query, string, optional) - Sort column
  Type: string
  
  Example:
  
  ```json
  "-createdAt"
  ```

- `nsfw` (query, string, optional) - whether to include nsfw videos, if any
  Type: string
  
  enum: ["true","false"]

- `isLocal` (query, boolean, optional) - **PeerTube >= 4.0** Display only local or remote objects
  Type: boolean

- `include` (query, integer, optional) - **Only administrators and moderators can use this parameter**

Include additional videos in results (can be combined using bitwise or operator)
- `0` NONE
- `1` NOT_PUBLISHED_STATE
- `2` BLACKLISTED
- `4` BLOCKED_OWNER
- `8` FILES
- `16` CAPTIONS
- `32` VIDEO SOURCE

  Type: integer
  
  enum: [0,1,2,4,8,16,32]

- `privacyOneOf` (query, VideoPrivacySet, optional) - **PeerTube >= 4.0** Display only videos in this specific privacy/privacies
  Type: VideoPrivacySet
  
  privacy id of the video (see [/videos/privacies](https://docs.joinpeertube.org/api-rest-reference/api/operations/getvideoprivacypolicies.html))
  
  Schema: [VideoPrivacySet](https://docs.joinpeertube.org/api-rest-reference/api/models/videoprivacyset.md)
  
  enum: [1,2,3,4,5]

- `hasHLSFiles` (query, boolean, optional) - **PeerTube >= 4.0** Display only videos that have HLS files
  Type: boolean

- `hasWebVideoFiles` (query, boolean, optional) - **PeerTube >= 6.0** Display only videos that have Web Video files
  Type: boolean

Responses:

- 200: successful operation

Content type: application/xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/rss+xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: text/xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/atom+xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/json

Type: object

- 404: video channel or account not found

- 406: accept header unsupported

## Examples

### cURL

```bash
curl -X GET 'https://peertube2.cpy.re/feeds/videos.xml'
```

### JavaScript

```javascript
const response = await fetch('https://peertube2.cpy.re/feeds/videos.xml', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('https://peertube2.cpy.re/feeds/videos.xml')
print(response.text)
```


## Videos of subscriptions feeds

`GET /feeds/subscriptions.{format}`

Authentication: no security requirement declared for this operation.

Parameters:

- `format` (path, string, required) - format expected (we focus on making `rss` the most feature-rich ; it serves [Media RSS](https://www.rssboard.org/media-rss))
  Type: string
  
  enum: ["xml","rss","rss2","atom","atom1","json","json1"]

- `accountId` (query, string, required) - limit listing to a specific account
  Type: string

- `token` (query, string, required) - private token allowing access
  Type: string

- `sort` (query, string, optional) - Sort column
  Type: string
  
  Example:
  
  ```json
  "-createdAt"
  ```

- `nsfw` (query, string, optional) - whether to include nsfw videos, if any
  Type: string
  
  enum: ["true","false"]

- `isLocal` (query, boolean, optional) - **PeerTube >= 4.0** Display only local or remote objects
  Type: boolean

- `include` (query, integer, optional) - **Only administrators and moderators can use this parameter**

Include additional videos in results (can be combined using bitwise or operator)
- `0` NONE
- `1` NOT_PUBLISHED_STATE
- `2` BLACKLISTED
- `4` BLOCKED_OWNER
- `8` FILES
- `16` CAPTIONS
- `32` VIDEO SOURCE

  Type: integer
  
  enum: [0,1,2,4,8,16,32]

- `privacyOneOf` (query, VideoPrivacySet, optional) - **PeerTube >= 4.0** Display only videos in this specific privacy/privacies
  Type: VideoPrivacySet
  
  privacy id of the video (see [/videos/privacies](https://docs.joinpeertube.org/api-rest-reference/api/operations/getvideoprivacypolicies.html))
  
  Schema: [VideoPrivacySet](https://docs.joinpeertube.org/api-rest-reference/api/models/videoprivacyset.md)
  
  enum: [1,2,3,4,5]

- `hasHLSFiles` (query, boolean, optional) - **PeerTube >= 4.0** Display only videos that have HLS files
  Type: boolean

- `hasWebVideoFiles` (query, boolean, optional) - **PeerTube >= 6.0** Display only videos that have Web Video files
  Type: boolean

Responses:

- 200: successful operation

Content type: application/xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/rss+xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: text/xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/atom+xml

Type: Array<object>

Schema: [VideosForXML](https://docs.joinpeertube.org/api-rest-reference/api/models/videosforxml.md)

Items:
  Type: object
  
  - `link` (optional)
    Type: string, url
    
    video watch page URL
  
  - `guid` (optional)
    Type: string
    
    video canonical URL
  
  - `pubDate` (optional)
    Type: string, date-time
    
    video publication date
  
  - `description` (optional)
    Type: string
    
    video description
  
  - `content:encoded` (optional)
    Type: string
    
    video description
  
  - `dc:creator` (optional)
    Type: string
    
    publisher user name
  
  - `media:category` (optional)
    Type: integer
    
    video category (MRSS)
  
  - `media:community` (optional)
    Type: object
    
    see [media:community](https://www.rssboard.org/media-rss#media-community) (MRSS)
    
    - `media:statistics` (optional)
      Type: object
      
      - `views` (optional)
        Type: integer
  
  - `media:embed` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video embed path, relative to the canonical URL domain (MRSS)
  
  - `media:player` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
      
      video watch path, relative to the canonical URL domain (MRSS)
  
  - `media:thumbnail` (optional)
    Type: object
    
    - `url` (optional)
      Type: string, url
    
    - `height` (optional)
      Type: integer
    
    - `width` (optional)
      Type: integer
  
  - `media:title` (optional)
    Type: string
    
    see [media:title](https://www.rssboard.org/media-rss#media-title) (MRSS). We only use `plain` titles.
  
  - `media:description` (optional)
    Type: string
  
  - `media:rating` (optional)
    Type: string
    
    see [media:rating](https://www.rssboard.org/media-rss#media-rating) (MRSS)
    
    enum: ["nonadult","adult"]
  
  - `enclosure` (optional)
    Type: object
    
    main streamable file for the video
    
    - `url` (optional)
      Type: string, url
    
    - `type` (optional)
      Type: string
      
      enum: ["application/x-bittorrent"]
    
    - `length` (optional)
      Type: integer
  
  - `media:group` (optional)
    Type: Array<MRSSPeerLink | MRSSGroupContent>
    
    list of streamable files for the video. see [media:peerLink](https://www.rssboard.org/media-rss#media-peerlink) and [media:content](https://www.rssboard.org/media-rss#media-content) or  (MRSS)
    
    Items:
      Type: MRSSPeerLink | MRSSGroupContent
      
      anyOf:
        Reference: [MRSSPeerLink](https://docs.joinpeertube.org/api-rest-reference/api/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://docs.joinpeertube.org/api-rest-reference/api/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/json

Type: object

- 406: accept header unsupported

## Examples

### cURL

```bash
curl -X GET 'https://peertube2.cpy.re/feeds/subscriptions.xml?accountId=string&token=string'
```

### JavaScript

```javascript
const response = await fetch('https://peertube2.cpy.re/feeds/subscriptions.xml?accountId=string&token=string', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('https://peertube2.cpy.re/feeds/subscriptions.xml?accountId=string&token=string')
print(response.text)
```


## Videos podcast feed

`GET /feeds/podcast/videos.xml`

Authentication: no security requirement declared for this operation.

Parameters:

- `videoChannelId` (query, string, optional) - Limit listing to a specific video channel
  Type: string

- `playlistId` (query, string, optional) - Limit listing to a specific video playlist
  Type: string

- `enclosurePreference` (query, string, optional) - Filter enclosures by type (video-only or audio-only)
  Type: string
  
  enum: ["video-only","audio-only"]

Responses:

- 200: successful operation

- 404: video channel or playlist not found

## Examples

### cURL

```bash
curl -X GET 'https://peertube2.cpy.re/feeds/podcast/videos.xml'
```

### JavaScript

```javascript
const response = await fetch('https://peertube2.cpy.re/feeds/podcast/videos.xml', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('https://peertube2.cpy.re/feeds/podcast/videos.xml')
print(response.text)
```


## Video chapters of podcast feeds

`GET /feeds/podcast/video-chapters.json`

**PeerTube >= 9.0** Chapters of a video in the Podcasting 2.0 JSON format, referenced by the `podcast:chapters` tag of podcast feed items.
See https://podcasting2.org/docs/podcast-namespace/tags/chapters


Authentication: no security requirement declared for this operation.

Parameters:

- `videoId` (query, string, required) - The video id, uuid or short uuid
  Type: string

Responses:

- 200: successful operation

Content type: application/json+chapters

Type: PodcastChapters

Podcasting 2.0 JSON chapters, see https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/examples/chapters/jsonChapters.md

Schema: [PodcastChapters](https://docs.joinpeertube.org/api-rest-reference/api/models/podcastchapters.md)

- `version` (optional)
  Type: string
  
  Example:
  
  ```json
  "1.2.0"
  ```

- `chapters` (optional)
  Type: Array<object>
  
  Items:
    Type: object
    
    - `startTime` (optional)
      Type: integer
      
      Start of the chapter, in seconds
    
    - `title` (optional)
      Type: string

Content type: application/json

Type: PodcastChapters

Podcasting 2.0 JSON chapters, see https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/examples/chapters/jsonChapters.md

Schema: [PodcastChapters](https://docs.joinpeertube.org/api-rest-reference/api/models/podcastchapters.md)

- `version` (optional)
  Type: string
  
  Example:
  
  ```json
  "1.2.0"
  ```

- `chapters` (optional)
  Type: Array<object>
  
  Items:
    Type: object
    
    - `startTime` (optional)
      Type: integer
      
      Start of the chapter, in seconds
    
    - `title` (optional)
      Type: string

- 404: video not found

- 406: accept header unsupported

## Examples

### cURL

```bash
curl -X GET 'https://peertube2.cpy.re/feeds/podcast/video-chapters.json?videoId=string'
```

### JavaScript

```javascript
const response = await fetch('https://peertube2.cpy.re/feeds/podcast/video-chapters.json?videoId=string', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('https://peertube2.cpy.re/feeds/podcast/video-chapters.json?videoId=string')
print(response.text)
```
