Skip to content
unlob

Autonomous research agents

Teams building agents that investigate a topic across many sources.

The problem

  • The naive research loop — search, read, identify gaps, search again — spends most of its budget on intermediate results the agent reads once and discards.
  • It also fails in a characteristic way: the agent invents follow-up queries from its own vocabulary rather than the corpus's, and drifts away from the material.
  • And it frequently does not stop, because nothing tells it when a line of enquiry is exhausted.

The approach

  • authorities triages an unfamiliar field by graph centrality, so the agent starts from what the field treats as foundational rather than what matched its first query.
  • dossier returns an entity brief — mentions, sources ranked by authority, co-mentioned entities — replacing roughly ten searches and a manual merge.
  • related follows edges the corpus already contains, so the next step comes from the material rather than from the agent's guess.
  • limit=0 with facets is a cheap coverage probe: totals and distribution with no results, enough to decide whether an angle is worth pursuing.

The parameters that matter

ParameterValueWhy
authorities?topic=the fieldStart from canonical sources rather than keyword matches.
dossier?entity=each key entityOne call per entity instead of ten searches.
related?hops=2Follow the thread without unbounded traversal.
limit0Probe coverage before committing to a line of enquiry.
In practicebash
# Triage, then traverse
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/authorities?topic=science&limit=10"
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/dossier?entity=Common+Crawl"
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/related?id=p:8f2c9a&hops=2"

Where this is not the right tool

  • Research agents multiply calls quickly. Monitor /account against your quota, and give the agent an explicit traversal budget.
  • Entity resolution is imperfect. Ambiguous names may merge distinct entities or split one.

Frequently asked questions

How do I stop a research agent looping forever?

Give it a budget in traversals and tokens and a rule to assemble and answer when either is exhausted. Use limit=0 probes so it can check coverage cheaply before opening a new line.

How many calls does a research task take?

With graph traversal, typically a triage call, two or three traversals, a corroboration check per claim, and one context assembly — against twenty or more searches in a naive loop.

Build it on the free tier

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