Skip to Content

Browsing

Browser automation on real devices — natural-language tasks or custom Python scripts.

Endpoints

MethodPathDescription
POST/api/v1/browsing/asyncCreate task, return task_id immediately
POST/api/v1/browsing/syncCreate task, wait for result
GET/api/v1/browsing/statusPoll status and result by task_id
GET/api/v1/browsing/screenshots/{task_id}/{filename}Download a screenshot file

Screenshot files are kept for up to 3 days, then deleted automatically.

See API Reference for request/response details.

Task IDs

Browsing tasks use prefix web: (e.g. web:550e8400-e29b-41d4-a716-446655440000).

Request body (summary)

Either task (natural language) or script (custom Python) is required.

{ "task": "Open https://example.com and summarize the page", "filter": { "country_iso": "DE" }, "screenshots": { "mode": "final_only", "full_page": true }, "fanout": 1, "timeout": 600000 }
FieldDescription
taskNatural-language instruction
scriptCustom Python snippet — requires API key permission; request access via chat in the dashboard 
filter.country_isoRoute to nodes in a country (e.g. DE, US)
session_keyGroup tasks into a shared session (max 128 chars)
timeoutClient timeout in ms (max 3 hours)
fanoutNumber of nodes to race (1–10, default 1)
screenshots.modefinal_only, every_step, or on_navigation
screenshots.full_pageFull-page capture (default true)
country_iso_excludeExclude countries; RU is added by default
uv_argsExtra Python packages for custom scripts

Status values

queuedassignedrunningcompleted | failed | cancelled

When status is completed, the status response includes success, payload, error, and execution_time_ms.

Custom scripts

For full Python script authoring, see Custom Scripts.