“Roku’s rules got updated. New channels and any updates get judged by the new rules. If your channel is already live, you’ll face the new rules the next time you change anything.”
Expanding Your Roku JSON Feed & Adding Categories
Now that you’ve hosted your first video and connected your feed to Roku, it’s time to expand your channel with multiple videos and proper category organization. This will make your channel look professional and user-friendly from the start.
1️⃣ Adding Multiple Videos to Your Feed
Your JSON feed can hold as many videos as you want. Simply add more entries inside the "movies" array.
Example with 3 videos:
{
"providerName": "My First Roku Channel",
"language": "en",
"lastUpdated": "2025-08-05T14:00:00+00:00",
"movies": [
{
"id": "video1",
"title": "My First Video",
"content": {
"dateAdded": "2025-08-05T13:00:00+00:00",
"videos": [
{
"url": "https://archive.org/download/myvideo1/myvideo1.mp4",
"quality": "HD",
"videoType": "MP4"
}
],
"duration": 120,
"language": "en"
},
"genres": ["special_interest"],
"thumbnail": "https://archive.org/download/myvideo1/thumbnail.jpg",
"releaseDate": "2025-08-05",
"shortDescription": "The first sample video."
},
{
"id": "video2",
"title": "My Second Video",
"content": {
"dateAdded": "2025-08-05T13:10:00+00:00",
"videos": [
{
"url": "https://archive.org/download/myvideo2/myvideo2.mp4",
"quality": "HD",
"videoType": "MP4"
}
],
"duration": 150,
"language": "en"
},
"genres": ["special_interest"],
"thumbnail": "https://archive.org/download/myvideo2/thumbnail.jpg",
"releaseDate": "2025-08-05",
"shortDescription": "The second sample video."
},
{
"id": "video3",
"title": "My Third Video",
"content": {
"dateAdded": "2025-08-05T13:20:00+00:00",
"videos": [
{
"url": "https://archive.org/download/myvideo3/myvideo3.mp4",
"quality": "HD",
"videoType": "MP4"
}
],
"duration": 180,
"language": "en"
},
"genres": ["special_interest"],
"thumbnail": "https://archive.org/download/myvideo3/thumbnail.jpg",
"releaseDate": "2025-08-05",
"shortDescription": "The third sample video."
}
]
}
Tip: Always update the lastUpdated date when you make changes to your feed. Roku uses it to know when to refresh content.
2️⃣ Organizing Content into Categories
Categories make your channel easier to navigate. In Roku JSON feeds, categories are defined in a "categories" array.
Example with two categories:
"categories": [
{
"name": "Training Videos",
"order": "manual",
"playlistName": "training_playlist"
},
{
"name": "Behind the Scenes",
"order": "manual",
"playlistName": "bts_playlist"
}
]
Then, inside your video entries, you link them to a category like this:
"categories": ["training_playlist"]
This tells Roku to display that video under the “Training Videos” category.
3️⃣ Keeping Your Feed Clean & Error-Free
Roku is strict about feed formatting. Common mistakes include:
- Missing commas between items
- Quotation marks in titles or descriptions not escaped
- Invalid URLs (video or thumbnail links must be public)
Before uploading changes, validate your feed with JSONLint.
4️⃣ Updating Your Hosted Feed
- Open your feed file (
feed.json) - Add or edit video entries
- Update the
lastUpdatedtimestamp - Re-upload to your hosting location (Internet Archive, GitHub Pages, or AWS S3)
- Confirm the public link hasn’t changed
- Preview your channel in Roku Developer Dashboard
✅ Homework Before Lesson 4
- Add at least 3 videos to your feed
- Create at least 1 category and assign videos to it
- Validate your JSON feed
- Upload your updated feed to your hosting location
- Preview in Roku Developer Dashboard to confirm all videos appear in the correct category
In Lesson 4, we’ll focus on:
- Branding your channel with logos and background images
- Adding a professional look and feel
- Preparing for monetization with Roku Ads and affiliate QR codes