Why we built our own domain lake instead of renting one
Every cold email tool on the market sells you access to the same handful of rented contact databases. Same leads, same overused inboxes, same "verified" addresses that bounced for the last three vendors too. The differentiation they sell you is the UI wrapped around identical underlying data.
We took a different bet: own the data supply.
The lake, not the list
outreachstack ingests domains-monitor's full feed — roughly 343 million
domains across ~1,570 zones, with ~300k new registrations and ~250k drops
every day. That firehose lands in ClickHouse, not a CRM table, because a
CRM table is the wrong shape for "which of these domains switched from
Google Workspace to Microsoft 365 last week."
MX records alone tell you which email provider a company runs — and the useful version of that answer has more than two values. A Proofpoint or Mimecast MX is a security gateway, which is a known unknown rather than an "other"; a SendGrid or Mailgun MX means the domain is transactional infrastructure and not a prospect at all. TXT tokens and SPF includes fingerprint the stack. Registration date tells you company age. ASN and GEO tell you where a company actually is, not where its website's footer says it is. None of that is a "contact list" in the traditional sense — it's a queryable surface, and querying it is what an ICP actually is.
One distinction in there is worth more than the rest of them combined. An
SPF include:shops.shopify.com proves a company sends mail through
Shopify. A CNAME to myshopify.com proves its storefront runs on Shopify.
Only the second company can install your Shopify app, and every tool that
collapses both into a single "uses Shopify" tag will sell you the first one
as a lead.
What the lake does not have yet is company-level firmographics — headcount, industry, revenue. You can write those into an ICP and we keep them on the record, but there is no column behind them, so they do not narrow the query. That is the next ingest, and we would rather say so than let you believe you filtered on something you didn't.
Newly registered domains are the flagship signal
Most cold email lists are stale by definition — someone scraped them months ago and resold them a dozen times since. We treat the daily registration feed as the flagship product, not an afterthought: a domain that registered this week has never been pitched by anyone. That's the highest-signal, lowest-noise segment in cold outbound, and it only exists if you're ingesting the feed daily instead of buying a quarterly export.
What this unlocks downstream
Owning the lake is also what will make the ICP refinement loop possible. That agent is not built — it is the next phase, and this is a good place to say so plainly rather than describe it in the present tense. But the reason to build the lake first is that the loop cannot be retrofitted onto rented data. When a segment of positive replies shares an attribute the current ICP doesn't filter on — say, most of your best replies run Shopify plus a particular email marketing stack — that has to be answerable as a query against the same lake the leads came from, or it stays a hunch.
So the pieces that loop needs exist already, ahead of the loop itself. ICP versions are immutable, and every lead records which version produced it. Every message variant carries the prompt, the prompt version and the model that wrote it. None of that is useful today; all of it is unrecoverable if you start collecting it later.
Renting a list gets you contacts. Owning the lake is what makes a system that can eventually tell you who to contact next, and why.