Verified, cited research
from a single topic

Give research2llm a topic; get back structured, source-attributed findings — each verified against the evidence and labelled established, reported, contested or NEI. It searches the live web, reads the sources, corroborates claims across independent outlets, and respects each site's AI opt-out. One POST /jobs call, JSON out — built for LLMs and the apps around them.

$ curl -X POST https://api.research2llm.com/jobs \
  -H "X-API-Key: r2l_..." \
  -H "Content-Type: application/json" \
  -d '{"type":"research","payload":{"topic":"LLM context window limits","budget":"low"}}'

{
  "job_id": "abc-123",
  "status": "queued"
}

What you get

Every finding is verified

A separate verification pass checks each atomic claim against its evidence and labels it established, reported, contested or NEI (not enough information) — so you can tell a corroborated fact from a single-source rumour.

Cited and corroborated

Every finding carries the source ids that assert it. A claim is only 'established' when ≥2 independent sources agree; one source is 'reported'. Findings include the context needed to read them without misquoting.

Presets for the job

news (recent web + Google News, weekly freshness, no PDFs), general (broad web), or scientific (keeps papers/PDFs, no freshness limit). Language is a separate setting — search and extraction in pl, en, and more.

Respects AI opt-out

Retrieval honours each site's robots.txt and AI-bot signals. Where full crawling is reserved, research2llm falls back to the public search snippet instead of ignoring the site's wishes.

Source-attributed & swappable

Each source is tagged by channel (web / news / seed) so you see where a finding came from. Pass your own seed_sources (URLs or text) to anchor the research; optionally have raw scraped content offloaded to storage.

Budgeted, one API call

POST /jobs with a topic and a budget (low/medium/high) or a hard max_cost_usd. The work runs async with a cost circuit-breaker; poll GET /jobs/{id} or get a webhook. Stats report tokens, sources and spend.

See it in action

Same API, three flavors. Pick your stack.

# Enqueue a research job
curl -X POST https://api.research2llm.com/jobs \
  -H "X-API-Key: r2l_..." \
  -H "Content-Type: application/json" \
  -d '{
    "type": "research",
    "payload": {
      "topic": "LLM context window limits",
      "budget": "medium",
      "preset": "general",
      "language": "en",
      "seed_sources": [{"url": "https://example.com/my-notes"}]
    }
  }'

# Response (202)
{"job_id":"abc-123","status":"queued"}

# Poll a job's status + result
curl https://api.research2llm.com/jobs/abc-123 \
  -H "X-API-Key: r2l_..."

research2llm is part of the 2LLM Suite — focused APIs that turn messy inputs into LLM-ready data. Also try scrape2llm and files2llm and html2media and html2reel and stream2llm for the rest.

Get an API key and submit your first job in under a minute.

Get your API key →