RSS Quality Gate - stop garbage items polluting your feed data avatar

RSS Quality Gate - stop garbage items polluting your feed data

Pricing

$4.00 / 1,000 feed checkeds

Go to Apify Store
RSS Quality Gate - stop garbage items polluting your feed data

RSS Quality Gate - stop garbage items polluting your feed data

Pricing

$4.00 / 1,000 feed checkeds

Rating

0.0

(0)

Developer

muazah

muazah

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Pricing: $0.004 per feed checked (up to 200 items per feed, all quality rows and the summary included).

Feed-to-database pipelines break quietly. A feed changes its GUID format and your automation posts everything twice. A duplicate slips in from a second source feed. Dates arrive malformed, titles come through as "Untitled", one feed 404s for a week and nobody notices. This Actor sits in front of your ingestion and gives every item a verdict with evidence, before it reaches your dataset, n8n flow or database.

What gets flagged per item

  • duplicate - same article link seen from another feed or earlier in the run, with the source named in duplicate_of (tracking parameters ignored)
  • guid_drift - same article, but the feed changed its identity string since your last run. This is the #1 cause of duplicate triggers in IFTTT/Zapier/n8n pipelines
  • guid_collision - two different articles sharing one GUID
  • missing_link, missing_title, placeholder_title ("Untitled", "N/A", ...), truncated_title
  • missing_date, malformed_date, future_date, implausibly_old_date

Per feed, a health record: OK, UNCHANGED (ETag/Last-Modified match, cheap re-runs), FETCH_ERROR or PARSE_ERROR, with item/clean/defect counts. The summary adds defect rate and per-defect totals across all feeds.

Input

{
"feeds": ["https://example.com/feed.xml", "https://example.org/atom.xml"],
"maxItemsPerFeed": 200,
"stateName": "default"
}

RSS 2.0, Atom and RDF are supported. stateName selects the persisted state store: repeat runs reuse ETag/Last-Modified (unchanged feeds short-circuit) and compare GUIDs against the previous run to catch drift. Use a new name for a fresh baseline.

Honest limits

  • Items are a bounded newest-item sample per feed (default and max 200), not full history.
  • Items that fall out of a feed's rolling window are simply absent - never reported as deleted.
  • Duplicates are detected within a run and via GUID state across runs; semantic near-duplicates (same story, different URL) are out of scope.
  • Article links are not fetched or validated - pair with a link checker if you need that.
  • Feeds must be publicly reachable; authenticated feeds are not supported.

Built for data engineers and automation builders running feed-to-database, monitoring and content-aggregation pipelines.