# Import videos from an RSS or MRSS feed

Import videos into communities and groups from an RSS or MRSS feed URL in Brand Control Center, with optional authentication, pagination, and a schedule.

Direct Import in Brand Control Center (BCC) fetches videos from an RSS or MRSS feed and maps them to the communities and groups you choose, so you don't upload each video by hand. Use it to import videos continuously from external sources, publish on a predictable cadence, and fill several communities and groups.

The first import fetches up to 100 videos per feed. Scheduled runs after it fetch only new videos. Feed imports are part of Control; for the whole product, see [Control: what it does and where to start](https://begenuin.com/developers/browse-by-products/control/control-what-it-does-and-where-to-start).

## Add the feed URL

1. In Brand Control Center, go to **Curate** > **Activity** > **New Post** > **Direct Import**.
   ![The Import Videos page in Brand Control Center, reached from New Post, with the Direct Import card highlighted between the Social Import and Clip it cards.](https://cdn.sanity.io/images/lnrtvsvr/development/c088305ed38c0e41efe655874ef2fd8579ba0a8e-937x601.jpg)
   *Step 1: Direct Import sits on the Import Videos page, next to Social Import and Clip it.*
2. In the source dropdown at the start of the URL field, choose **RSS/MRSS**.
   ![The Direct Import page with the source dropdown open on RSS/MRSS, XML, and JSON, beside the Drop a video URL field, and the Import in selectors at the bottom.](https://cdn.sanity.io/images/lnrtvsvr/development/37ee92cf3b7b588d45f95d39974f5f2908f974fa-937x575.jpg)
   *Step 2: Pick RSS/MRSS from the source dropdown; XML and JSON are the other options.*
3. Paste your feed URL into the **Drop a video URL** field. Brand Control Center validates the URL instantly.
   ![The Direct Import page with an http feed URL entered under RSS/MRSS, outlined in red, and an error saying the link is invalid and to try a different URL.](https://cdn.sanity.io/images/lnrtvsvr/development/91167e0f2a4d2de1602610160269754d7abaf33f-1440x926.jpg)
   *Step 3: A URL that fails validation is outlined in red with an error message.*

The validation result tells you what to do next:

| Result | What it means | What to do |
| --- | --- | --- |
| Valid URL | The URL format and its uniqueness are verified. | Continue. |
| Invalid format | The URL is missing https or has an incorrect structure. | Fix the URL. |
| Duplicate URL | Another scheduler already uses this URL. | Use a different URL. |

## Configure authentication (Optional)

Add authentication when the feed requires access control. You can import private or secured RSS feeds with Basic Auth or a Bearer Token.

1. Select the **Authorisation** toggle.
2. Choose an **Auth type**:
   - **No Auth (Default)**: For public feeds.
   - **Basic Auth**: For feeds that need a username and password.
   - **Bearer Token**: For feeds that need an access token.
3. Enter the **Username** and **Password** for Basic Auth, or the **Token** for a Bearer Token.
   ![The Authorisation section of Direct Import switched on, with the Auth type dropdown open on Basic Auth and Bearer Token, beside Username and Password fields and the Query Parameter section.](https://cdn.sanity.io/images/lnrtvsvr/development/bce5853b26466d6327614e770b317f3e419b9c2f-938x572.jpg)
   *Step 3: Pick Basic Auth or Bearer Token as the Auth type for a private feed.*

When authorization is enabled, the authorization fields are mandatory.

## Enable pagination (Optional)

Turn on query parameters when your feed spreads its videos across multiple pages. Brand Control Center then fetches content across those feed pages.

1. Turn on **Query Parameter** for the feed.
2. Enter the **Key**, such as `page`.
3. Enter the **Value**, such as `1`.
4. Enter the **Max Value**, such as `10`.
   ![The Authorisation and Query Parameter sections of Direct Import, both switched on, with Auth type set to Bearer Token and a Token field, and the Key, Value, and Max Value fields.](https://cdn.sanity.io/images/lnrtvsvr/development/3f0445ddabefeaedc9ad7e642c7bed8ae5c60a58-937x573.jpg)
   *Step 4: Turn on Query Parameter and fill in Key, Value, and Max Value for a multi-page feed.*

The values must be numeric, and the **Max Value** must be greater than or equal to the **Value**. For example, a **Key** of `page`, a **Value** of 1, and a **Max Value** of 10 fetch feed pages 1 to 10.

## Choose the destination and import

1. Under **Import in**, select the **Community** the videos go to.
2. Select one or more **Group(s)** in that community, so each video is mapped correctly.
   ![The Direct Import page with a valid feed URL and the Import in selectors highlighted, showing Technology plus three more communities and Auto-curated Group plus three more groups, beside the Import button.](https://cdn.sanity.io/images/lnrtvsvr/development/f1efbb8ab51fad88bcacd04c2550a6ed102d6e34-937x573.jpg)
   *Step 2: Choose the communities and groups under Import in, then click Import.*
3. Click **Import**.

The result differs by whether the feed has a saved scheduler:

- **No scheduler saved**: Brand Control Center offers **Import Only**, a one-time fetch, and **Schedule & Import**, which saves a scheduler and fetches.
- **Scheduler already saved**: The import starts immediately, and Brand Control Center redirects you to Activity Logs.

To set up recurring imports, see [Schedule recurring imports from an RSS or MRSS feed](https://begenuin.com/developers/browse-by-products/control/how-do-i-set-a-scheduler-for-importing-videos-from-rss-mrss-feed-urls-in-the-brand-control-center). To create the destination first, see [Create communities and groups](https://begenuin.com/developers/get-started/any-business/create-communities-and-groups).

## Review the import in Activity Logs

After an import, its task appears in Activity Logs with one of three statuses.

![The Activity Logs tab with Direct Import selected, listing imports with their uploader, source, and date, and a highlighted Import status column showing Completed, Video Duration Exceeds The Limit, and Failed.](https://cdn.sanity.io/images/lnrtvsvr/development/c87294837ce52faedb93836372e07b7a245c02f2-1600x780.jpg)
*The Import status column shows whether each import completed or failed.*

| Status | What it means |
| --- | --- |
| Processing | The task is running. |
| Success | The videos are available, and you can edit them before publishing. |
| Failed | The error reason is shown, and a retry option is available. |

To review and approve the imported videos, see [Add and curate content in AI-generated communities and groups](https://begenuin.com/developers/browse-by-products/control/how-to-add-or-curate-content-in-communities-or-groups).

## How feed imports run

| Aspect | Details |
| --- | --- |
| Initial fetch | Fetches up to 100 videos per feed during the first ingestion |
| Scheduled runs | Fetch only new (delta) content in later runs |
| Supported formats | RSS and MRSS feed formats |
| Pagination | Handles paginated feeds with the query parameters you configure |

| Field | Validation requirement |
| --- | --- |
| Feed URL | Must be valid in structure and unique; duplicate schedulers aren't allowed |
| Authorization fields | Mandatory when authorization is enabled (Basic Auth or Bearer Token) |
| Query parameters | Must be numeric and logically valid, for example Max Value at least Value |

## Troubleshoot feed imports

| Problem | Cause | Fix |
| --- | --- | --- |
| The feed doesn't import videos | The URL is invalid, the feed items are missing video tags, or authorization fails | Fix the URL, make sure each item carries a video tag, and check the authentication option and credentials. |
| A duplicate URL error appears | The same feed is already configured in another scheduler | Use a different feed URL. |

## Limitations

- **Video duration**: The maximum supported duration is 300 seconds.
- **No streaming**: Real-time feed streaming isn't supported.
- **No direct editing**: You can't edit RSS-sourced content directly in Brand Control Center.
- **One scheduler per feed URL**: Each feed URL can be used by only one scheduler.

## See also

- [Schedule recurring imports from an RSS or MRSS feed](https://begenuin.com/developers/browse-by-products/control/how-do-i-set-a-scheduler-for-importing-videos-from-rss-mrss-feed-urls-in-the-brand-control-center)
- [Import videos from a JSON feed](https://begenuin.com/developers/browse-by-products/control/how-can-i-import-videos-using-json-feeds-in-the-brand-control-center)
- [Automate social imports and publishing with Scheduler](https://begenuin.com/developers/browse-by-products/control/scheduler-in-brand-control-center)
- [Connect your website, app, and podcast feed](https://begenuin.com/developers/get-started/any-business/connect-properties)
