Podcast RSS Feed Validator - Apple, Spotify & Podcasting 2.0 avatar

Podcast RSS Feed Validator - Apple, Spotify & Podcasting 2.0

Pricing

from $5.00 / 1,000 feed validateds

Go to Apify Store
Podcast RSS Feed Validator - Apple, Spotify & Podcasting 2.0

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

mohamed alaya

Maintained by Community

Actor 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, itunes and podcast namespaces 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)

FieldMeaning
title, feedUrl, finalUrl, resolvedFromThe show and where the feed really lives.
score0-100: 100 minus 12 per error and 3 per warning.
errors, warnings, infosIssue counts.
appleReady, spotifyReadyTrue when no error tagged for that directory was found. This is a pre-flight check, not a guarantee of acceptance.
episodeCount, episodesValidated, episodesAudioChecked, newestEpisodeAt, daysSinceLastEpisodeFeed contents.
artworkURL, format, width, height, bytes.
podcasting20Which Podcasting 2.0 channel tags exist and a coverage level.
issuesList 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 maxEpisodes items 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.