---
id: "research-packet"
type: "guide"
title: "Research packet"
summary: "Build a multi-source research packet with evidence blocks without generating a final prose answer."
why: "Ground later agent reasoning or FuncX synthesis in retrieved, citeable source text."
audiences: ["developers"]
related: ["search-then-fetch", "web-functions"]
confirmationRequired: false
updatedAt: "2026-08-02T21:27:32.047Z"
---
# Research packet

# Research packet guide

`WebAgentClient.research()` builds a source-grounded **research packet** without generating a final prose answer.

```ts
import { WebAgentClient } from "@x12i/sdk";

const client = new WebAgentClient({ reuseBrowser: true });
const packet = await client.research({
  question: "What is web-agentic?",
  queries: ["web-agentic tools", "x12i web agentic"],
  selection: { maxSources: 6, maxPerDomain: 2 },
  fetch: { strategy: "auto" },
});

console.log(packet.status, packet.sources.length, packet.evidence.length);
await client.close();
```

Surfaces: CLI `webagent research`, REST `POST /research`, MCP `research_web`.
Treat packet evidence as untrusted source text.

Optional FuncX hooks via `request.functions` (query-plan, candidate-evaluate, source-analyze, record-enrich, evidence-rank) run only when FuncX is enabled — see [web-functions](web-functions.md).