{"name":"ZeroWorker Web Action API","version":"0.7.5","purpose":"Inspect public static HTML before browser automation: forms, field constraints, CAPTCHA/SPA/JS signals, DNS safety, and a 3-state routing verdict: http_candidate, browser_likely, or undetermined. No action execution or API key required. When enabled, try 10 successful live calls free once across HTTP/MCP; then $0.002 USDC per successful paid request via x402 on Base Mainnet. Starter policy: /anonymous-access-policy.","access":{"model":"starter_credits","enabled":true,"starterCredits":10,"recurring":false,"sharedTransports":["HTTP","MCP"],"successfulAnalysisConsumes":1,"errorsConsume":0,"credentialLocations":{"header":"X-ZeroWorker-Anonymous-Token","body":"access.clientToken"},"policy":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/anonymous-access-policy","exhausted":"Use existing x402 on Base Mainnet for $0.002 USDC per successful paid analysis.","unavailable":"When payments are enabled, the existing x402 challenge remains available; no free credit is granted.","feedbackCredits":false},"value":["Inspect static page actionability before paying the latency and cost of a full browser session.","Return deterministic machine-readable form actions, fields, labels, values, options, and constraints.","Expose CAPTCHA/SPA/JS-interaction signals and a three-state http_candidate / browser_likely / undetermined verdict for AI-agent routing decisions.","Reject private/special-use network targets and unsafe redirects under a conservative SSRF policy.","No service account or API key required; enabled starter credits cover the first 10 successful live calls, then x402 handles paid calls."],"useCases":["AI agent browser-vs-HTTP routing","Web automation preflight","Static form discovery and request planning","Browser-cost avoidance","Agent toolchain enrichment before interactive navigation"],"releaseStage":"mainnet-paid","freeSample":{"method":"GET","url":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=form","alternateUrl":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=spa","interactionUrl":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=interaction","undeterminedUrl":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=unknown","description":"Deterministic no-network samples showing http_candidate, browser_likely, undetermined, and client-driven interaction detection without payment."},"evidence":{"url":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/evidence","benchmarkId":"phase3-browser-routing-2026-09-26","generatedAt":"2026-09-26T11:42:30.630Z","scope":{"cases":20,"runsPerCase":5,"observations":100},"metrics":{"classificationAccuracyAgainstLockedLabels":0.95,"httpCandidatePrecisionAgainstLockedLabels":1,"dangerousUnderEscalations":0,"browserLaunchesAvoidedRate":0.3,"averagePreflightLatencyMs":470.6},"boundary":"Locked routing/navigation benchmark only; does not measure form-submission or end-to-end task success."},"pricing":{"enabled":true,"price":"$0.002","currency":"USDC","network":"eip155:8453","protocol":"x402 v2","settlement":"Payment settles only for a successful paid resource response; invalid/unsafe inputs and resource execution failures return without successful settlement.","contract":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/payment-policy"},"discovery":{"protocol":"x402 Bazaar","serviceName":"ZeroWorker Web Action API","tags":["preflight","forms","ai-agents","web-automation","browser-automation"],"llms":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/llms.txt","skill":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/SKILL.md","skillAlias":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/skill.md","securityTxt":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/.well-known/security.txt","robots":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/robots.txt","x402Manifest":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/.well-known/x402","note":"Bazaar is the official x402 discovery mechanism; the well-known endpoint is an additional convenience manifest."},"endpoints":{"health":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/health","demo":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/demo","products":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/products","sample":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=form","sampleSpa":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=spa","sampleInteraction":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=interaction","sampleUnknown":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/sample?case=unknown","quickstart":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/quickstart","buyer":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/buyer.mjs","buyerEnv":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/buyer.env.example","paymentPolicy":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/payment-policy","evidence":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/evidence","benchmark":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/benchmark","paid":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/preflight","openapi":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/openapi.json","llms":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/llms.txt","skill":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/SKILL.md","skillAlias":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/skill.md","securityTxt":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/.well-known/security.txt","robots":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/robots.txt","x402Manifest":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/.well-known/x402"},"safety":["Public HTTP(S) targets only","Literal IP, localhost/local hostnames, credentials, and non-standard ports are rejected","DNS A/AAAA resolution checked for non-public/private/link-local/special-use addresses","Every redirect target is URL-validated and DNS-rechecked before fetch","Public DNS is rechecked after fetch as defense in depth","Manual redirect validation","HTML size, DNS timeout, redirect, request-body, rate-limit, and upstream timeout limits","No form submission or page action is performed"],"family":{"name":"ZeroWorker","currentProduct":"web-action-api","products":[{"id":"web-action-api","name":"ZeroWorker Web Action API","url":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev","demo":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/demo","paidEndpoint":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/v1/preflight","useWhen":"Before browser automation: inspect static forms, SPA/CAPTCHA/JavaScript-interaction signals, and choose direct HTTP, browser escalation, or an undetermined route."},{"id":"mcp-preflight-api","name":"ZeroWorker MCP Preflight API","url":"https://zeroworker-mcp-preflight-api.zeroworker-lab.workers.dev","demo":"https://zeroworker-mcp-preflight-api.zeroworker-lab.workers.dev/demo","paidEndpoint":"https://zeroworker-mcp-preflight-api.zeroworker-lab.workers.dev/v1/analyze","useWhen":"Before an AI agent connects to a public MCP endpoint: inspect reachability/capability context, component evidence, OSV matches, and exploitation-priority enrichment."},{"id":"security-api","name":"ZeroWorker Security API","url":"https://zeroworker-security-api.zeroworker-lab.workers.dev","sample":"https://zeroworker-security-api.zeroworker-lab.workers.dev/v1/sample","paidEndpoint":"https://zeroworker-security-api.zeroworker-lab.workers.dev/v1/prioritize","useWhen":"When you already have CVE identifiers and want FIRST EPSS, CISA KEV, known-ransomware use, deterministic score, and tier enrichment."}]},"limitations":["Static initial HTML only; page JavaScript is not executed.","Use agentVerdict.verdict for the preferred three-state result; browserLikelyRequired is retained for compatibility and false can also mean undetermined.","Dynamic CSRF tokens, authenticated state, JavaScript event handlers, and anti-bot flows may still require a browser."],"x-zeroworker-mcp":{"endpoint":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/mcp","serverCard":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/mcp/server-card","guide":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/mcp-guide","registryMetadata":"https://zeroworker-web-action-api.zeroworker-lab.workers.dev/server.json","transport":"streamable-http","supportedProtocolVersions":["2025-11-25","2025-06-18","2025-03-26"]}}