Skip to main content
All articles

How to Validate Your MRSS Feed (and Fix the Most Common Errors)

How to Validate Your MRSS Feed

An invalid MRSS feed produces no error on your end. Your feed URL loads, the XML looks fine in a browser, and everything seems to be working — until a distribution partner runs their ingest process and your content never appears on their platform.

MRSS feeds fail silently because the errors are structural. The file exists and is valid XML, but the metadata doesn't meet the platform's schema requirements. Understanding how to validate your feed before submission — and how to diagnose what platform validators are actually flagging — saves you days of back-and-forth with partner support teams.

Why Feed Validation Matters

Every major video distribution platform — MSN, Yahoo, Fire TV, Roku, Samsung TV+ — runs their own ingest validation when they process your MRSS feed. If your feed fails their checks, content simply won't appear. Some platforms send an automated rejection email. Others just silently skip items. A few won't tell you anything at all.

Validating before you submit lets you catch format issues, missing required fields, and structural problems in your own environment, where you can actually fix them.

General-Purpose MRSS Validators

W3C Feed Validation Service

The W3C validator at validator.w3.org/feed/ checks RSS 2.0 compliance and well-formed XML structure. It will catch XML syntax errors, missing required RSS channel elements, and malformed URLs. It does not validate the MRSS-specific media: namespace extensions deeply, but it's the right first pass to confirm your feed is structurally valid XML and meets the base RSS spec.

Enter your feed URL and look for both errors (feed will be rejected) and warnings (feed may work but has issues worth fixing).

Feed Validator

The open-source feed validator at feedvalidator.org is the same tool the W3C service uses under the hood, but accessible as a standalone check. It has explicit support for the Media RSS extension and will flag issues with <media:content> elements more specifically than the base W3C checker.

Browser-Based XML Inspection

Open your feed URL directly in Firefox or Chrome. A well-formed feed renders as a styled document tree. If you see a raw error message instead — "This page contains the following errors" — your feed has XML syntax problems that will cause any validator to reject it. These are the highest-priority issues to fix first.

Platform-Specific Validators

General validators catch format errors. Platform-specific validators catch requirement errors — fields that are technically valid XML but don't meet what the specific platform requires.

PlatformValidation ApproachKey Requirements
Amazon Fire TVCatalog Ingestion Reports in your Fire TV developer consoleMRSS 2.0, media:content with type/duration, valid thumbnail URL
RokuChannel package validator in Developer DashboardDirect Publisher Feed JSON or MRSS with specific category values
MSN VideoPartner Hub ingestion status after feed submissionMSN-specific category taxonomy, pubDate within 30 days, 16:9 thumbnail
Yahoo NewsAutomated ingest email after partner onboardingRSS Advisory Board compliance, media:credit, media:rating
Samsung TV+Content Operations review + feed test tool in Samsung Content ManagerMP4/HLS, 16:9 1920×1080, no DRM on free tier

Most platforms offer a test/staging submission path before you connect a production feed. Use it — submitting to the test environment first is the fastest way to catch platform-specific requirements before they block a live launch.

The 7 Most Common MRSS Validation Errors

1. Missing url attribute on media:content

Error

<media:content> element missing required url attribute.

The url attribute on <media:content> is required by the MRSS spec. Every item's media element must point to a direct, publicly accessible URL for the video file. This is the most common error for feeds built manually or exported from systems that don't enforce the attribute.

<!-- Wrong -->
<media:content type="video/mp4" duration="183"/>

<!-- Correct -->
<media:content url="https://cdn.example.com/video.mp4"
               type="video/mp4" duration="183"/>

2. Wrong MIME type

Error

Unsupported or incorrect type value in <media:content>.

The type attribute must be a valid MIME type. Common wrong values: mp4 (should be video/mp4), video (not a MIME type), or application/octet-stream (generic binary, rejected by most platforms). Use video/mp4 for MP4 files and application/x-mpegURL for HLS (.m3u8) streams.

3. Thumbnail URL returns non-200 or redirects

Error

Thumbnail URL inaccessible or returns redirect.

