Open data · CC-BY-4.0

The data, as data

The same 75 verified vendor records behind every page on this site — published as canonical open data for machines to ingest directly. Every figure carries the source URL it was captured from and the date it was last verified. No row appears without its provenance.

Current through 4 sections 75 vendors

Download

Each section is published as a JSON document (full nested vendor + plan records with per-figure provenance) and a flat CSV (one row per plan). The Croissant descriptor lets Google Dataset Search and Hugging Face resolve the whole corpus as one citable dataset.

One JSON + one CSV per section. The version is the dataset's stored revision date — identical inputs always produce identical files.
Section Vendors Version Downloads
AI Receptionists 25 Jun 10, 2026 JSON CSV Methodology
Call Tracking 16 Jun 11, 2026 JSON CSV Methodology
Business Texting 17 Jun 12, 2026 JSON CSV Methodology
Online Booking 17 Jun 12, 2026 JSON CSV Methodology

How the data is made

Provenance on every figure

Each price, quota and overage rate is captured from a public pricing page — the vendor's own wherever the vendor publishes the number, and otherwise a named public source recorded in the same source_url column — and stored with that URL and the ISO date it was accessed. Those two fields travel with the figure into both the JSON (a sources array per plan) and the CSV (a source_url and accessed_at column on every row). A number you cannot trace to a dated source is a number we do not publish.

As this version was built, 452 of 7,483 plan rows (6.0%) cite a host that is not the vendor's own domain. On 2026-09-05 we re-read all 297 vendors whose plans cited a non-vendor host, moved 522 plans across 201 vendors onto the vendor's own page and corrected 65 figures; what remains is plans the vendor does not publish, pages that could not be read, and app-store-only products. The host is always visible in source_url, so you can filter on it yourself.

The two-source rule

Where a second capture of the same figure was taken, it rides along on the same row (corroboration_url / corroboration_accessed_at), with its own access date because the two readings are often days apart. Treat that column as a second recorded capture, not as proof of independence: it is not guaranteed to sit on a different host from source_url — 307 of 1,791 corroborated rows name a host the source's own party publishes and 52 repeat the source URL byte for byte — so compare the two hosts before citing it as a second witness.

The change wire is where independence is enforced. A price-change record is published only once cleared against two witnesses from two different parties: the page the figure was read from, plus either a second source that is neither on that host nor on a subdomain of it, or a dated archive capture of that same page — and when the archive is the only second witness, that first page must be the vendor's own. Each capsule names which of the two cleared it, and the witnesses are witnesses to the new figure; the earlier figure is the one our dataset held at the previous dated capture.

Normalization

Plans are normalized to a common shape — monthly base price in USD, included minutes and calls, marginal overage rates, billing model and any annual discount — so a flat-fee tool and a metered platform line up on the same axes. Quote-only vendors are recorded as such rather than assigned a guessed price; their rows carry capability data and an explicit quote_only flag. Full per-section sourcing and freshness detail lives in each section's methodology page.

Spotted an error? Corrections are free for everyone — see the corrections log or email contact@frontdeskreview.com.