methodology
Methodology
How prices are collected, how receipts are produced, what the numbers can and cannot show, and which vendor pages could not be read.
Vendor prices
Each provider’s pricing page and API docs are fetched over plain HTTP, without a login and without running the page’s JavaScript, on the date shown next to the figure. From those pages we record the billing model, the lowest paid entry, the free tier, the credit cost of one found email, one enriched person and one enriched company, whether a miss is charged, whether the entry plan includes API access, and the expiry or rollover rule. One short verbatim quote is kept per provider to back the billing-model claim.
“Per email found” and similar figures are arithmetic: entry plan price divided by its credits, times the credits one record costs. They are list prices at the entry tier, not what you will pay, because they assume you use the whole allowance.
Where a page did not render server-side, sat behind a login, or blocked automated reads, the field is recorded as unknown. We do not fill gaps from third-party blogs, search snippets or older cached copies. On 14 September 2026 that affected:
- Enrich.so: pricing, compare and blog pages returned HTTP 429 to every fetch. Credit costs per action come from its docs host, which did respond.
- Crustdata: package prices are shown only inside the logged-in checkout.
- People Data Labs: the marketing pricing page rendered only a title; plan prices were read from the docs “create an account” page.
- Apollo: the pricing table is client-rendered; plan prices were read from Apollo’s own comparison page and are annual billing only.
- Prospeo: prices were read through a text-rendering proxy of the official pricing page.
- HubSpot Breeze: enrichment is bundled into paid HubSpot tiers with no per-record price; the base subscription price was not fetched.
Several vendors state a rule differently on different pages (BetterContact on catch-all charging, Prospeo on rollover, Lusha on who can hold an API key, Wiza on API credit expiry). The guides say so rather than picking one.
Receipts
A receipt is a call we paid for. The fixture is ten public-company executives (name plus company domain) and ten company domains, chosen so that anyone can re-run it. The runner script sends each input to Treg’s routed endpoints with a $0.25 per-call cost cap, records wall-clock latency from the CLI, and stores the full response with any personal email address masked to its first letter. A publish-time step masks again before the files are copied to the site.
From the responses we compute per group: calls, hits, total billed, cost per hit, latency p50, p95 and max, how many calls needed a second provider, and which provider served. The computation is a deterministic script in the site repository; no language model touches the numbers.
What a receipt shows: the mechanics of billing and routing, and the order of magnitude of cost and latency for that input shape on that day.
What a receipt does not show: hit rates you should plan on. Ten famous names are not a list. Data accuracy is also not measured; a returned email is a returned email, not a verified deliverable one, unless the page says a verification step was run.
Treg-specific caveats
Treg is our product. Its routed endpoints bill the serving provider’s own per-hit rate, so the cost of a call depends on which provider was eligible for the input and answered first. Our observed per-record figures come from the fixture and will differ from yours. Treg’s own published prices are on treg.to/pricing; we do not quote them on this site as observed costs.
Exclusions
One competitor is excluded from this site under a private publishing policy. Comparisons are of selected options and do not claim to cover the market.
Dates
Each guide shows three dates. Published is the first release. Facts re-checked is the last time every price and term on the page was re-read from its source. Last material change moves only when the substance changes, not when a date is bumped.