Scientific - Medical Q&A
Scientific - Medical Q&A
Scientific is Captain’s agentic Q&A dataset for the scientific literature. Send a natural-language question and the agent federates across multiple live sources, then returns a synthesized answer with real, verifiable citations.
What Scientific Covers
How It Works
- Ask a natural-language question about a medical or biomedical topic
- The agent plans which sources to call and fans out up to 6 tool calls in parallel
- An answer is synthesized with inline citations to the exact records retrieved
- A
gaps[]field surfaces what the agent could not find or verify
All requests require authentication via Authorization: Bearer {api_key} and X-Organization-ID headers.
Search Medical Papers
POST /v2/datasets/scientific/medical/ask with a question in the body.
Asking a Question
Get a synthesized answer with cited sources. First invocation of the day can hit a cold Lambda (~60s) + agent loop (~30-60s) — set client timeouts to 180s and guard against non-JSON responses (504/502) so errors surface cleanly:
Example Response
Asking with Streaming
Get real-time progress as the agent calls tools and writes the answer token-by-token:
Event Types
Request Fields
Response Fields
Top-level response
PubMed source (type: "pubmed")
PMC full-text source (type: "pmc_full_text")
Clinical trial source (type: "clinical_trial")
Semantic Scholar source (type: "semantic_scholar")
Guarantees and Limits
- Citations are real. Every
[PMID:…],[PMC:…],[NCT:…], and[S2:…]marker in the answer corresponds to a record the agent actually retrieved during the request. The agent is explicitly instructed not to cite from memory. - Tool-call budget: 8. The agent loop hard-caps at 8 calls per request; the system prompt asks the model to stay under 6.
- No shared corpus yet. Every request fetches live from the four upstream APIs. Federation happens in real time.
- Latency. p50 around 8s; p95 up to 12s when full-text fetches are involved. Set client timeouts ≥ 90s.
- Gaps are load-bearing. If the agent cannot find evidence at the specificity you asked for, it says so in
gaps[]rather than hallucinating. Display that in your UI.
Deprecated URL Aliases
/v2/datasets/pubmed/* and /v2/datasets/medical/* return HTTP 400 with a pointer to /v2/datasets/scientific/medical/ask. Update your clients to use the new URL.