Platforms pre-fetch thumbnails at ingest time. If your <media:thumbnail url="..."> returns a 301/302 redirect, a 403 (hotlink protection), or a 404, the item will fail validation even if the video itself is accessible. Test every thumbnail URL with a curl request from outside your network to confirm direct access. Thumbnail dimensions should be at minimum 1280×720 for most platforms; MSN requires 16:9 ratio specifically.

4. Duration formatted incorrectly

Error

Invalid duration format — expected integer seconds.

The MRSS spec requires duration as an integer number of seconds. Common wrong formats: 3:03 (MM:SS), 00:03:03 (HH:MM:SS), 183.5 (decimal). Use duration="183" — a plain integer representing total seconds.

<!-- Wrong -->
<media:content url="..." type="video/mp4" duration="3:03"/>

<!-- Correct -->
<media:content url="..." type="video/mp4" duration="183"/>

5. Unescaped XML characters in title or description

Error

Well-formedness error: unescaped &, <, or > in text content.

Any ampersand in a title like "News & Sports" must be written as &amp; in the XML. Left unescaped, it breaks XML parsing and the entire feed fails. The five characters requiring escaping are: &&amp;, <&lt;, >&gt;, "&quot;, '&apos;. Alternatively, wrap text content in CDATA: <![CDATA[News & Sports]]>.

6. Missing or incorrect media namespace declaration

Error

Undefined namespace prefix: media.

The MRSS namespace must be declared on the root <rss> element. Without it, all media: elements are undefined and the feed fails. The correct declaration:

<rss version="2.0"
     xmlns:media="http://search.yahoo.com/mrss/">

7. Video URL not publicly accessible

Error

Media URL returns 403 Forbidden or requires authentication.

Distribution platforms crawl your feed URLs from their own servers. If your CDN or video host requires a signed URL, IP allowlist, or authentication token, the platform's crawler will get a 403. All URLs in a public MRSS feed must be directly accessible without authentication. If your content requires access control, use a token-in-URL approach with long-lived tokens, not session-based auth.

Platform-Specific Requirements That Trip Up Valid Feeds

Even a technically valid MRSS feed can fail platform onboarding if it doesn't meet that specific platform's content requirements. The most common platform-specific gotchas:

  • MSN Video: Requires <media:category> to use MSN's specific taxonomy values (e.g., Entertainment, News, Sports). Custom category strings are rejected.
  • Fire TV: Items with duration under 3 minutes may be rejected for certain channel types. Content must be TV-ready (no partial recordings, no vertical video).
  • Roku Direct Publisher: Requires either JSON feed format or MRSS with a specific channel-level thumbnail and language declaration.
  • Yahoo News Video: Requires <media:credit role="author"> and will reject items where the video URL returns anything other than the actual video file.

Ongoing Feed Health Monitoring

Feed validation isn't a one-time task. As your content library changes and you add new videos, new items can introduce validation errors that break platform ingest for everything that follows. The best practice:

  1. Run a validation check every time you make structural changes to your feed configuration
  2. Monitor platform ingest dashboards weekly, not just at launch
  3. Set up an uptime check on your feed URL to catch server-level issues before platforms do
  4. Periodically audit thumbnail URLs in your feed — thumbnails are the most common cause of silent item failures after a CDN or storage migration

How VideoNest Handles Validation

VideoNest generates MRSS feeds that are pre-validated against platform requirements. The system enforces required attributes at the schema level, formats duration as integer seconds, generates accessible thumbnail URLs, escapes text content, and applies the correct namespace declarations. Platform-specific feed types (MSN, Yahoo, Fire TV) apply the correct category taxonomy and attribute sets automatically.

If you're troubleshooting a feed you didn't generate with VideoNest, use the W3C validator for XML structure, then cross-reference the platform's technical documentation for their specific required fields. Most partner portals also provide error logs after an ingest attempt — those logs are far more specific than any generic validator and are worth checking first when a feed is accepted but content isn't appearing.

Distribute smarter. Earn automatically.

Your Video. Your Rules.

Upload once Reach everywhere Publish everywhere