For every row above: the article's own sentence carrying the figure, as that sentence stands in the text a
reader sees on the page, and the vendor's own page stating today's figure — with the billing basis the
comparison was made on. Numbered to match the table.
Each quotation was re-read against the live article on 2026-09-06 and matched against one canonical reading of
that page — the text a reader sees, set out in full under Method — and the count
printed beside each row is the count that reading produces. A quotation that reading could not find was not
rewritten to fit: 3 rows were moved
to the control below on the quotation — control rows 12, 23 and 24: every control row filed under “The quoted sentence is not the sentence on the page”, plus any row whose own note calls the stored quotation a reconstruction. Evidence is published whole — the longest run here is
3,595 characters and 28,117 characters
are published in total, each block's own length stated beside it. Nothing on this page is cut.
-
#1 Respond.io · Whatsapp Business · $29 quoted vs $79 today
The article says, verbatim (217 characters, in full) respond.io: Best shared inbox for WhatsApp and multi-channel support Centralizes customer conversations from WhatsApp and other channels with workflow automation, routing, and team collaboration. (Pricing from $29/mo)
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 - direct GET with a browser User-Agent (curl -sSL, Chrome 126 UA). Succeeded on first try; no further routes needed.
The vendor's page says (2,508 characters, in full)
[A] Rendered pricing card, default view. The billing toggle defaults to Yearly: the served DOM carries role="switch" aria-checked="true" on the Yearly control, and the card config carries "options":[{"value":"monthly","title":"Monthly"},{"value":"yearly","title":"Yearly (Save up to 20%)"}],"selectedIndexByDefault":1. Card text as rendered:
starter $ 79 /month $1,188 $948/yr (billed yearly) Big wins for small teams: Manage conversations across all channels collaboratively and achieve your business goals.
[B] Page meta description, og:description and twitter:description, all three identical:
Respond.io offers 4 plans: Starter ($79/mo), Growth ($159/mo), Advanced ($279/mo) & Enterprise. Pay only for the contacts you talk to. Enjoy a free 7-day trial.
[C] schema.org Product offers embedded in the page as application/ld+json, all six offers verbatim and untruncated:
{"@type":"Offer","name":"Starter (Monthly)","price":"99.00","priceCurrency":"USD","url":"https://respond.io/pricing","priceSpecification":{"@type":"UnitPriceSpecification","price":"99.00","priceCurrency":"USD","billingDuration":"P1M"}},{"@type":"Offer","name":"Growth (Monthly)","price":"199.00","priceCurrency":"USD","url":"https://respond.io/pricing","priceSpecification":{"@type":"UnitPriceSpecification","price":"199.00","priceCurrency":"USD","billingDuration":"P1M"}},{"@type":"Offer","name":"Advanced (Monthly)","price":"349.00","priceCurrency":"USD","url":"https://respond.io/pricing","priceSpecification":{"@type":"UnitPriceSpecification","price":"349.00","priceCurrency":"USD","billingDuration":"P1M"}},{"@type":"Offer","name":"Starter (Yearly)","price":"79.00","priceCurrency":"USD","url":"https://respond.io/pricing","priceSpecification":{"@type":"UnitPriceSpecification","price":"948.00","priceCurrency":"USD","billingDuration":"P1Y"}},{"@type":"Offer","name":"Growth (Yearly)","price":"159.00","priceCurrency":"USD","url":"https://respond.io/pricing","priceSpecification":{"@type":"UnitPriceSpecification","price":"1908.00","priceCurrency":"USD","billingDuration":"P1Y"}},{"@type":"Offer","name":"Advanced (Yearly)","price":"279.00","priceCurrency":"USD","url":"https://respond.io/pricing","priceSpecification":{"@type":"UnitPriceSpecification","price":"3348.00","priceCurrency":"USD","billingDuration":"P1Y"}}
[D] Lowest paid tier on the page is Starter. There is no $29 tier and no plan below $79/mo on any billing basis. Enterprise is quote-only. No free plan is offered, only a 7-day free trial of the Growth plan. Read on the vendor's own pricing page. The vendor's pricing page served this figure to us directly. Checked at https://respond.io/pricing. Routes tried: Route 1 - direct GET with a browser User-Agent (curl -sSL, Chrome 126 UA), HTTP 200, 923649 bytes. The page is Nuxt/Builder.io but ships the price cards server-rendered, plus schema.org offers and meta descriptions. An r.jina.ai cross-check returned HTTP 403 and was not required.
Compared onUSD per month in the page's default view, billed yearly at $948/yr. Billed monthly the same Starter plan is $99/month. Seat- and contact-metered on top: additional users from $12/month and Monthly Active Contact tiers priced separately; WhatsApp fees charged by Meta are not included.
-
#2 Copper CRM · CRM Software · $12 quoted vs $23 today
The article says, verbatim (301 characters, in full) Copper4.4 (622 reviews)Learn MoreCompareLearn MoreCompareAverage score:80/100Average Score:80/100Pros: seamless gmail and google workspace integration intuitive and user-friendly interfaceCons: poor customer support responsiveness insufficient customization optionsPricing:Starting at $12.00 per month
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Headful Chrome 152 (real browser, fresh profile) driven over the DevTools Protocol; the served document body captured with Network.getResponseBody, plus the post-hydration DOM via Runtime.evaluate. Prior routes, in order, all failed: (1) curl with a browser User-Agent -> HTTP 403 (5,617-byte body, unrelated content); (2) curl with a full browser header set (Accept, Accept-Language, Sec-Ch-Ua, Sec-Fetch-*, Upgrade-Insecure-Requests, --compressed) -> HTTP 403 on 2026-09-06, Cloudflare "Just a moment..." interstitial; (3) r.jina.ai text reader -> HTTP 403, Cloudflare interstitial passed through; (4) headless Chrome --headless=new --dump-dom -> Cloudflare interstitial (title "Один момент…"), 29,046 bytes, zero occurrences of "Copper". Only the headful-Chrome route returned the real page. A same-origin programmatic fetch() from inside the already-loaded page also returned 403, so the browser navigation is the only route that yields the bytes. Re-tried on 2026-09-07: route (2), curl with that same full browser header set, returned HTTP 200 and the real article. So the 403 above is what that route returned on 2026-09-06, the day this row was read — not a standing property of the route. The row's reading stands on the headful-Chrome capture recorded here; the edge's answer to a plain request is not stable from one day to the next, which is why the route is recorded with its date rather than as a fact about the site.
The vendor's page says (2,880 characters, in full)
https://www.copper.com/pricing - plan cards, rendered text, untruncated. The page opens on the Annual tab (w--tab-active); the toggle reads: Monthly | Annual | Up to 26% off 🎉
ANNUAL TAB (default, active):
Basic
$
23
$
29
per seat, per month
paid annually
Optimize your processes with flexible pipelines and team collaboration features.
Try free
What's included:
2,500 contact limit
Task automation
Pipelines
Project Management
Contact enrichment
Professional
$
59
$
69
per seat, per month
paid annually
Scale your business with revenue tracking tools, workflows and bulk email.
Try free
Everything in Basic, plus:
15,000 contact limit
Workflow automation
Bulk email
Reporting
Integrations
63% started off with Professional
Business
$
99
$
134
per seat, per month
paid annually
Elevate your business with customer nurture, custom analytics and unlimited usage.
Try free
Everything in Professional, plus:
Unlimited contacts
Email series
Custom reports
Multi-currency
Premium support
MONTHLY TAB:
Basic
$
29
per seat, per month
Optimize your processes with flexible pipelines and team collaboration features.
Try Free
What's included:
2,500 contact limit
Task automation
Pipelines
Project Management
Contact enrichment
Professional
$
69
per seat, per month
Scale your business with revenue tracking tools, workflows and bulk email.
Try Free
Everything in Basic, plus:
15,000 contact limit
Workflow automation
Bulk email
Reporting
Integrations
63% started off with Professional
Business
$
134
per seat, per month
Elevate your business with customer nurture, custom analytics and unlimited usage.
Try Free
Everything in Professional, plus:
Unlimited contacts
Email series
Custom reports
Multi-currency
Premium support
Footnote below the cards: "Prices are in USD and don't include taxes and fees where applicable."
Underlying markup for the entry tier (raw served bytes, verbatim):
<div class="pricing_plan_title-text">Basic</div><div class="pricing_plan_price-wrap"><div class="pricing_plan_price-sub-wrap"><div class="pricing_plan_title-text text-color-accent">$</div><div class="pricing_plan_title-text text-color-accent">23</div></div><div class="pricing_plan_price-sub-wrap"><div class="pricing_plan_title-text text-style-muted text-style-strikethrough">$</div><div class="pricing_plan_title-text text-style-muted text-style-strikethrough">29</div></div></div></div><div class="pricing_plan_sub-text-wrap"><div class="text-size-tiny text-style-muted">per seat, per month</div><div class="text-size-tiny text-style-muted">paid annually</div></div>
Absent from the page (byte-level counts over the 704,697-byte served document): "Starter" = 0, "$12" = 0, "limited time" = 0, "coupon" = 0, "discount" = 0. The only "% off" string on the page is the annual-tab callout "Up to 26% off 🎉", which is the standing annual-vs-monthly saving (134 -> 99 = 26%), not a dated promotion.
Read on the vendor's own pricing page. The vendor's pricing page served this figure to us directly. Checked at https://www.copper.com/pricing. Routes tried: Direct curl with a browser User-Agent -> HTTP 200, 704,697 bytes (no challenge, no JS needed; the prices are present in the served HTML). Independently re-fetched through the same headful Chrome/CDP setup: HTTP 200, served body byte-identical at 704,697 bytes (content-type text/html; charset=utf-8, last-modified Fri, 04 Sep 2026 01:20:38 GMT), and the rendered DOM confirms the visible figures.
Compared onUSD, per seat, per month, paid annually (Copper's default-displayed Annual tab; $29 per seat, per month on month-to-month billing, shown struck through on the annual card). Excludes taxes and fees. Copper's entry tier is named "Basic"; there is no plan called "Starter".
-
#3 Unbounce · Landing Page Builders · $99 quoted vs $29 today
The article says, verbatim (68 characters, in full) Pricing starts at $99/month, which is higher than some alternatives.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 (direct request, browser user agent): curl -L -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' https://prismic.io/blog/the-12-best-landing-page-builders-detailed-comparison -- succeeded on the first attempt, no fallback needed. Raw bytes saved to article_11.html; server-rendered HTML, full article text present in the initial response.
The vendor's page says (2,419 characters, in full)
VISIBLE PRICING CARDS (unbounce.com/pricing/, monthly/yearly toggle; both values sit in the DOM). Toggle labels: "Monthly" / "Yearly" / "Save 25% with yearly billing".
Starter -- "Set up and launch your first landing pages" -- "$22 USD / month" | "$29 USD / month" | "Billed annually" "(Save 25%)" -- What's included: Drag-and-drop builder; 5 pages; Traffic volume: up to 500; Users: 1; Root domains: 1; MCP server NEW; Lead gen forms; Free hosting; Phone, email, and live chat customer support.
Build -- "Create unlimited landing pages quickly and easily" -- "$74 USD / month" | "$99 USD / month" | "Billed annually" "(Save 25%)" -- All Starter plan features plus: Custom scripts and pixels; Unlimited pages; Traffic volume: up to 20k; Users: 1; Root domains: 1; Popups and sticky bars; Multi-step forms; AI copywriting; Custom code and styling; 1000+ integrations.
Experiment (MOST POPULAR) -- "Perform A/B tests and optimize conversions" -- "$112 USD / month" | "$149 USD / month" | "Billed annually" "(Save 25%)".
Optimize -- "$187 USD / month" | "$249 USD / month" | "Billed annually" "(Save 25%)".
Concierge -- "Let's talk!" / "Get in touch for your custom pricing" / "Contact Sales".
SAME PAGE, schema.org SoftwareApplication "offers" (JSON-LD embedded in the same response), verbatim prices:
Starter Plan (Monthly): 29.00 USD -- "Set up and launch your first landing pages"
Starter Plan (Annual): 22.00 USD -- "... Billed annually."
Build Plan (Monthly): 99.00 USD -- "Create unlimited landing pages quickly and easily"
Build Plan (Annual): 74.00 USD
Experiment Plan (Monthly): 149.00 USD
Experiment Plan (Annual): 112.00 USD
Optimize Plan (Monthly): 249.00 USD
Optimize Plan (Annual): 187.00 USD
14-Day Free Trial: 0 USD
Every offer carries "availability":"https://schema.org/InStock" and "priceValidUntil":"2027-09-02".
NO ACTIVE PROMOTION: every "limited time" / promo string on the page (a 20%-off badge image and a "/promo-details/13-anniversary-offer/" T&Cs link) sits inside HTML comments explicitly labelled "Comment for promo offer". Occurrences of "limited time" outside HTML comments: 0. The 25% yearly saving is a standing billing-term discount shown on every paid card, not a time-limited rate.
NOTE: the CTA area also renders "We're sorry, Unbounce is unavailable in your location" -- a geo message attached to the signup button only. It does not gate or alter the prices, which render in full.
Read on the vendor's own pricing page. The vendor's pricing page served this figure to us directly. Checked at https://unbounce.com/pricing/. Routes tried: Route 1 (direct request, browser user agent): curl -L with the same Chrome UA against https://unbounce.com/pricing/ -- HTTP 200, 562267 bytes, no fallback needed. Prices are present in the server-rendered HTML (both toggle states sit in the DOM) and additionally in the page's own schema.org SoftwareApplication JSON-LD.
Compared onLowest paid tier (Starter), month-to-month billing, USD, list price, per month, excluding tax. The equivalent annual-billing rate is $22/month ("Save 25% with yearly billing"). Like-for-like on month-to-month billing, Unbounce's entry price is $29/month; $99/month is the month-to-month price of the Build tier, one step up.
-
#4 Zoko · Whatsapp Business · $34.99 quoted vs $49.99 today
The article says, verbatim (32 characters, in full) Pricing: Starts at $34.99/month.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 of 4 -- direct HTTPS GET via curl with a desktop Chrome user agent (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36). Succeeded on the first attempt; no fallback to full header set, headless Chromium, or r.jina.ai was needed.
The vendor's page says (2,807 characters, in full)
Route: direct HTTPS GET to https://www.zoko.io/pricing with a desktop Chrome user agent. HTTP 200, 69,459 bytes, no redirect, server-rendered (Webflow); no JS rewrites the price nodes (the four "zc2-price" class occurrences all sit in markup, none in any script).
A) The four rendered plan cards, in page order, as the page renders them:
MAX
$499.99/mo
ELITE
$139.99/mo
PLUS
$79.99/mo
STARTER
$49.99/mo
The STARTER card's markup, verbatim:
<p class="zc2-plan-name">STARTER</p><p class="zc2-price">$49<span class="zc2-price-cents">.99/mo</span></p>
Immediately beneath it, still inside the STARTER card:
CONVERSATIONS
Markup on all conversations
$0.015/conversation
CALLING
500 minutes - no markup
$0.005/min after that
AGENTS
Add as many agents as you like, for free
PLATFORM FEES
Facebook: Free
Instagram: $9.99/month
WhatsApp: rate card
B) The page's own schema.org JSON-LD, quoted in full and untruncated:
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"applicationCategory": "BusinessApplication",
"description": "Predictable monthly WhatsApp pricing for Shopify brands, with plans that carry no markup on Meta's messaging rates. Compare Starter, Plus, Elite, and Max.",
"name": "Zoko",
"offers": {
"@type": "AggregateOffer",
"highPrice": "499.99",
"lowPrice": "49.99",
"offerCount": 4,
"offers": [
{
"@type": "Offer",
"name": "Starter",
"price": "49.99",
"priceCurrency": "USD"
},
{
"@type": "Offer",
"name": "Plus",
"price": "79.99",
"priceCurrency": "USD"
},
{
"@type": "Offer",
"name": "Elite",
"price": "139.99",
"priceCurrency": "USD"
},
{
"@type": "Offer",
"name": "Max",
"price": "499.99",
"priceCurrency": "USD"
}
],
"priceCurrency": "USD"
},
"operatingSystem": "Web Browser",
"provider": {
"@type": "Organization",
"name": "Zoko",
"url": "https://www.zoko.io"
},
"url": "https://www.zoko.io/pricing"
}
C) Absence check on the vendor page: the string "34.99" occurs 0 times in the 69,459 raw bytes, and 0 times in the normalised text. "49.99" is the page's lowPrice.
D) Terms surrounding the figure, quoted verbatim:
"7-day Free Trial"
"No Contracts • Cancel anytime"
"What discounts are available?"
"We offer a discounted price for brands that have annual committed messaging volumes of 250K conversations or more per month. Please contact us for more information."
There is no monthly/annual billing toggle on the page: the words "annual" and "monthly" appear only in the FAQ text quoted above and in "See your exact monthly cost in seconds." No introductory, first-month, or promotional rate is offered anywhere on the page. Read on the vendor's own pricing page. The vendor's pricing page served this figure to us directly. Checked at https://www.zoko.io/pricing. Routes tried: Direct HTTPS GET via curl with a desktop Chrome user agent -- HTTP 200, 69,459 bytes, no redirect. The vendor page did not refuse any request, so no fallback route was required.
Compared onStanding monthly list price of the entry (Starter) plan, in USD, quoted by the vendor as "$49.99/mo". Per-conversation charges ($0.015/conversation on Starter) and platform fees (e.g. Instagram $9.99/month) are billed on top and are not part of this figure. No annual/monthly billing toggle exists on the page, so this is the only published price for the plan. Same basis as the article's "Starts at $34.99/month": entry-plan monthly subscription fee.
-
#5 Pipedrive · CRM Software · $10 quoted vs $14 today
The article says, verbatim (177 characters, in full) Besides, Pipedrive is one of the most affordable CRM tools, starting at just $10 per user per month, compared to a rival like Salesforce which starts at $25 for the same period.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 of 4 succeeded: direct GET via curl 8.11.0 with a Chrome 128 browser user agent and --compressed. No further article routes were needed.
The vendor's page says (1,716 characters, in full)
Live https://www.pipedrive.com/en/pricing refused every route (Cloudflare 403). Evidence below is the vendor's own page, captured 2026-08-27 06:27:07 UTC, read at https://web.archive.org/web/20260827062707/https://www.pipedrive.com/en/pricing
[1] Lite plan card, as the vendor page renders it (crawler geolocated to Canada, so the visible currency is CA$):
Lite Now with AI Organize your sales in one simple, intuitive workspace CA$ 19 One payment of CA$ 228 per seat/year Per seat per month, billed annually Try it free Free 14-day trial. No credit card required.
[2] The USD figure comes from the same page's own embedded pricing data (script id="__NEXT_DATA__", props.pageProps.pricingData.tiers.lite), quoted in full and unedited:
{
"year": {
"code": "lite_annual_v2",
"availableFrom": "2025-04-01 10:00:00",
"availableUntil": null,
"requiredFeatureSwitch": null,
"usd": 14,
"gbp": 14,
"eur": 14,
"aud": 19,
"cad": 19
},
"month": {
"code": "lite_monthly_v2",
"availableFrom": "2025-04-01 10:00:00",
"availableUntil": null,
"requiredFeatureSwitch": null,
"usd": 24,
"gbp": 24,
"eur": 24,
"aud": 34,
"cad": 34
}
}
[3] Cross-check that this JSON drives the rendered card: cad=19 for lite/year matches the visible "CA$ 19 ... Per seat per month, billed annually".
[4] Complete set of distinct USD values across all four tiers in that data: 14, 24, 39, 49, 59, 79, 99. There is no 10 in any currency; a regex for "usd": 10 returns zero matches. Pipedrive's four plans are Lite, Growth, Premium, Ultimate.
[5] All eight availableUntil fields on the page are null, and pricingData contains no discount, promo, sale, offer or coupon key. The vendor's page refused every route we tried. Every route to the vendor's live pricing page was refused, so the figure could not be read there at all. It was read at the route below, which is the one a reader can use. Check it at https://web.archive.org/web/20260827062707/https://www.pipedrive.com/en/pricing. Routes tried: All routes to the live page failed: (1) curl with browser UA -> HTTP 403 Cloudflare; (2) curl with full browser header set incl. sec-ch-ua/Sec-Fetch-* -> HTTP 403 Cloudflare; (3) headless Chromium --dump-dom -> served the Cloudflare 'Sorry, you have been blocked' interstitial; (4) r.jina.ai text reader -> HTTP 403 'Just a moment...' challenge; (5) WebFetch -> HTTP 403. Figure re-derived from the vendor's own page as archived by the Wayback Machine on 2026-08-27, both from the rendered Lite card and from the page's own embedded __NEXT_DATA__ pricingData block.
Compared onUSD per seat per month on the Lite plan billed annually (code lite_annual_v2; CA$ 19 / one payment of CA$ 228 per seat/year as rendered to the Canada-geolocated crawler). Month-to-month Lite is USD 24 per seat per month (lite_monthly_v2). Figure as of the 2026-08-27 capture, the most recent available; the live page is Cloudflare-blocked.
-
#6 WATI · Whatsapp Business · $49 quoted vs $59 today
The article says, verbatim (49 characters, in full) Pricing: Starts at $49/month for the Growth plan.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Direct GET with a browser user agent (curl 8.11.0, Chrome 128 UA, --compressed, -L). First route tried, succeeded; no fallback needed.
The vendor's page says (2,715 characters, in full)
RENDERED PAGE (headless Chromium, https://www.wati.io/pricing/, 2026-09-06) - Growth plan price nodes, verbatim DOM:
<h2 class="h4 growth_plan_annual_api_pricing"><strong class="">€59</strong></h2> <span class="plan_pricing_tenure">month <i>billed annually</i></span>
<h2 class="h4 growth_plan_monthly_api_pricing">€69</h2> <span class="plan_pricing_tenure">month <i>billed monthly</i></span>
Rendered as text: "Growth ... €59 month billed annually" and "Growth ... €69 month billed monthly". (Currency is EUR because the page AJAX call hardcodes countryCode=DE for every visitor, not because of geo detection.)
STATIC PAGE BYTES - the same node before JS, showing why the raw HTML carries no number:
<h2 class="h4 growth_plan_annual_api_pricing"><strong class=""></strong></h2>
<span class="plan_pricing_tenure">month <i>billed annually</i></span>
PRICING API (https://live-mt-server.wati.io/wati/api/v1/pricing/getPlansByGeo?countryCode=US, HTTP 200, 89,971 bytes) - every Growth record returned, untruncated, price is in minor units:
{"name":"Growth Plan USD Yearly WEST","externalPlanId":"Growth-Plan-USD-Yearly-WEST","price":70800,"currencyCode":"USD","period":1,"periodUnit":4}
{"name":"Growth Plan USD Monthly WEST","externalPlanId":"Growth-Plan-USD-Monthly-WEST","price":6900,"currencyCode":"USD","period":1,"periodUnit":3}
{"name":"Growth Plan USD Every 3 months WEST","externalPlanId":"Growth-Plan-USD-Every-3-months-WEST","price":20700,"currencyCode":"USD","period":3,"periodUnit":3}
Arithmetic, using the page own formula (item.price/100/12 for yearly): 70800/100/12 = $59.00 per month billed annually; 6900/100 = $69.00 per month billed monthly; 20700/100/3 = $69.00 per month billed quarterly.
PRICING API (countryCode=DE, the exact URL the page itself requests, HTTP 200, 88,385 bytes) - Growth records, untruncated:
{"name":"Growth Plan EUR Yearly WEST","externalPlanId":"Growth-Plan-EUR-Yearly-WEST","price":70800,"currencyCode":"EUR","period":1,"periodUnit":4}
{"name":"Growth Plan EUR Monthly WEST","externalPlanId":"Growth-Plan-EUR-Monthly-WEST","price":6900,"currencyCode":"EUR","period":1,"periodUnit":3}
{"name":"Growth Plan EUR Every 3 months WEST","externalPlanId":"Growth-Plan-EUR-Every-3-months-WEST","price":20700,"currencyCode":"EUR","period":3,"periodUnit":3}
ABSENCE CHECK: no price of 49 occurs anywhere in the rendered pricing page (77,612 characters of normalised rendered text; zero matches for a euro-49, dollar-49, or standalone 49). The only discount language on the page is the ordinary annual-term saving ("Save up to 10%", "Save up to 25%", "Up to ~25% off") and a "7 days free trial"; there is no introductory or time-limited rate attached to the Growth plan. The pricing page carries no price in its bytes. The vendor's pricing page answered, but the figure is not in what it sends: the price nodes ship empty and are filled afterwards, or pricing is suppressed for our vantage point. The figure was read at the route below, which is the one a reader can use. Check it at https://live-mt-server.wati.io/wati/api/v1/pricing/getPlansByGeo?countryCode=US. Routes tried: Three routes run. (1) Direct GET with browser UA on https://www.wati.io/pricing/ -> HTTP 200, 700,186 bytes, but the price is NOT in those bytes: the plan price node ships empty and is filled client-side. (2) Headless Chromium render (chrome.exe --headless=new --virtual-time-budget=25000 --dump-dom) -> 752,352 bytes of rendered DOM, price present. (3) The public pricing API the page own jQuery calls, https://live-mt-server.wati.io/wati/api/v1/pricing/getPlansByGeo -> HTTP 200 JSON. The page hardcodes countryCode=DE, so it renders EUR regardless of visitor; the same endpoint with countryCode=US returns the USD plans that match the article currency.
Compared onUSD, Growth plan, per month billed annually ($708.00/year, i.e. $59.00/mo) - the figure the pricing page shows by default, since the annual toggle is the default view. Month-to-month for the same plan is $69.00/mo, and quarterly is $207.00 per 3 months ($69.00/mo). List price, excluding the per-message WhatsApp conversation charges Wati bills separately on top of the plan for every tier.
-
#7 WATI · Whatsapp Business · $49 quoted vs $59 today
The article says, verbatim (215 characters, in full) Wati: Best WhatsApp marketing tool for SMB automation Offers easy WhatsApp Business API access, automated replies, broadcasts, and team support tools designed for small and midsize businesses. (Pricing from ~$49/mo)
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 succeeded: direct curl request with a browser user agent (Chrome 128 UA), --compressed, redirects followed. No fallback needed - no full header set, headless render or text reader was used for the article.
The vendor's page says (3,595 characters, in full)
ROUTE A - headless Chromium render of https://www.wati.io/pricing/ (--headless=new --dump-dom --virtual-time-budget=25000, browser UA; HTTP 200; rendered DOM 752,351 bytes). The three plan cards are Growth / Pro / Business; Growth is the entry paid plan. The Growth price nodes, quoted untruncated exactly as they stand in the rendered DOM:
<h2 class="h4"><strong>Growth</strong></h2>
<h2 class="h4 growth_plan_annual_api_pricing"><strong class="">€59</strong></h2>
<span class="plan_pricing_tenure">month <i>billed annually</i></span>
<h2 class="h4 growth_plan_monthly_api_pricing">€69</h2>
<span class="plan_pricing_tenure">month <i>billed monthly</i></span>
As visible text: "Growth ... €59 month billed annually" and "Growth ... €69 month billed monthly". The currency is EUR because the fetching IP is in Europe: the page injects const __WATI_GEO_CONTINENT="EU"; and its pricing AJAX call is url: 'https://live-mt-server.wati.io/wati/api/v1/pricing/getPlansByGeo?countryCode=DE'.
ROUTE B - the same public pricing API the page itself calls, asked for the US catalogue: GET https://live-mt-server.wati.io/wati/api/v1/pricing/getPlansByGeo?countryCode=US (HTTP 200, 89,448 bytes). All three GROWTH rows it returns, untruncated except for each row's long "features" array, which carries no plan price (full JSON saved at C:\Users\20012\AppData\Local\Temp\claude\c--Users-20012-Documents-GitHub-bashka-billing\0e7f03b8-e30a-4a24-9995-acf2bb900b21\scratchpad\study-verbatim\wati_api_us.json):
{"id":"fb648a00-37c7-455c-9ffe-abdf692a2791","name":"Growth Plan USD Yearly WEST","isActive":true,"externalPlanId":"Growth-Plan-USD-Yearly-WEST","planFamilyId":"52bcba07-67e4-4073-8719-fd1e9516d7af","price":70800,"period":1,"periodUnit":4,"displayName":"Growth Plan","features":[...]}
{"id":"51c8f7b8-e56e-41f7-8c60-e17490e1270e","name":"Growth Plan USD Monthly WEST","isActive":true,"externalPlanId":"Growth-Plan-USD-Monthly-WEST","planFamilyId":"52bcba07-67e4-4073-8719-fd1e9516d7af","price":6900,"period":1,"periodUnit":3,"displayName":"Growth Plan","features":[...]}
{"id":"59d66889-8399-4176-ac95-9f483a64595f","name":"Growth Plan USD Every 3 months WEST","isActive":true,"externalPlanId":"Growth-Plan-USD-Every-3-months-WEST","planFamilyId":"52bcba07-67e4-4073-8719-fd1e9516d7af","price":20700,"period":3,"periodUnit":3,"displayName":"Growth Plan","features":[...]}
price is in minor units; periodUnit 3 = month, 4 = year. The page's own arithmetic, quoted from its inline script, is $(".growth_plan_annual_api_pricing strong").html(currencies[item.currencyCode]+""+item.price/100/12); and $(".growth_plan_monthly_api_pricing").html(currencies[item.currencyCode]+""+item.price/100); - so 70800/100/12 = 59 and 6900/100 = 69. The US catalogue therefore prints the same numerals the render shows in EUR: $59/month billed annually, $69/month billed monthly, $207 per quarter (= $69/month).
ROUTE C - static HTML of https://www.wati.io/pricing/ (curl, browser UA, HTTP 200, 700,187 bytes decoded). It ships the price nodes EMPTY - <h2 class="h4 growth_plan_annual_api_pricing"><strong class=""></strong></h2> - alongside the comment <!-- Datas for this div coming from pricing API-->, which is why the API above is the citable route for a reader.
No cheaper tier exists: the catalogue returns only GROWTH, PRO and BUSINESS, and the rendered plan headings are Growth / Pro / Business. Every other currency figure on the page is an add-on or a per-extra-user rate (Additional Users @ €39/user/month on Pro, €89 on Business, $4.99/month Shopify add-on, $50/one-time custom subdomain). The pricing page carries no price in its bytes. The vendor's pricing page answered, but the figure is not in what it sends: the price nodes ship empty and are filled afterwards, or pricing is suppressed for our vantage point. The figure was read at the route below, which is the one a reader can use. Check it at https://live-mt-server.wati.io/wati/api/v1/pricing/getPlansByGeo?countryCode=US. Routes tried: https://www.wati.io/pricing/ returned HTTP 200 to a plain curl with a browser UA (700,187 bytes decoded), but it ships its price nodes empty and fills them from a pricing API at runtime. Confirmed two further ways: a headless Chromium render (--headless=new --dump-dom, HTTP 200, 752,351 byte DOM) which paints the figures, and a direct HTTP 200 call to that same public pricing API for the US catalogue.
Compared onUSD per month, entry plan, billed annually: $59/month ($708/year, Growth-Plan-USD-Yearly-WEST). Billed monthly the same plan is $69/month (Growth-Plan-USD-Monthly-WEST, 6900 minor units); quarterly is $207 per quarter, also $69/month. The pricing page opens on the Annual tab, so $59 is the figure a visitor sees first. Excludes WhatsApp per-message charges, which Wati bills on top ('Additional charges apply for messages').
-
#8 Google Workspace · Email Hosting · $6 quoted vs $7 today
The article says, verbatim (321 characters, in full) Google Workspace offers a 14-day trial for new users, allowing up to 10 team members. The paid plan starts at $6 per person and includes 30 GB of cloud storage per person and up to 30 alias addresses. The Enterprise plan, which provides 5 TB of storage per user with the option to request more, is available upon request.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 of 4: direct curl request with a browser user agent (Chrome 127). No fallback needed - the full document returned on the first attempt.
The vendor's page says (1,611 characters, in full)
Google Workspace pricing page, Business Starter card, archived US render of 2026-09-03 02:24:06 UTC (text extracted as the page renders it; entities decoded, U+00A0 mapped to space):
Starter
30% off for 3 months
help
30% off for 3 months
help
Discount details
Sep 16, 2026 – Dec 16, 2026
$4.90 USD
$7.00
(30% off)
per user / month for all users
Starting Dec 16, 2026
$7.00 USD
per user / month for all users
$4.90
$7
**
/ user per month
Start a trial
Starter includes:
30 GB
pooled storage per person*
Toggle state above the cards: "Annual (Save 16% with 1 year commitment)".
Footnote on the same page: "Business Starter, Business Standard, and Business Plus plans can be purchased for a maximum of 300 users. There is no minimum or maximum user limit for Enterprise plans. Google Workspace customers may have access to additional features for a limited promotional period."
Sibling cards in the same render: Standard shows "$7.00 USD / $14.00 / (50% off)" then "Starting Dec 16, 2026 / $14.00 USD / per user / month for all users"; Plus standing $22.00.
Cross-check against an independent earlier capture, 2026-09-01 05:07:03 UTC (https://web.archive.org/web/20260901050703/https://workspace.google.com/pricing):
Starter
50% off for 3 months
Discount details
Sep 14, 2026 – Dec 14, 2026
$3.50 USD
$7.00
(50% off)
per user / month for all users
Starting Dec 14, 2026
$7.00 USD
per user / month for all users
The discounted figure moved between captures ($3.50 at 50% off, then $4.90 at 30% off) while $7.00 held in both. That is what marks $7.00 as the standing rate and the lower numbers as promotional.
The pricing page carries no price in its bytes. The vendor's pricing page answered, but the figure is not in what it sends: the price nodes ship empty and are filled afterwards, or pricing is suppressed for our vantage point. The figure was read at the route below, which is the one a reader can use. Check it at https://web.archive.org/web/20260903022406/https://workspace.google.com/pricing. Routes tried: The live vendor page was reached on every route but carries no price in its bytes on any of them. (1) curl with a browser user agent to https://workspace.google.com/pricing -> HTTP 200, 1,012,729 bytes, zero '$' price tokens and zero USD amounts; the plan names appear only in footnote prose. (2) curl with a full browser header set including Accept-Language: en-US, against https://workspace.google.com/intl/en_us/pricing.html , https://workspace.google.com/pricing.html?hl=en and https://workspace.google.com/intl/en_us/pricing.html?feature=meet -> all HTTP 200, all redirect back to the same JS application, all zero price tokens. (3) headless Chromium render -> HTTP 200 and the page renders, but the Starter/Standard/Plus price cards render with no numbers at all: the page prints literally "All plans billed monthly, all prices $" with the amount missing, and its region selector resolves to Russia, where Google does not sell Workspace, so pricing is suppressed for this vantage point. (4) r.jina.ai text reader -> HTTP 403, now gated. (5) WebFetch from a separate egress -> returned the page but likewise reported no numeric prices, confirming the figures are injected client-side and are absent from the document itself. Because the figure is not retrievable from here, it was re-derived from the Internet Archive's US-vantage renders of the same URL, which do contain the rendered price cards. Two independent captures were read and they agree on the standing figure.
Compared onUSD, per user / month, Annual plan with a 1 year commitment (page toggle: "Annual (Save 16% with 1 year commitment)"). This is the cheapest standing entry rate; Flexible month-to-month billing is higher. A 30%-off-for-3-months promotion ($4.90, Sep 16 to Dec 16, 2026) was running at time of check and is excluded from the standing figure.
-
#9 Vultr · Vps Hosting · $6 quoted vs $5 today
The article says, verbatim (711 characters, in full) 3. Vultr Vultr is known for having a simple pricing system and servers all around the world. It has more than 30 data centers throughout the world, so it’s great for projects that demand low-latency performance for a global audience. Benefits: Hourly or monthly billing options High-frequency compute instances for faster performance One-click app deployment (WordPress, Docker, etc.) Automatic backups and snapshots Why It’s Popular:Developers like Vultr because they can pay for it in a lot of different ways and choose from a lot of server locations. It works well for businesses because it is reliable and easy to grow. Pricing (2025): Starts at $6/month for 1 vCPU, 1 GB RAM, 25 GB SSD, and 1 TB bandwidth.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 - direct curl with a browser user agent (Chrome 126 UA), no redirect; HTTP 200
The vendor's page says (2,755 characters, in full)
https://www.vultr.com/pricing/ -> Cloud Compute -> subsection "Regular Performance" ("Powered by previous generation Intel CPUs and regular SSD."). Table header rendered as: vCPUs | Memory | Bandwidth | Storage | Monthly Price | Hourly Price. Rows rendered in that table, in order: "1 vCPU | 0.5 GB Memory | 0.50 TB Bandwidth | 10 GB Storage | $2.50 /mo | $0.004 /hr IPv6 Only"; "1 vCPU | 0.5 GB Memory | 0.50 TB Bandwidth | 10 GB Storage | $3.50 /mo | $0.005 /hr"; "1 vCPU | 1 GB Memory | 1.00 TB Bandwidth | 25 GB Storage | $5.00 /mo | $0.007 /hr"; "1 vCPU | 2 GB Memory | 2.00 TB Bandwidth | 55 GB Storage | $10.00 /mo | $0.015 /hr". The row matching the article's stated spec (1 vCPU, 1 GB RAM, 25 GB SSD, 1 TB bandwidth) is the third: $5.00 /mo. $6.00 /mo does appear on the same page, but only for OTHER Cloud Compute tiers whose specs do not match the article's: High Performance (AMD Pricing and Intel Pricing tables) "1 vCPU | 1 GB Memory | 2.00 TB Bandwidth | 25 GB Storage | $6.00 /mo | $0.009 /hr" (2 TB bandwidth, not 1 TB), and High Frequency "1 vCPU | 1 GB Memory | 1.00 TB Bandwidth | 32 GB Storage | $6.00 /mo | $0.009 /hr" (32 GB storage, not 25 GB). Corroborated independently by Vultr's unauthenticated public plans API, https://api.vultr.com/v2/plans?type=vc2&per_page=100 (HTTP 200), which returns for the Regular Performance family: {"id":"vc2-1c-1gb","vcpu_count":1,"ram":1024,"disk":25,"disk_type":"SSD","disk_count":1,"bandwidth":1024,"monthly_cost":5,"hourly_cost":0.007,"monthly_cost_preemptible":5,"hourly_cost_preemptible":0.007,"invoice_type":"monthly","type":"vc2","cpu_vendor":"Intel","storage_type":"local_storage","vcpu_type":"thread","deploy_ondemand":true,"deploy_preemptible":false,"locations":["ewr","ord","dfw","sea","lax","atl","ams","lhr","fra","sjc","syd","yto","cdg","nrt","waw","mad","icn","mia","sgp","sto","mex","sao","mel","bom","jnb","tlv","blr","del","scl","itm","man"],"location_cost":{"sao":{"monthly_cost":7.5,"hourly_cost":0.01,"monthly_cost_preemptible":7.5,"hourly_cost_preemptible":0.01}},"gpu_brand":"none"}. No promotional, introductory, trial, term-commitment or discount language attaches to this price anywhere on the pricing page; the only occurrence of the string "Promo" on the page is the footer navigation link "Promotions". The page does carry a standing FAQ caveat: "At Vultr, we attempt to keep cloud pricing as consistent as possible globally. However, due to variation in regional costs (such as networking, hardware, labor, taxes, and fees), certain global data center locations may have different per hour and per month pricing for Vultr cloud services." Consistent with that, the API shows $5.00/mo in 30 of the 31 listed regions, with Sao Paulo (sao) the sole uplift at $7.50/mo. Read on the vendor's own pricing page. The vendor's pricing page served this figure to us directly. Checked at https://api.vultr.com/v2/plans?type=vc2&per_page=100. Routes tried: Route 1 (browser UA only) refused with HTTP 403; Route 2 - curl with full browser header set (Accept, Accept-Language, Sec-Ch-Ua, Sec-Fetch-*, Upgrade-Insecure-Requests) and --compressed - returned HTTP 200, 125567 bytes on the wire / 1400201 decoded. WebFetch and r.jina.ai both refused (403 / bot interstitial). Corroborated via Vultr's unauthenticated public plans API, HTTP 200.
Compared onMonthly on-demand list price in USD, per Vultr's public pricing table and public plans API (monthly_cost 5, hourly_cost 0.007, invoice_type "monthly", deploy_ondemand true). Standard rate, not promotional; identical preemptible price. Regional variation exists per Vultr's own FAQ - $5.00/mo in 30 of 31 listed regions, Sao Paulo $7.50/mo.
-
#10 Microsoft 365 for Business · Email Hosting · $6 quoted vs $7 today
The article says, verbatim (134 characters, in full) The starter plan costs $6 per user/month, offering 50 GB of email storage, 1 TB of OneDrive storage, and access to the suite of tools.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 — direct curl, Chrome user agent (Mozilla/5.0 ... Chrome/125.0.0.0 Safari/537.36), --compressed, followed redirects. Succeeded on the first attempt; no fallback route needed.
The vendor's page says (2,565 characters, in full)
Rendered pricing card (headless Chromium DOM), untruncated as the page renders it:
Microsoft 365 Business Basic
Lightweight web and mobile apps to kickstart your business
$7.00
user/month, paid yearly
(Annual subscription–auto renews)1
Underlying markup for the same block, untruncated:
<h2 class="oc-product-title"> Microsoft 365 Business Basic </h2> ... <div class="sku__pricing" data-ocr-pricing-render="pricing" aria-hidden="false"> <div class="sku__pricing-current"> <span class="oc-displayListPrice">$7.00</span> </div> </div> <div class="sku__detail-recurrence"> <span class="oc-displayUnit">user/month, paid yearly</span> </div> <div class="sku__detail-commitment"> <div data-oc-token-text=""> (Annual subscription–auto renews)<sup><a class="ms-rte-link" href="#footnote-1" aria-label="Footnote 1">1</a></sup> </div> </div>
Second, independent instance on the same page — the comparison-table column header, untruncated (note this instance uses an em dash where the card uses an en dash):
Microsoft 365 Business Basic
$7.00
user/month, paid yearly
(Annual subscription—auto renews)1
Every SKU card on the page, title -> printed list price -> unit:
Microsoft 365 Business Premium with Copilot -> $32.00 -> user/month, paid yearly
Microsoft 365 Business Standard with Copilot -> $23.50 -> user/month, paid yearly
Microsoft 365 Business Basic -> $7.00 -> user/month, paid yearly
Microsoft 365 Business Premium with Copilot (no Teams) -> $28.80 -> user/month, paid yearly
Microsoft 365 Business Standard with Copilot (no Teams) -> $20.30 -> user/month, paid yearly
A separate SKU 'Microsoft 365 Business Basic (no Teams)' renders $5.40 user/month, paid yearly; that is the unbundled EEA/Swiss variant, not the plan the article describes.
Promotional-markup check on the Business Basic block: the price carries class 'oc-displayListPrice' only. There is no 'sku__pricing-discount' div, no 'oc-displayMSRPPrice' strikethrough, and no 'limited time', '% off', 'introductory' or 'was $' string anywhere on the page. The one discount pair present ($21.00 struck to $18.00) sits inside an aria-hidden="true" alternate render belonging to a Copilot-bearing SKU, and the only 'promotional' string on the page reads 'An annual commitment is required, and promotional pricing applies to the first year only' inside a footnote scoped to Microsoft 365 plans with Copilot. Neither touches Business Basic.
Only one billing basis is printed anywhere on the page: all 13 'oc-displayUnit' spans read 'user/month, paid yearly'; the string 'paid monthly' occurs zero times.
Served only to a rendered browser. The vendor's pricing page refused plain requests and gave the figure up only to a full browser render. The link below is the address that render resolved to, which a reader with a browser can open. Check it at https://www.microsoft.com/en-us/microsoft-365/business/compare-all-microsoft-365-business-products. Routes tried: Route 3 — headless Chromium render (Chrome --headless=new --disable-gpu --no-sandbox --virtual-time-budget=30000 --dump-dom), 930,749-byte DOM. Route 1 (curl, browser UA) and Route 2 (curl, full browser header set incl. sec-ch-ua / Sec-Fetch-*) each returned an edge bot-block page: HTTP 200, 12,623 bytes, <title>Your request has been blocked</title>, 0 occurrences of 'Business Basic'. WebFetch timed out at 60s. Route 4 (r.jina.ai) returned HTTP 403 with a Cloudflare 'Just a moment...' interstitial.
Compared onUSD, en-us storefront; $7.00 per user/month, paid yearly, on an annual subscription that auto-renews. Rendered from class 'oc-displayListPrice' (list price) with unit 'user/month, paid yearly'; no MSRP strikethrough and no discount block on this SKU. The page prints no monthly-billing alternative — all 13 unit spans read 'user/month, paid yearly'. Same per-user-per-month annual-commitment basis as the article's $6.
-
#11 Microsoft 365 for Business · Email Hosting · $6 quoted vs $7 today
The article says, verbatim (106 characters, in full) Microsoft 365 Business Basic: $7.20 per user per month or $6 per user per month with a one-year commitment
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 succeeded: direct HTTPS GET via curl with a Chrome 127 browser user-agent and --compressed. HTTP 200, 66,075 bytes on the wire (gzip), 290,392 bytes decoded. No bot wall or captcha. Headless Chromium (gstack browse) was used additionally for one narrow purpose only: the byline date is injected client-side and is absent from the static bytes. The quotation itself was taken from the route-1 raw bytes.
The vendor's page says (152 characters, in full)
Microsoft 365 Business Basic
Lightweight web and mobile apps to kickstart your business
$7.00
user/month, paid yearly
(Annual subscription–auto renews)1
Served only to a rendered browser. The vendor's pricing page refused plain requests and gave the figure up only to a full browser render. The link below is the address that render resolved to, which a reader with a browser can open. Check it at https://www.microsoft.com/en-us/microsoft-365/business/microsoft-365-plans-and-pricing. Routes tried: Recorded pricing URL refuses non-browser requests. Route 1 (curl + browser UA) returned HTTP 200 but an Akamai interstitial titled 'Your request has been blocked. This could be due to several reasons.' (12,623 bytes, zero occurrences of 'Business Basic'). Route 2 (full Chrome header set: Accept, Accept-Language, sec-ch-ua, Sec-Fetch-*, Upgrade-Insecure-Requests) returned the identical 12,623-byte block page. Route 4 (r.jina.ai text reader) returned HTTP 403 behind a Cloudflare 'Just a moment...' challenge. Route 3 (headless Chromium) SUCCEEDED: HTTP 200, client-side redirect from the recorded compare-all URL to https://www.microsoft.com/en-us/microsoft-365/business/microsoft-365-plans-and-pricing, title 'Microsoft 365 Pricing for Business: Plans & Features', 17,047 characters of rendered text, 'Business Basic' present 3 times.
Compared onUSD per user/month on an annual commitment. The card states '$7.00 / user/month, paid yearly / (Annual subscription–auto renews)'. Every plan card on the page is quoted on this same paid-yearly basis; no month-to-month figure is displayed. This is the same basis the article uses for its $6 ('with a one-year commitment' / 'billed annually'), so the comparison is like-for-like.
-
#12 Porkbun · Domain Registrars · $10.99 quoted vs $11.08 today
The article says, verbatim (65 characters, in full) The $10.99 price is consistent for both registration and renewal.
Found once in the page a reader sees, as
fetched on 2026-09-06 — the reading is defined under Method, and it is the only
reading this study counts on. Article reached by: Route 1 of the ladder succeeded: direct GET via curl 8.11.0 with a Chrome 128 browser User-Agent (--compressed, redirects followed). No fuller header set, headless render or text reader was needed.
The vendor's page says (2,394 characters, in full)
ROUTE A - https://porkbun.com/products/domains (direct GET, browser UA, HTTP 200, 769728 bytes).
A1. Hero price link, verbatim:
<a class="black priceDisplayHomeLink"
data-tld="com"
href="/tld/com">
.COM from $11.08 </a>
A2. The .com row of the "all extensions" pricing table, verbatim and untruncated, exactly as the page carries it:
<div class="domainsPricingAllExtensionsItem" data-extension="com" data-price-registration="1108" data-price-renewal="1108" data-price-transfer="1108">
<div class="row">
<div class="col-xs-3"">
<a href="/tld/com">.com</a>
</div>
<div class="domainsPricingAllExtensionsItemPrice registration col-xs-3">
<span class="pointer badge badge-porkbun atCostBadge"><i class="fa-solid fa-star"></i></span> $<span class="sortValue">11.08</span>
</div>
<div class="domainsPricingAllExtensionsItemPrice renewal col-xs-3">
<span class="badge badge-porkbun pointer atCostBadge"><i class="fa-solid fa-star"></i></span> $<span class="sortValue">11.08</span>
</div>
<div class="domainsPricingAllExtensionsItemPrice transfer col-xs-3">
<span class="badge badge-porkbun pointer atCostBadge"><i class="fa-solid fa-star"></i></span> $<span class="sortValue">11.08</span>
</div>
</div>
</div>
A2 rendered as the page renders it (columns: EXTENSION | REGISTRATION | RENEWAL | TRANSFER):
.com | * $11.08 | * $11.08 | * $11.08
(the * is Porkbun at-cost star badge, class "atCostBadge"; it is not a discount marker)
A3. Promotional control: this page renders first-year promotions as a struck-through list price plus a badge reading "1st Yr Sale!" -- e.g. .agency carries <small><s class="text-muted">$25.23</s></small> <span class="badge badge-porkbun">1st Yr Sale!</span> ... $3.60 against a $25.23 renewal. That badge occurs 338 times on this page. It does NOT occur in the .com row, and the .com row carries no struck-through price. Registration, renewal and transfer are the same number.
ROUTE B - https://api.porkbun.com/api/json/v3/pricing/get (Porkbun public, unauthenticated pricing API; GET, HTTP 200, 82223 bytes, status SUCCESS). The "com" entry verbatim:
{"registration": "11.08", "renewal": "11.08", "transfer": "11.08", "coupons": []}
Both routes agree: $11.08 for registration, renewal and transfer, with an empty "coupons" array for .com. Read on the vendor's own pricing page. The vendor's pricing page served this figure to us directly. Checked at https://porkbun.com/products/domains. Routes tried: Route 1 succeeded: direct GET of https://porkbun.com/products/domains via curl with a Chrome 128 browser User-Agent, HTTP 200, 769728 bytes. Corroborated by a second independent route, Porkbun's public unauthenticated pricing API at https://api.porkbun.com/api/json/v3/pricing/get, HTTP 200, status SUCCESS.
Compared onUS dollars per domain-year for .com, list price before any coupon. Registration $11.08, renewal $11.08, transfer $11.08 - the same basis the article uses in its Year 1 / Renewals columns, so the comparison is like for like.