WebAgent
WebAgent is the web action layer in Qoni. It lets agents search, extract, operate webpages, track changes, and run controlled web tasks. After reading these docs, you can integrate WebAgent into your application, create a session, submit a run, and stream execution results.
WebAgent is not a traditional crawler SDK. It is designed for LLM agent task execution: developers provide an instruction, while WebAgent manages runtime resources, page state, retries, structured results, and the run lifecycle. The Console and SDKs are clients for the same API.
Toward the agentic web
Qoni's goal is to make Agents first-class citizens of the Web. WebAgent is not only a background click simulator, and not only a renderer for humans; it places Human, Agent, and Web in the same auditable collaboration layer, so an Agent can read, act, produce results, and render state back to people within an explicit permission boundary.
When to use WebAgent
- Your agent needs real-time web data instead of relying only on model training data or a fixed knowledge base.
- You need search, extraction, browser actions, and long-running tasks behind auditable APIs.
- You want the Console, SDKs, and backend services to share the same REST API contract.
- You need a session / run model for state, event streaming, or steps that require user confirmation.
When not to use WebAgent
- The task only needs your own backend APIs and does not need open web access.
- You need large-scale offline crawling, warehouse synchronization, or search-index construction.
- The target site's terms do not allow automated access and you do not have the required authorization.
- You have not defined API keys, project scope, run budget, and failure handling.
Core capabilities
| Capability | Description |
|---|---|
| DoAnything API | Provide a natural-language instruction. WebAgent chooses tools, runs steps, and returns a result. |
| Shaped APIs | Dedicated API contracts for artifact-shaped workflows such as DeepResearch, WebSearch, and Track. |
| Session / run model | A session owns runtime resources. A run represents one instruction or follow-up action. |
| Event stream | Subscribe to run state, output chunks, errors, and user-confirmation requests through SSE. |
| SDK and raw HTTP | Python, TypeScript, and cURL docs use the same API semantics. |
Documentation entry points
- What is WebAgent explains WebAgent's role, boundaries, and API shape.
- Quickstart runs the first run with Python, TypeScript, or cURL.
- Authentication & API keys explains
wa_keys, project scope, and rotation. - DoAnything explains the session, run, event, and profile lifecycle.
- Errors & Retries covers error codes, retry policy, and idempotency.
- API Reference covers base URL, auth, errors, rate limits, and pagination.
- Vibecoding shows how to give the docs and OpenAPI spec to an IDE-resident LLM.