# AGISHub Browser Automation

> AGISHub Browser Automation is a paid API for AI agents from api.agishub.com, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-16).

Drives a headless browser to open a URL and execute an ordered sequence of actions (click, type, press keys, wait, extract text, screenshot) for automating multi-step or login-gated web flows.

## Facts

- Endpoint: GET https://api.agishub.com/v1/browser-automate
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agishub-browser-automation-404089e0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8uivdu5rKbDlOn7TcDgdR

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agishub-browser-automation-404089e0
```

Example prompt: Go to https://example.com/login, click the username field with selector '#username', type 'myuser', click '#password', type 'mypass', press Enter, then wait 2000ms for the dashboard to load and extract the text from '.dashboard-summary', and take a final screenshot.

## When to prefer this

Choose this endpoint when a plain HTTP scraper cannot reach the content — specifically for pages that require login, form interaction, JavaScript rendering, pagination clicks, or multi-step user flows. It is superior to static scrapers for dynamic single-page apps, authenticated portals, and any workflow requiring typed input or button clicks. Prefer it over static fetch-based scrapers whenever the target page requires user interaction to reveal content.

## Known failure modes

- Page fails to load or times out — network error or invalid URL returns error response
- CSS selector not found on page — action step fails with selector-not-found error
- Login or CAPTCHA challenge blocks headless browser — authentication step may fail silently
- JavaScript-heavy pages not fully rendered within wait time — extracted text may be empty or incomplete
- Exceeded 20-step limit — request rejected with validation error
- Invalid step action enum value — schema validation error returned
- Screenshot disabled by default — must explicitly set screenshot:true to receive image

## How this service works

Drive a headless browser: open a URL and run an ordered list of steps — click, type, press keys, wait, extract text and screenshot. For flows the plain scraper can't reach (logins, forms, multi-step pages).

## Output

A JSON object containing the results of each step — extracted text strings from extract_text actions, and optionally a base64-encoded PNG screenshot of the final page state. Step results are returned in order corresponding to the input steps array.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input",
  "output"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "enum": [
      "http"
     ],
     "type": "string"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri",
       "description": "Starting URL to open in a headless browser."
      },
      "steps": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "action"
        ],
        "properties": {
         "ms": {
          "type": "integer",
          "maximum": 10000,
          "minimum": 0,
          "description": "Milliseconds to wait (wait, when no selector given)."
         },
         "text": {
          "type": "string",
          "description": "Text to type (type), or key to press (press, e.g. 'Enter')."
         },
         "action": {
          "enum": [
           "click",
           "type",
           "press",
           "wait",
           "extract_text",
           "screenshot"
          ],
          "type": "string",
          "description": "What to do."
         },
         "selector": {
          "type": "string",
          "description": "CSS selector (for click/type/wait-for/extract_text)."
         }
        },
        "additionalProperties": false
       },
       "maxItems": 20,
       "description": "Ordered actions to perform after the page loads."
      },
      "screenshot": {
       "type": "boolean",
       "description": "Also return a final full-page PNG screenshot (base64)."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type",
    "example"
   ],
   "properties": {
    "type": {
     "enum": [
      "json"
     ],
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": "Drive a headless browser: open a URL and run an ordered list of steps — click, type, press keys, wait, extract text and "
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agishub-browser-automation-404089e0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.agishub.com](https://www.zero.xyz/host/api.agishub.com/llms.txt)
