Browser Use
Browser Use: AI browser automation agents in the cloud. POST a natural-language task and an agent navigates websites, fills forms, clicks buttons, extracts structured data, and completes multi-step workflows just like a human. Stealth-enabled remote browsers with CAPTCHA solving, residential proxies, live session view, and optional structured output. Payments top up your balance; managing your session is free — you only pay to open a new browser. Docs: https://docs.browser-use.com
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://x402.api.browser-use.com/api/v3/sessions
| Category | Market data |
|---|---|
| Provider host | x402.api.browser-use.com |
| Networks | eip155:8453 |
| Payment schemes | exact, upto |
| Self-reported calls, 30 days | 12 from 7 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $1.00 | 1042 ms |
Example input (from the provider)
{
"body": {
"task": "Go to example.com and tell me the page title"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"enableRecording": {
"description": "Record a video of the browser session, returned as recordingUrls.",
"type": "boolean"
},
"keepAlive": {
"description": "Keep the session idle after the task completes so follow-up tasks reuse browser state.",
"type": "boolean"
},
"maxCostUsd": {
"description": "Maximum total cost in USD for this session; the task stops when reached.",
"type": "number"
},
"model": {
"description": "LLM powering the agent: \"gemini-3-flash\" (fast/cheap), \"claude-sonnet-5\" (balanced), \"claude-opus-4.7\" (most capable, default), \"claude-opus-4.8\" (newest Opus tier).",
"type": "string"
},
"outputSchema": {
"description": "JSON Schema the agent's final output must conform to; enables structured output.",
"type": "object"
},
"proxyCountryCode": {
"description": "Country code for the browser proxy (e.g. \"US\", \"DE\", \"JP\"). Defaults to \"US\".",
"type": "string"
},
"sessionId": {
"description": "Dispatch the task to an existing idle session instead of creating a new one.",
"type": "string"
},
"task": {
"description": "Natural-language instructions for the agent to execute in a remote browser.",
"type": "string"
}
},
"required": [
"task"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"id": {
"description": "Session id \u2014 poll GET /api/v3/sessions/{session_id} for progress.",
"type": "string"
},
"isTaskSuccessful": {
"description": "Agent self-assessment of whether the task succeeded.",
"type": "boolean"
},
"liveUrl": {
"description": "Watch the browser session live.",
"type": "string"
},
"output": {
"description": "Agent's final result: free-form text, or structured data when outputSchema was requested."
},
"recordingUrls": {
"description": "Video recordings of the session when enableRecording was set.",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"created",
"idle",
"running",
"stopped",
"timed_out",
"error"
],
"type": "string"
},
"stepCount": {
"type": "integer"
}
},
"required": [
"id",
"status"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}