Skip to main content
POST

Overview

Your agent tells the Browser API what to do in plain English. It navigates pages, pulls structured data, fills out forms, clicks buttons, and runs multi-step workflows on your behalf. You get a cost estimate before paying.

Authentication

Requires x402 payment. First call analyzes the task and returns a quote (402), second call with payment executes asynchronously.

Request Body

string
required
Natural language description of the browser task (minimum 10 characters, max 50,000).Examples:
  • “Go to example.com/pricing and extract all plan names, prices, and features into a table”
  • “Navigate to the contact page and fill out the form with our company info”
  • “Search for ‘AI startups’ on ProductHunt and extract the top 10 results”
object
JSON schema for the expected output. If you pass this, the browser extracts data matching your schema.
string
Starting URL for the browser task. If omitted, the agent decides where to begin based on the task description.
string[]
Restrict browsing to specific domains. The agent will not navigate outside these domains.
string
Persistent browser profile ID. Reuses cookies, local storage, and session state across tasks. Create profiles via POST /v1/tools/browser/profiles.
object
Domain-scoped credentials for authenticated browsing. Keys are domains, values are credential strings.
Secrets are passed securely to the browser agent and used for authentication on matching domains.
string
UUID to resume a previous browser session (preserves cookies, login state).
integer
Maximum number of browser steps (1-100). Defaults to the environment maximum. Lower values reduce cost.

Quote Response (402)

The first request analyzes the task and returns a cost estimate:
string
Quote ID to include in payment request
string
Summary of what the browser will do
integer
Estimated number of browser steps needed
integer
Maximum steps allowed for this task
string
Total estimated cost in USDC
number
Task complexity score (0-1)
string
Quote expiration timestamp (30 minutes)

Execution Response (202)

After payment, the browser task runs asynchronously:
string
Job ID for polling status at /v1/requests/{id}
string
processing while the browser task runs
integer
Estimated steps from the quote
string
Estimated cost from the quote

Completed Job Result

Poll /v1/requests/{request_id} for the result:
string | object
Extracted data or task result. Structured JSON if you passed output_schema.
array
List of steps taken: [{ number, goal, url }]
number
Actual cost incurred
string[]
URLs of any files downloaded or screenshots captured
Charged per step with a base initialization fee and margin. See Pricing for details.
Pass output_schema to get structured JSON back instead of raw text.
allowed_domains keeps the browser on-target and cuts both cost and runtime.