How it works · Technical overview

A researcher that shows its work.

Describe an area of the world you need tracked — no list required. DeepSieve designs the database for it, researches the public web to fill it, and tells you what it could and couldn’t verify. Then, while monitoring is on, it keeps the whole thing current.

Your brief

“Track the vendors in clinical-trial software — who owns them, what they charge, what they just shipped.”

names or URLs optional
Deep research engine
Your table
12 src
9 src
17 src
0
names you have to supply — a brief is enough
2
passes: research, then verification against the source
Per cell
verdict — supported, contradicted, or not checked
Then
it re-checks on its own schedule while monitoring is on
01Describe & approve

You describe the domain. It drafts the schema.

Write what you want tracked as a paragraph of plain English. An inference pass turns it into a Blueprint — the entities, the columns and their types, the freshness window on each one, and the prompts the research will run. You edit it, and nothing is built until you approve it. The Blueprint is the source of truth for everything downstream: the tables, the extraction schema, the prompts, the lifecycle. Change it later and safe changes apply immediately, risky ones ask you to confirm, and destructive ones are refused rather than silently applied.

stage:onboarding_infer · onboarding_adjust · instantiate
your brief · plain english

“Track the vendors in clinical-trial software — who owns them, what they charge, and what they just shipped. Keep pricing current.”

inferred blueprint · awaiting your approval
vendors · entityname · text · 365downership · text · 90dpricing · text · 14dlatest_release · text · 30d

the cyan value is each column’s freshness window — edit any of it before a table exists

02Scope & anchor

You don't have to know the list first.

A brief on its own is a valid run: the agent maps the area and finds the entities, which is both the cheaper shape and usually the more complete one — in a captured run, 35 of the 38 rows were entities it discovered rather than names it was handed. Where you do already know some, paste URLs or just type names; anything you paste is read before research starts, and a classifier files each one under the entity types your own Blueprint defines rather than somebody else's.

stage:scraping · classifying_seed · seed_enrichment
Medidata Solutionsvendor
veeva.com/productsvendor
(discovered) Oracle Clinical Onevendor
Read first — before any research begins
Page read · veeva.com · 2 entities identified
Classified into your Blueprint · vendor · dedup passed
03Autonomous investigation

It reads the public web — properly.

For each entity, an autonomous research agent plans its own investigation: what to ask, where to look, what to read next. It works deep into the public web — official sites, press coverage, filings where they are public — with entities researched in parallel, and writes a long-form, citation-rich dossier as it goes. If a research stream goes quiet the orchestrator reconnects and presses on; it never quietly falls back to a thinner model.

stage:investigating · investigating_entity
Live activity · one entity of many, in parallel
planmap the vendors, then their owners & pricing
search“clinical trial EDC platform list price 2026”
readvendor newsroom · release notes
readtrade press · acquisition coverage
donedossier written — sources cited inline
04Structured extraction

Findings become your table, not an essay.

A second pass reads each dossier and sieves the findings into structured records — against the schema you approved, whatever that schema is. Wide schemas are split into shards so the extraction stays strictly enforced rather than degrading silently. Empty fields aren't shrugged off: targeted follow-up searches go out to fill the gaps, field by field, until the table is as complete as the public record allows.

stage:extracting · gap_filling
Vendor
Type
Pricing
HQ
Medidata Solutions
vendor
quote-based
New York
Veeva Vault CDMS
vendor
list price
Pleasanton
↳ gap detected → targeted search → filled
05Evidence & verdicts

Every value carries a confidence verdict.

Nothing lands as a bare claim. Each value is written alongside an evidence row carrying a confidence score, and the sources behind it where sources were found. A separate QA agent — one that played no part in the research — then re-reads those sources against the claim and records a verdict on each cell it checks: supported, contradicted, corrected, or not verifiable. Where it couldn't check, it says so rather than passing the cell as verified. You are told which is which, in the table.

stage:persisting · qa_verifying
Vendors · ownership · Medidata Solutions
Dassault Systèmes
vendor newsroom · acquisition announcement
acquirer investor relations · press release
trade press · coverage of the deal
evidence attached · 3 sources qa verdict · supported
06Monitoring

And then it keeps going.

This is the part that makes a dataset worth more than a search result. Every column carries a freshness window — ours by default, yours to change. While monitoring is on, a poller watches for values whose window has elapsed and schedules a re-verification run for them; what comes back is either confirmed, or replaced with the old value preserved in a supersede chain you can audit. Nothing is quietly overwritten and nothing is silently trusted: while monitoring is on, a value that can't be re-checked is flagged stale rather than left looking current. Every paid run includes 30 days of monitoring, and after that your plan keeps a set number of monitored runs fresh on the schedules you chose.

stage:expiration_poller · reverify · supersede
freshness · vendors
ownership90dre-verified
latest_release30dfresh
pricing14dexpired · queued
independent acquired by Dassault Systèmes
superseded 2026-07-21 · previous value kept in the audit trail
the worked example

Don’t trust it. Inspect it.

A real brief, the schema it produced, and the rows it returned. Hover or tap any cell for its evidence — the links go to the live web, and two values are marked uncertain rather than guessed.

the brief · plain english

Track the major US EHR platform vendors — founded, HQ, ownership, flagship product, estimated revenue. Keep ownership and product facts current.

inferred schema · approved
companiesname · text · 365dfounded · int · 3650dhq · text · 180downership · text · 90dflagship_product · text · 180dest_revenue · text · 60d
The cyan value is each column’s freshness window — when it expires while monitoring is on, the fact is re-verified or flagged stale.
sample rows · hover or tap any cell
QA pass complete
VendorFoundedHQOwnershipFlagship productEst. revenue
Epic Systems1979Verona, WIPrivate — founder-ledEpic EHRuncertain
Oracle Health1979Kansas City, MOOracle — acquired 2022Millennium EHRWithin Oracle segment
athenahealth1997Boston, MABain Capital & H&F — 2022athenaOneuncertain
Sample output in the product's format — facts are real and the source links are live. Cells with no verifiable public figure are marked uncertain, not guessed.
Under the hood

And for the AI-native in the room…

langfuse · trace: deep_research.run
deep_research.runone trace per run · session_id = run_id
├─ investigateagentic SSE stream · idle watchdog + reconnect
├─ extractschema-constrained JSON · bounded retries
├─ persisttransactional UPSERT · per-cell evidence rows
├─ qaindependent verification · confidence + verdict
└─ reverifyscheduled per column · supersede chain preserved
No silent downgrades
A stalled stream is probed and reconnected on the same interaction — it is never swapped for a thinner model.
Parsed by contract, not hope
Extraction is schema-validated structured output with bounded retries, not free-text parsing.
Idempotent persistence
Transactional UPSERTs converge on re-runs instead of duplicating records.
Fully observable
Every search, token, and verification step lands in a single end-to-end Langfuse trace.

Research you can audit.

The output isn’t a chat answer — it’s a table you can defend in a meeting, with the sources to prove it.

First run free · 15–60 min · ten rows unlocked to inspect
How It Works — DeepSieve