Books

Growth 365

Tomas Laurinavicius

ChaptersThe Pricing Time Machine

The Pricing Time Machine

Watch every pricing experiment a competitor ever ran.

A pricing page looks like a finished decision. It is not. It is the visible tip of years of quiet tests, a tier renamed, a price raised a few points, a plan killed because nobody bought it. None of that history disappears. The Wayback Machine has been crawling public pricing pages for over a decade and it never throws a version away, so you can pull the whole timeline with one request.

What to do: curl "http://web.archive.org/cdx/search/cdx?url=site.com/pricing&collapse=digest" to list every distinct archived version of a competitor's pricing page, then open the oldest and newest and diff them by eye.

Why it works: What a company keeps on its pricing page is what converts. What it quietly drops is what did not. You get years of their pricing decisions for the cost of one curl.

Example: Stripe's pricing page has 1,474 archived snapshots going back to 2011, 1,280 of them real 200-status captures. In May 2019 the page read "2.9% + 30¢ per successful card charge" under a tier called Integrated. In July 2026 the same URL reads "1.5% + €0.25" under a tier renamed Standard. Same page, seven years apart, both facts pulled off the public archive.

Walk it through

I ran this against stripe.com and notion.so in July 2026. Here is what came back.

1. Pull every archived snapshot of the pricing page, then repeat the query for a second competitor.

curl -s "http://web.archive.org/cdx/search/cdx?url=stripe.com/pricing&collapse=digest" | wc -l

Terminal showing the CDX query against Stripe and Notion pricing pages, with status code counts and a redirect check

1,474 rows came back for Stripe, 1,280 of them a real 200 status, spanning 2019-05-07 (the first full capture) to 2026-07-12. Notion's /pricing on the .so domain returns 574 rows, 475 of them 200, but the last real capture is 2026-03-23. Every row after that is a redirect, and a quick header check shows why: notion.so/pricing now sends a 301 to notion.com/pricing. That is a domain migration, not proof Notion stopped touching its pricing page.

2. Open one old snapshot directly, at a specific timestamp.

I loaded web.archive.org/web/20190507010838/https://stripe.com/pricing straight in the browser.

Archived Stripe pricing page from May 2019, showing an Integrated tier at 2.9% plus 30 cents and a Customized tier for large accounts

Two tiers, Integrated and Customized. Integrated is a flat "2.9% + 30¢ per successful card charge," no setup fees, no monthly fees. Customized is the enterprise catch-all: volume discounts, interchange pricing, contact sales. That is the entire pricing model Stripe ran with in 2019, preserved exactly as it rendered.

3. Open the live page today and diff it against what you just saw.

Current Stripe pricing page, showing tiers renamed Standard and Custom, with region-specific rates of 1.5 percent for EEA cards and 2.5 percent for UK cards

Both tiers got renamed. Integrated is now Standard, Customized is now Custom. And the flat "2.9% + 30¢" is gone, replaced by rates split by card region, "1.5% + €0.25 for standard European Economic Area cards" and "2.5% + €0.25 for UK cards." Seven years of the exact same page, and you just watched the flat-rate era end.

The read

  • The digest column is the real diff, not the byte count. 1,275 of Stripe's 1,280 captures carry a distinct hash, which means almost every crawl differs by at least a byte, mostly noise like timestamps and asset hashes buried in the HTML. File size tells you nothing. You have to actually open snapshots at hash changes and read them.
  • A renamed tier is a positioning change you can date. Integrated to Standard, Customized to Custom, that is not cosmetic, it is Stripe simplifying its own vocabulary for a product that has clearly grown far past two options. Find the snapshot where the name flips and you have dated the shift.
  • A gap followed by only redirects usually means infrastructure, not strategy. Notion's .so pricing page going quiet in March 2026 looked at first like they had stopped iterating. It meant they moved to .com. Always check the redirect target and re-run the query against the new URL before you conclude anything.

Steal it

Pick any competitor with a pricing page more than a couple of years old, run the same CDX query, and pull three or four full snapshots at the points where the digest changes (web.archive.org/web/{timestamp}/{url}). Line up the tier names and numbers side by side and you have the actual pricing strategy of a business, not its current marketing copy. Do this before a positioning project. It tells you which tier survived, which got renamed twice before it stuck, and which model they dropped entirely.

It runs both ways. Whatever your own pricing page said in 2022 is sitting in the same public archive, and anyone can pull it with the same one-line curl. If a price you no longer honor, or a plan you quietly killed, is still up there, that is not a secret, it is public record. Assume a competitor is running this exact play against you right now, and check your own history before they do.

Gotchas

  • Redirects and non-html captures pad the row count. Filter to status 200 first, or you will count 301s from protocol and domain changes as if they were real content.
  • A domain migration splits the history in two. Notion's pricing history is split across notion.so/pricing and notion.com/pricing, apex and www can differ too. Query every variant before you decide a competitor stopped changing something.
  • This is a public archive built to be queried, but do not turn it into a scraper. Pulling a CDX index and reading a handful of snapshots is reconnaissance. Writing a script that pulls every full page for every timestamp across hundreds of competitors is load on somebody else's public service, and there is no reason to need that much.