Not a list. A live stream of the data your business runs on.
Describe your target in plain words. An agent plans the crawl, you approve it, and fresh data from public sources starts flowing in — and keeps flowing. The first 100 sites are free.
- 100 sites free
- Public sources only
- Fresh, dated rows
- No credit card
- Collect starts with a test run on 100 sites. After it, new matches keep arriving as they are found.
HubSpot
Sheets
Slack
- Webhook
Each match goes out the moment it lands.
From one sentence to a stream
Four steps to set it up. The fifth is the point: the crawl keeps running and your data keeps arriving.
- 01
Describe
Write what you're looking for, the way you'd tell a colleague.
Dental clinics in Germany with online booking - 02
Clarify
If something's missing, the agent asks 3–5 quick questions. A detailed prompt skips this step.
Clinic size?1–3 dentists4–10AnySkip - 03
Approve the strategy
You get a crawl plan: sources, filters, fields. Edit it or approve it as is.
strategy.yamlEditApprove - 04
Get the data
The crawler starts. Results appear as they're found — the first ones in minutes.
+zahnarzt-mueller.example+praxis-weber.example+smile-berlin.example37 matched - the product
Keep it flowing
The strategy becomes a stream: new matches and changes arrive every day, straight into your CRM or sheet.
+23 todaynext pass in 6h
You see the plan before a single page is fetched
The agent turns your prompt into a crawl strategy — a concrete document, not a black box. Nothing runs until you approve it.
See exactly what we collect
Where we look, what a site needs to qualify, which fields we keep.
Change anything first
Tighten a filter, add a field, drop a source — before the crawler starts.
Run it again and again
An approved strategy is what the stream runs on. It keeps finding new matches.
goal:Independent dental clinics in Germany, online bookingsources:- search: "Zahnarzt Online-Termin {city}" × 80 cities- directories: public clinic listings- expand: links from matching sitesinclude_if:- country: DE, language: de- mentions: Online-Termin | Termin buchen- booking widget: Doctolib | Dr. Flex | formexclude_if:- chain or franchise markers- marketplace and directory pagesfields:free:[domain, name, city, phone, email, booking_tool, cms]llm:[specialisations, dentists, languages, fit_score]paidvolume:~1,200 candidates → first 100 freestream:daily pass, new + changed
Example strategy. Yours is drafted from your prompt.
What lands in your pack
The first 100 sites are free, with everything we can read without an LLM. Paid adds the analysis — and the stream.
| What you get | Free · 100 sites | Paid · stream |
|---|---|---|
| Sites that pass your strategy's filters | thousands | |
| Name, language, country, title and description | ||
| Business contacts published on the site (role addresses) | ||
| Social profiles | ||
| Technologies: CMS, e-commerce, analytics, hosting | ||
| LLM analysis: what they do, segment, services | ||
| Custom fields from your prompt: prices, catalogue… | ||
| Fit score: how well each site matches the task | ||
| Stream: new matches every day | ||
| Change events: new tech, new page, site gone | ||
| Stream dashboard and digests | preview | |
| Export | CSV | CSV, JSON, Sheets, API |
A few rows of a pack
| domain | city | booking_tool | observed | specialisationspaid | fit_scorepaid | |
|---|---|---|---|---|---|---|
| zahnarzt-mueller.example | Munich | [email protected] | Doctolib | 2026-09-23 | ||
| praxis-weber.example | Hamburg | [email protected] | form | 2026-09-23 | ||
| smile-berlin.example | Berlin | [email protected] | Doctolib | 2026-09-22 | ||
| dentalpraxis-kiel.example | Kiel | [email protected] | Dr. Flex | 2026-09-22 | ||
| zahnzentrum-lange.example | Leipzig | [email protected] | Doctolib | 2026-09-21 |
A list is a dead end. A stream is a process.
A one-off list starts going stale the day you export it. You can't build a process on it. On a stream you can: new websites that match your criteria come in every day, changes are flagged, and your team works from what's true now.
- praxis-hoffmann.exampleclosed
- zahn-arztpraxis.examplechanged site
- dental-koeln.examplemoved to Shopify
- smile-muenster.example
- zahnarzt-braun.exampleclosed
- +zahnarzt-mueller.examplenew · fit 0.92
- +praxis-weber.examplenew · fit 0.81
- +smile-berlin.examplechanged · Doctolib
- Snapshot, stale from day one
- Always fresh, every row dated
- Same database everyone else bought
- Built for your parameters, unique to you
- New companies never show up
- New matches arrive daily
- Changes go unnoticed
- Changes become events: new tech, new page, gone
- Re-buy and re-dedupe every quarter
- Runs on its own, no duplicates
- A file on someone's laptop
- Plugs into CRM, Sheets, Slack, API
- You can't build a process on it
- You can build a process on it
Alerts and webhooks
New websites that match your criteria arrive in your CRM, sheet or webhook every morning, with a fit score.
Market monitoring
Know when a site in your market switches platforms or a new player enters your niche.
Change integrations
A site adds online booking, opens a store or changes its stack — your tools get an event the same day.
Watch your data flow in
Crawling the live web takes longer than querying a database. So you don't wait for the end: every site that passes your filters shows up the moment it's checked, and the stream keeps going after the first batch.
- 4,812discovered
- 1,930checked
- 214matched
- 180enriched
Last 14 days
- New matches
- Changes
Show as table
| Day | New matches | Changes |
|---|---|---|
| 1 | 38 | 0 |
| 2 | 27 | 2 |
| 3 | 19 | 3 |
| 4 | 16 | 5 |
| 5 | 14 | 4 |
| 6 | 12 | 6 |
| 7 | 9 | 3 |
| 8 | 11 | 7 |
| 9 | 13 | 5 |
| 10 | 10 | 8 |
| 11 | 12 | 6 |
| 12 | 15 | 9 |
| 13 | 11 | 7 |
| 14 | 23 | 6 |
Live feed
- First results: minutes
- 100 sites: under an hour
- Then: new matches every day
What people stream
Pick one to start from — it goes straight into the field above.
Under the hood
Five parts, each doing one job.
Planner
LLM agentTurns your prompt into a crawl plan: queries, sources, filters, fields.
Crawler
search + linksFinds candidates: search, public directories, expansion along links.
Scraper
no LLMOpens every site and extracts fields without an LLM — the same engine behind our technology profiles.
Classifier
LLM · paidClassifies every site and pulls out what plain parsing can't: segment, services, custom fields.
Stream
dailyThe plan keeps running: new matches and changes arrive every day in your CRM, sheet or Slack — a process you can build on.
- Public pages only
- We respect robots.txt
- No logins, no paywalls
- Business details published on company sites only — no personal profiles
Pay for the stream, not for a file
Start free with 100 sites. Keep the strategy running when it proves itself.
Stream
the productTBDper month- 1–N strategies running continuously
- New matches and change events every day
- LLM analysis and custom fields
- Dashboard, digests, Google Sheets
Scale / API
Usage-basedvolume- Many streams, higher limits
- API and webhooks
- CRM integrations
- A one-off large export if you need it
Pricing coming soon
Questions
What counts as a public source?
Websites anyone can open without logging in, and public directories. No logins, no paywalls.
How fresh is the data?
Every row carries the moment it was observed. On a stream, sites are re-checked on every pass.
What if the strategy is wrong?
You edit it before anything runs. After the first 100 sites you can refine it and run again.
How long does it take?
First results in minutes, the first 100 sites within the hour, large packs over hours — streamed as they are found.
Why a stream and not just a list?
A list goes stale the day you export it and you can't build a process on it. A stream brings new matches every day and flags what changed.
Can I just get a one-off export?
Yes, export CSV at any time. The value is in the flow, but the file is always yours.
Where does the stream go?
The dashboard, CSV or Google Sheets, your CRM, Slack, or webhooks and the API.
How is this different from BuiltWith?
BuiltWith is an archive: the same database for everyone, as of when it was indexed. Collect builds a list for your parameters from the live web, and keeps it current.
Do you collect personal data?
No. Only business contact details that companies publish on their own websites, such as info@ or a front-desk phone.
What should your stream bring in?
Fresh, dated rows from public sources. Start free.