# Monitor RSS Feed Freshness with ETag Checks

**Use case:** 

Run a scheduled RSS health check, flag stale content, and return reusable ETag or Last-Modified state for efficient conditional requests on later runs.

## Input

```json
{
  "feeds": [
    {
      "url": "https://www.w3.org/news/feed/"
    }
  ],
  "timeoutSeconds": 20,
  "maxRedirects": 5,
  "maxFeedBytes": 5000000,
  "maxEntriesPerFeed": 100,
  "staleAfterHours": 168,
  "concurrency": 2,
  "requiredFeedFields": [
    "title"
  ],
  "requiredEntryFields": [
    "title",
    "url",
    "date"
  ]
}
```

## Output

```json
{
  "recordType": {
    "label": "Record",
    "format": "string"
  },
  "feedIndex": {
    "label": "Feed #",
    "format": "integer"
  },
  "entryIndex": {
    "label": "Entry #",
    "format": "integer"
  },
  "status": {
    "label": "Status",
    "format": "string"
  },
  "format": {
    "label": "Format",
    "format": "string"
  },
  "summary": {
    "label": "Health receipt",
    "format": "string"
  },
  "requestedUrl": {
    "label": "Requested URL",
    "format": "string"
  },
  "finalUrl": {
    "label": "Final URL",
    "format": "string"
  },
  "httpStatus": {
    "label": "HTTP",
    "format": "integer"
  },
  "dedupeMethod": {
    "label": "Dedupe",
    "format": "string"
  },
  "duplicateOccurrences": {
    "label": "Duplicates",
    "format": "integer"
  },
  "checkedAt": {
    "label": "Checked",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Feed Quality Monitor: RSS, Atom & JSON QA](https://apify.com/sassy_labs/feed-quality-monitor) with a specific input configuration. Visit the [Actor detail page](https://apify.com/sassy_labs/feed-quality-monitor) to learn more, explore other use cases, and run it yourself.