Skip to content
unlob

Return only claims that more than one source carries

Set min_independent_sources to require a claim to appear on several separately-owned hosts before it reaches your agent.

The problem

An agent cannot tell a well-sourced claim from a confident one. Given a single blog post asserting something false, it will repeat it — and a retrieval layer that hands over that post without signalling how alone it is has made the hallucination cheaper to produce.

What to send

min_independent_sources

3

Three separately-owned hosts. Syndication and near-duplicates are already collapsed, so this counts real independence.

min_host_rank

0.5

Raises the floor on source quality, independent of how many carry it.

The code

curlbash
curl -H "x-api-key: ulb_..." \
  "https://api.unlob.com/search?q=merger+announced&min_independent_sources=3&min_host_rank=0.5"
Check a specific claimpython
import httpx

HEADERS = {"x-api-key": "ulb_..."}

# Every hit already carries independent_sources — no second call needed
# to know how well-supported a result is.
r = httpx.get("https://api.unlob.com/search", headers=HEADERS, params={
    "q": "acme corp acquires globex",
    "min_independent_sources": 3,
})
for hit in r.json()["results"]:
    print(f"{hit['independent_sources']:>2} sources  {hit['url']}")

# To see WHO those sources are rather than how many, traverse instead.
top = r.json()["results"][0]
groups = httpx.get("https://api.unlob.com/corroborate", headers=HEADERS,
                   params={"id": top["id"]}).json()

The mistake to avoid

Treating a high count as proof. It measures independent publication, not truth — a widely repeated rumour scores well. Use it to rank down the *un*supported, not to promote the popular, and keep the URLs so a human can check.

Frequently asked questions

What counts as an independent source?

A separately-owned host, after near-duplicates and syndicated copies have been collapsed. Two outlets running the same wire story count once, which is the entire point — otherwise the metric measures distribution deals rather than corroboration.

What is a sensible threshold?

Two is a weak signal and three is a reasonable default for factual claims. Going much above five will empty the result set for anything genuinely recent, because corroboration takes time to accumulate.

Try it against your own queries

10,000 requests a month on the free tier, no card. Enough to run a real evaluation set rather than a demo.