What is WebAgent
WebAgent is a general-purpose agent platform for the browser — an API that lets programs complete tasks in a real browser, from a single atomic search to a goal that runs for a month.
The four APIs
WebAgent exposes 4 peer APIs; pick whichever matches what you want to do:
- DoAnything — give one natural-language instruction; the agent picks its own tools and path and completes the task in a browser. The artifact shape is open-ended.
- DeepResearch — give a research topic; it runs multiple retrieval rounds and cross-checks, and produces a cited, confidence-scored report (
final.md+ citations + confidence). - WebSearch — give a batch of queries; it fetches across engines, deduplicates, reranks, and returns structured search results (optional summary).
- Track — give a monitoring intent; it re-fetches on a schedule, compares against a baseline, and notifies you on change (a snapshot stream + change notifications).
Shared capabilities:
- Profiles — reusable login state across sessions. No re-logging in every run.
- Workspaces — a persistent file system the agent can read and write to.
- Schedules — cron, interval, event-triggered, or autonomous (the agent decides when next to run).
- SSE event stream — the same
run.*events that drive the Console, streamed directly to your code.
What it is not
- Not a low-code automation builder. There is no canvas. You wire up tasks in code (or via the Console as a prototyping aid).
- Not a hosted LLM API. Bring your task; WebAgent picks an LLM and pays the bill on a credits model.
Three product surfaces: Console / OpenAPI / SDK
All APIs are exposed through the same three surfaces, with 1:1 capability parity and a shared resource layer / event stream / billing:
| You can use … | … to do |
|---|---|
| The REST API (OpenAPI) | Anything. Console and SDKs are just clients. api.eak.eazo.ai/v1/... + Authorization: Bearer wa_... |
| Python or TypeScript SDK | Same surface, idiomatic types, retries, streaming, wait_for_done. |
| The Console | Prototype tasks visually; non-developers welcome; Get Code dialog hands you working snippets. |
API-developer-first — the product is the API. Console is a convenience layer, not a separate product surface; no Console-only privileged endpoints.
Resource model
The 4 APIs share one event stream and billing, but each has its own resource model. DoAnything uses session + run:
Session (one container; holds a browser, profile, workspace)
└── Run #1 status: completed (one instruction; lifecycle has 7 states)
└── Run #2 status: running (a follow-up instruction in the same session)
└── events: SSE stream (status_changed, message, action.*, screenshot, …)A session owns the runtime resources (browser, profile, workspace). Each run is one instruction; you can submit follow-up runs against the same session and they share state. The run lifecycle has seven states (pending, running, awaiting_input, paused, done, failed, canceled); see DoAnything.
DeepResearch / WebSearch / Track differ: DeepResearch / WebSearch are standalone runs (one-shot artifact, no session); Track uses long-lived monitors. Each feature page covers its own.
Next steps
- Quickstart — 5 minutes from sign-up to first SSE event.
- Authentication & API keys — how
wa_keys work and how to scope them. - DoAnything — the core resource model.