Skip to content
unlob

Fact-checking with corroboration counts

Teams that must verify claims before repeating them.

The problem

  • A ranked result list cannot distinguish twelve copies of one wire story from six independent reports, and it presents the twelve copies as more convincing.
  • Naive deduplication makes this worse: collapsing forty copies to one destroys the evidence of how widely the claim was carried.
  • Verifying by hand means cross-searching and manually assessing source independence, which is exactly what an agent does badly.

The approach

  • independent_sources counts distinct asserting hosts, and the count survives deduplication because a rejected duplicate's host is recorded against the surviving passage.
  • corroborate returns the source groups directly, with the number of merged duplicates alongside — a story with two sources and thirty duplicates is a press release; two with none is two newsrooms.
  • min_independent_sources applies a threshold uniformly, so it is a policy you can document rather than a judgement made per query.

The parameters that matter

ParameterValueWhy
min_independent_sources3A defensible floor for anything repeated to a user as fact.
collapsestoryOne representative per cluster, so the result set is distinct claims.
min_host_rank0.5Removes low-authority publishers from the corroboration count.
corroborate?id=the passageThe direct check for a specific claim.
In practicebash
curl -H "x-api-key: $UNLOB_API_KEY" \
  "https://api.unlob.com/search?q=acquisition+announced&min_independent_sources=3&collapse=story"

curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/corroborate?id=p:8f2c9a"

Where this is not the right tool

  • Independent hosts are not necessarily independent reporting — several outlets may share a wire service. The merged_duplicates count helps distinguish these but does not settle it.
  • Corroboration measures how widely a claim is carried, not whether it is true. Widely repeated falsehoods exist.

Frequently asked questions

What threshold should I use?

Two as a general floor and three for anything stated to a user as fact. Higher thresholds trade coverage for confidence, and the right point is worth measuring on your own queries.

Does this detect misinformation?

No. It measures how many distinct sources assert something, which is a useful signal and not a truth judgement. A widely syndicated falsehood scores well on corroboration.

Build it on the free tier

10,000 requests a month, no card. Every parameter above works on every plan.