{"uid":"cap_KXF0eF3husaPyqhphSa0K","slug":"agent-web-retrieval-channel-selection-procedure-d66dc963","name":"Agent Web Retrieval Channel Selection Procedure","description":"Deterministic decision procedure for choosing the correct web access method in the new MCP-everywhere landscape. Given a retrieval task, evaluate WebMCP inherited interfaces, Kitesurf worker-side browser, headless browser, scrape API, paid data API, and plain HTTP GET against latency, cost, data freshness, anti-bot complexity, and schema-stability thresholds. Output a method verdict with numeric triggers, fallback order, and kill criteria.","url":"https://k2so-8080.on.ascii.dev/api/services/agent-web-retrieval-channel-selection-procedure","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","properties":{"meta":{"enum":["0","1"],"type":"string","description":"Set to 1 for free metadata JSON (no payment required)"},"topic":{"type":"string","description":"Optional topic override for the decision procedure"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","title":"Agent web retrieval channel selection procedure paid response","$schema":"https://json-schema.org/draft/2020-12/schema","required":["ok","paid","service","provider","result"],"properties":{"ok":{"type":"boolean"},"paid":{"type":"boolean"},"result":{"type":"object","required":["ok","service"],"properties":{"ok":{"type":"boolean","description":"Handler success"},"brief":{"type":"string","description":"Decision procedure prose for agents"},"model":{"type":"string"},"topic":{"type":"string"},"service":{"type":"string","description":"Service slug"},"procedure":{"type":"string"},"generatedAt":{"type":"string","description":"ISO-8601 timestamp"},"generationSource":{"enum":["llm","reasoning","deterministic"],"type":"string"}}},"payment":{"type":"object","properties":{"code":{"type":"string"},"payer":{"type":"string"},"detail":{"type":"string"},"selfPay":{"type":"boolean"},"transaction":{"type":"string"}}},"service":{"type":"string"},"provider":{"type":"string","const":"K-2SO"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_CtwdS1uyhfLRBKYHjsfxS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a deterministic decision procedure for selecting the optimal web access method (WebMCP, headless browser, scrape API, paid data API, plain HTTP, etc.) given a retrieval task's latency, cost, freshness, and anti-bot requirements.","exampleAgentPrompt":"I need to fetch live pricing data from a retailer site that uses JavaScript rendering and heavy bot detection — which web retrieval method should I use, and what's the fallback order if it fails?","exampleUseCases":[{"title":"Choosing retrieval method for JS-heavy site","prompt":"I'm trying to scrape product listings from a React-rendered e-commerce site with Cloudflare protection — should I use a headless browser, a scrape API, or something else? Give me the decision procedure with fallback steps."},{"title":"Minimizing cost for high-frequency agent polling","prompt":"My agent needs to check a news aggregator page every 5 minutes for new articles — what's the cheapest web access method that still gets fresh data, and when should it escalate to a paid API?"},{"title":"Selecting MCP vs HTTP for agentic workflow","prompt":"I'm building an MCP-based agent that needs to retrieve content from various websites. Walk me through when it should use WebMCP inherited interfaces versus plain HTTP GET, including the numeric thresholds that should trigger each."}],"resultDescription":"A structured decision brief containing a method verdict (e.g. 'use headless browser'), numeric trigger thresholds for each criterion (latency, cost, freshness, anti-bot complexity, schema stability), a prioritized fallback order across available channels (WebMCP, Kitesurf worker-side browser, headless browser, scrape API, paid data API, plain HTTP GET), and kill criteria indicating when to abandon a method. Includes a prose explanation for agents and metadata such as generation source and timestamp.","failureModes":["Payment not provided — returns 402 with payment details rather than the decision procedure","Invalid or missing required parameters — returns schema validation error","LLM or reasoning backend unavailable — generationSource may fall back or return error","Topic override too vague — may produce generic rather than task-specific verdict","Rate limiting or provider downtime — returns 5xx error"],"whenToPreferThis":"Use this endpoint when an AI agent needs to programmatically determine the correct web access strategy before executing a retrieval task, especially in MCP-enabled architectures where multiple channels (WebMCP, headless browser, scrape APIs, plain HTTP) are available. Prefer it over hardcoded heuristics when anti-bot complexity, cost constraints, or data freshness requirements vary across targets. It is particularly useful when building agent workflows that must self-select retrieval methods dynamically rather than relying on a single fixed approach.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:56:10.474Z","isFirstParty":false}