Quick Start
1. Get your API key
Sign in to the dashboard, click + New key, and copy the value shown. You'll see the raw key once — store it somewhere safe.
2. Submit a job
Send type: "research" and a payload with your topic and budget. Optionally supply seed_sources to anchor the research to known URLs or editor text. You get back a job_id and a status of queued.
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",
"seed_sources": [{"url": "https://example.com/my-notes"}]
}
}'
# {"job_id":"abc-123","status":"queued"}3. Poll for the result
Fetch the job by id. When status reaches done the result_ref contains verified findings with citations and source metadata; on failed the error_message explains why.
curl https://api.research2llm.com/jobs/abc-123 \
-H "X-API-Key: r2l_..."
# {
# "job_id":"abc-123","type":"research","status":"done",
# "result_ref":{
# "plan":{"sub_questions":["What is the max context window per model?"]},
# "findings":[{"id":"f0","text":"...","kind":"fact","citations":["src_1","src_4"],
# "status":"established","confidence":1.0,
# "context":"As stated by ... on 2026-06-18"}],
# "sources":[{"id":"src_1","url":"...","title":"...","kind":"web",
# "channel":"web","trust_score":0.6,"opt_out_tier":2,"fetched":true}],
# "stats":{"rounds":1,"sources_scraped":3,"tokens":12345,
# "cost_usd":0.07,"serper_calls":4,"stop_reason":"complete"},
# "artifacts":{"raw_learnings_file_id":"..."}
# },
# "error_message":null,"created_at":"...","finished_at":"..."
# }4. Or receive it via webhook
Pass callback_url when submitting and we POST that URL on completion (success or failure) instead of making you poll. The URL is validated against SSRF before the job runs.
curl -X POST https://api.research2llm.com/jobs \
-H "X-API-Key: r2l_..." \
-d '{"type":"research","payload":{"topic":"LLM context window limits","budget":"low"},"callback_url":"https://you.com/hook"}'5. Check your usage
The dashboard's Usage panel shows your research jobs aggregated over time. Every result also reports its own tokens, serper_calls and cost_usd in stats, so you can track spend per run. Billing is free during beta.