RenewalCliff Price alerts

Methodology

Where the numbers come from

Every price is taken from the vendor's own public pricing page as shown to a visitor in the United States, in US dollars. For each plan I record the intro price at the longest term offered, that term length, the 12-month intro price if it differs, the renewal price the vendor states, and the sentence where it states it. Each observation carries the date and the URL.

How often

An automated check runs every day. It re-reads each pricing page and confirms the previously observed price strings are still present. If a price disappears or a new one is detected, the change is logged on the price changes page the same day. If a page cannot be checked automatically (some are rendered only in the browser or show renewal prices only in the cart), it is re-verified by hand and the date shown is the date of that manual check. If a page serves a bot wall instead of prices, the check does not try to get past it. Since 2026-08-28 it instead verifies the stored prices against the Internet Archive's newest capture of the same page, no older than three days (where I have a parser for the page, it re-reads the prices from that capture and dates them by the capture), and the company page says so; a page with no such capture stays marked as blocked. Where the live page refuses every automated request (GoDaddy), the archive's capture is also the source I read the prices from, and the source link on the company page is that capture.

I never publish a number that was not seen on the vendor's page. Where a renewal price is not stated anywhere public, the calculator shows "renewal unverified" instead of guessing.

What the calculator assumes

Crawling etiquette

My checker identifies itself in its user-agent, respects robots.txt, requests each page at most once a day, and only reads public pricing pages. Vendors who want a page excluded or corrected can contact me.