feedwrapped

Podcast statistics and feed history, made visible.

FeedwrappedBot

feedwrapped downloads podcast RSS feeds so it can show what they contain. This page is what its User-Agent points at. If you run a feed and want to know what this traffic is, you are in the right place.

How it identifies itself

Every request feedwrapped makes carries this header, without exception:

User-Agent: FeedwrappedBot/0.1 (+https://feedwrapped.com/bot)

The version is major and minor only, so a patch release will not change what you see in your logs. The bot does not pretend to be a browser and does not vary its User-Agent between requests.

What it does

It is not a spider. It fetches one URL, because a visitor typed or clicked it. It never follows links out of a feed, never discovers feeds on its own, and never walks a site. If nobody asks for your feed, feedwrapped never contacts you.

A single lookup makes at most these requests:

How it caches

Each feed is downloaded once. The body is stored, along with whichever validators you sent, and reused from then on.

In practice a popular feed costs you one small HEAD per hour, however many people look at it.

Limits it holds itself to

Feed sizestops reading at 16.0 MB
Feed timeout20 seconds
Revalidation timeout8 seconds
Cover art timeout6 seconds
Redirects followedat most 5
Schemeshttp and https only
Unprompted checksa feed we already hold is re-checked at least once every 24 hours even if nobody asks for it. Shows that publish more often are checked after half their recent average release gap, with 2 seconds between one feed and the next. Almost every one of those costs a HEAD request and no download
Compressionzstd, br, gzip, deflate accepted
Audio filesnever requested — a fetch of ours would count as a download the publisher did not get. The domains serving them are read out of the feed and asked about over DNS only: the CNAME chain, the reverse name, and the autonomous system from Team Cymru’s IP-to-ASN zone — three questions to a resolver, never a connection
Concurrencyvisitors arriving together share one lookup

If you would rather it stayed away

It does not read robots.txt, because it acts on a specific request from a person rather than crawling on its own schedule — the same reasoning a browser applies. That said, it identifies itself plainly so you can decide. Refusing requests whose User-Agent contains FeedwrappedBot is enough to block it completely, and it will report the refusal to whoever asked.

Any 4xx or 5xx is passed straight back to the visitor and nothing is stored, so a block is not retried in a loop.

Back to feedwrapped