# 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](#operation/getVideoPrivacyPolicies))
  
  Schema: [VideoPrivacySet](https://sourcey-peertube.pages.dev/api-rest-reference/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://sourcey-peertube.pages.dev/api-rest-reference/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://sourcey-peertube.pages.dev/api-rest-reference/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://sourcey-peertube.pages.dev/api-rest-reference/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/rss+xml

Type: Array<object>

Schema: [VideosForXML](https://sourcey-peertube.pages.dev/api-rest-reference/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://sourcey-peertube.pages.dev/api-rest-reference/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://sourcey-peertube.pages.dev/api-rest-reference/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: text/xml

Type: Array<object>

Schema: [VideosForXML](https://sourcey-peertube.pages.dev/api-rest-reference/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://sourcey-peertube.pages.dev/api-rest-reference/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://sourcey-peertube.pages.dev/api-rest-reference/models/mrssgroupcontent.md); Type: MRSSGroupContent

Content type: application/atom+xml

Type: Array<object>

Schema: [VideosForXML](https://sourcey-peertube.pages.dev/api-rest-reference/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://sourcey-peertube.pages.dev/api-rest-reference/models/mrsspeerlink.md); Type: MRSSPeerLink
      
        Reference: [MRSSGroupContent](https://sourcey-peertube.pages.dev/api-rest-reference/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)
```
