Podcast RSS Feed Validator - Apple, Spotify & Podcasting 2.0
Pricing
from $5.00 / 1,000 feed validateds
Podcast RSS Feed Validator - Apple, Spotify & Podcasting 2.0
Bulk-check podcast RSS feeds against Apple Podcasts, Spotify and Podcasting 2.0 rules: required tags, GUIDs, dates, https, cover-art size, audio reachability and byte-range support. Score and fix list per feed; schedule it. Unreadable feeds are never charged.
Pricing
from $5.00 / 1,000 feed validateds
Rating
0.0
(0)
Developer
mohamed alaya
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Checks podcast RSS feeds against the rules Apple Podcasts, Spotify and the Podcasting 2.0 namespace expect, and returns a score plus a fix list for each feed. Built for podcast hosts, networks and agencies that manage many shows and want to catch a broken feed before a directory rejects it. Bulk (paste your whole network) and schedule-friendly (alert on score drops).
No API key, no login, no browser. It only reads your public feeds.
What it checks
- Feed: reachable, https, content type, size, response time, redirects, XML declaration and encoding, RSS 2.0 root,
itunesandpodcastnamespaces declared. - Show: title, description, language, link, owner email, author, explicit flag, Apple category,
itunes:type,itunes:block. - Cover art: present, https, downloadable, JPEG or PNG, square, between 1400x1400 and 3000x3000 pixels.
- Episodes (newest 50 by default): title, enclosure URL / type / length, https, unique GUIDs, pubDate parseable and not in the future, duration format, episode type, season / episode numbers, descriptions, duplicate titles.
- Audio (newest 3 by default): the file is reachable, served as audio, supports byte-range requests (Apple needs them) and its size matches the declared length. The Actor requests only the first two bytes; it does not download your audio.
- Podcasting 2.0:
podcast:guid(valid UUID),locked,funding,person, transcripts, chapters; coverage level none / minimal / basic / advanced.
Input examples
Validate a whole network:
{ "feedUrls": ["https://example.com/show-a.xml", "https://example.com/show-b.xml"], "episodesToCheck": 3 }
Use Apple Podcasts links and get a flat spreadsheet of issues:
{ "feedUrls": ["https://podcasts.apple.com/us/podcast/planet-money/id290783428"], "rowPerIssue": true }
Scheduled monitor that lists feeds under a score of 80 in the run summary:
{ "feedUrls": ["https://example.com/show-a.xml"], "flagScoreBelow": 80, "episodesToCheck": 1 }
{} works: it validates two public sample feeds so you can see the report format.
Output fields (one row per feed)
| Field | Meaning |
|---|---|
title, feedUrl, finalUrl, resolvedFrom | The show and where the feed really lives. |
score | 0-100: 100 minus 12 per error and 3 per warning. |
errors, warnings, infos | Issue counts. |
appleReady, spotifyReady | True when no error tagged for that directory was found. This is a pre-flight check, not a guarantee of acceptance. |
episodeCount, episodesValidated, episodesAudioChecked, newestEpisodeAt, daysSinceLastEpisode | Feed contents. |
artwork | URL, format, width, height, bytes. |
podcasting20 | Which Podcasting 2.0 channel tags exist and a coverage level. |
issues | List of {severity, rule, scope, episode, message, fix, tags}. tags shows which directory cares (apple, spotify, p20, core). |
Sample row (shortened):
{"type":"feed","title":"Planet Money","feedUrl":"https://feeds.npr.org/510289/podcast.xml","score":85,"errors":0,"warnings":5,"appleReady":true,"spotifyReady":true,"episodeCount":355,"artwork":{"format":"jpeg","width":1400,"height":1400},"podcasting20":{"level":"minimal"},"issues":[{"severity":"warning","rule":"explicit-missing","message":"The show has no <itunes:explicit> value."}]}
A feed that cannot be fetched or is not RSS becomes a {"type":"error"} row and is not charged.
Use it with
- Apify schedule daily or weekly plus Slack / email integration on the summary, so a broken feed after a hosting change is caught the same day.
- Pair with a podcast-directory scraper or your hosting export that lists feed URLs.
FAQ
Is this Apple's or Spotify's official validator? No. It implements the published feed requirements as best understood; each directory can reject a feed for reasons not visible in the XML (content policy, ownership, duplicates).
Why is a rule only a warning? Errors are reserved for things the directories list as required or that make a feed unusable. Recommendations are warnings, and Podcasting 2.0 items are informational.
Does it measure loudness? No. Loudness measurement needs downloading the full audio and is not included.
Honest limits
- Only the first
maxEpisodesitems of the feed are checked; feeds with 1,000 episodes are validated on their newest part. - The well-formedness check is heuristic (the feed is parsed leniently); a document with a subtle XML syntax error may still pass.
- Audio tests use small byte-range requests; hosts that block datacenter IPs may report false "unreachable" errors.
- Rules follow public documentation and can drift as Apple and Spotify change their requirements.
Price
Pay per event: feed-validated $0.005 per feed report, plus episode-checked $0.001 per episode whose audio was tested. Example: 20 feeds with the default 3 audio tests each = 20 x $0.005 + 60 x $0.001 = $0.16. Unreadable feeds and issue rows are free.