I'm creating several RSS feeds from a database to publish things like job openings, volunteer opportunities, and links in general. My question is, how many items should be returned in the feed so that it is most likely that someone will get all the items in their reader without any gaps?

SELECT TOP 100 ? (obviously would need to be set for # of feeds estimated over X time)

SELECT the last 24, 48, 72 hours?

If I run my feed through Feedburner, does anyone know if they check on a certain interval so that I can create it to their standard and be assured that the Feedburner feed will contain all items?

+2  A: 

Well, it would depend on the rate that entries show up.

But I'd be guessing that aiming for the last 48 or so hours would be safe - seeing as a lot of users would be running stand alone RSS readers that will need to hit the feed to pull down whatever is current. But if that is going to be too much data, then maybe just limit it. 100 would be a lot though.

It would also depend on how the users would consume that data. Job openings would probably work with that volume, but users can get swamped if they're constantly seeing too many entries come in, and unsubscribe.

And you'll need to be wary of the size of the actual feed itself. Some feed aggregation services put a limit like 512kb and won't relay it if it gets bigger than that.

+1  A: 

feedburner seems to check every 5 minutes but you might be able to set it up in your account. Another forum post seems to indicate it's every 30 minutes.

+2  A: 

I personally would try to keep it to something under 25 or so. I know that the number of people using iGoogle for RSS feed viewing is going up, and there is a max display limit of 9 entries there. Many other RSS feed displays are limiting at 10-15 entries.

I find that an RSS feed, unless it is specifically an "all encompassing" feed by nature, is usually a small, quick-hit, update of what is going on or what is available.

As madlep mentioned i would also be careful to keep the size down.

Mitchel Sellers

If you've done the hard work of creating the feeds in the fist place then offer querystring variables to affect what records are returned.

I did something similar recently for an intranet-based feed, like this


Which returns the last 3 days worth of feeds with a maximum of 100 records.


feed.asp?d=7 (all records for the past 7 days)

feed.asp?n=10 (the last 10 records)

Then users can adjust the feed to suit their circumstance as you typically can't possibly have one feed that caters for all users' requirements.

While this doesn't help you with your "default" values when feed.asp is requested, it does at least allow techy users to modify the feeds if they so wish. Make sure you check the querystring values too, to prevent silly/malicious requests.