How it works
We don’t use a database.
We read the web, live.
Most enrichment tools query a pre-built database of contacts. We took a different approach: search the live web for each record, extract and verify the data with our own LLM, and deliver it wherever you need it.
Live run — bhalligan@hubspot.com
Search
12 queries
Crawl
38 pages
LLM
extract + verify
Deliver
42 fields
Output — 42 fields extracted
4.2sTitle
Co-founder
Company
Propeller VC
Location
Cambridge MA
Seniority
C-Level
59k followers
Status
No change
What happens under the hood
Each enrichment request triggers a real-time pipeline. No cache. No pre-built profiles. Just a fresh search, every time.
Steps — per record
1 — Dispatch search queries
We send targeted queries to Google and Bing using every identifier provided — email, name, company, LinkedIn URL. The more signals you send, the more precise the queries.
2 — Open relevant pages, logged out
We open each result in a clean, logged-out session — accessing only what’s publicly visible. LinkedIn profiles, company pages, press releases, job boards, registry data.
3 — Extract & cross-reference with our LLM
Our proprietary model reads the raw pages, extracts structured signals, then cross-references them across sources to resolve conflicts and verify accuracy.
4 — Standardize & deliver
Output is typed, standardized, and CRM-ready. Sync to HubSpot, Clay, your API, or download as CSV. Streaming responses mean you see results before the pipeline finishes.
By the numbers
40+
public sources crawled — LinkedIn, company sites, press, registries
300+
structured fields — contact, firmographic, funding, traffic, tech
<10s
average response, streamed progressively as fields come in
100%
public data — no private accounts, no third-party brokers
Why streaming matters
Contact data streams first, company data follows. You can act on the first fields before the pipeline finishes — no waiting for the full payload.
Live web vs. static database
Tools like Apollo or ZoomInfo maintain large databases of contacts, refreshed periodically. That works well at scale, but comes with inherent limitations around freshness, coverage, and the number of data points per record.
Static database
Broad but frozen
Data is collected once, stored, and served quickly. Match rates are high for well-known contacts, but accuracy degrades over time and coverage is limited to whoever ended up in the database.
Our approach
Fresh on every request
We search the live web at the moment of the request. If someone changed roles last week, we find it. If a company updated its headcount, we see it. The web is the database — always up to date.
The trade-off
Speed vs. depth
Database tools return results instantly. We take a few seconds to run the pipeline. That’s the cost for real-time accuracy and 300+ fields — most of which simply don’t exist in any static database.
What you get back
Every field is typed, labeled with a confidence score where relevant, and ready to write directly to your CRM properties.
Continuous monitoring
Beyond the snapshot:
signals that keep updating.
Enrichment gives you a profile at a point in time. But contacts change jobs. Companies raise funds. Traffic spikes. We watch for these events automatically and surface them as signals — no polling required.
Job change detection
We monitor your contacts and alert you the moment someone switches company, is promoted, or goes dark.
Funding rounds
Raised capital is a strong buying signal. We surface it the moment it becomes public.
Traffic spikes & headcount changes
Company-level signals that reflect real momentum — before anyone announces it publicly.
Explore the signals page
Live signals — example feed
Job change — Accenture
Sarah M. joined as VP Revenue Ops — she was previously your champion at Capgemini.
Today · 08:41 · via LinkedIn
Funding — Contentsquare
Series F · $200M raised · expanding their sales team in Europe.
Yesterday · 14:22 · via TechCrunch
Traffic spike — Lemlist
+340% web traffic this week. Possible product launch or paid campaign burst.
Today · 11:17 · via web analytics
Works where you already work
Enriched data and signals write back wherever your team operates — no new tool to onboard.
HubSpot
Native write-back
Enrich directly from HubSpot. Fields map to CRM properties. Job-change alerts trigger workflows automatically.
Learn moreClay
Clean typed columns
Add Enrich-CRM as a data provider. Typed columns ready to filter, score, and sync downstream.
Learn moreREST API
Any language
JSON + streaming SSE. Swagger docs, JS and Python SDKs. Integrate in under an hour.
API docsZapier / Make
No-code workflows
Trigger enrichment from any event, push results to 1 000+ apps — no code required.
Learn moreCSV / File upload
Bulk enrichment
Upload a list, download an enriched file with 300+ new columns — in minutes.
Learn moreTry it yourself
500 credits.
No card needed.
Run a real enrichment on your own contact in under 60 seconds.
Privacy by design
We enrich your data.
We don’t keep it.
Enrich-CRM processes your contacts to retrieve public information from the web — and that’s it. We don’t store the enriched profiles, we don’t build a proprietary database from your searches, and we don’t sell your data.
Every enrichment request is stateless: we fetch, process, and return. Once the response is delivered, nothing is retained on our side.
No profile storage
Enriched results are returned to you — never saved on our servers.
No reselling
Your searches don’t feed anyone else’s database. Ever.
Public data only
We only read what anyone can access from the web — no private accounts, no scraped inboxes.
GDPR compliant
Data processing agreements available. Hosted in the EU on request.
Curious?
See it on a real contact.
Enter any email, domain, or LinkedIn URL — and watch the pipeline run in real time. 500 free credits, no card required.
No credit card · cancel anytime · live in 5 min