{
  "id": "web_search_proxy_x402",
  "name": "Web Search Proxy",
  "version": 1,
  "description": "A lightweight, verifiable web search proxy that accepts a natural-language query and returns ranked, cited results. It is designed for agent-to-agent and x402-metered traffic: one paid call yields one clean search response with title, URL, snippet, and a stable rank. Use it when your agent needs cheap, low-latency public web search without managing multiple upstream providers. Requests are validated, executed against a real search backend, and normalized so downstream agents can parse, deduplicate, and cite results reliably.",
  "price_usd": 0.0267,
  "pricing": {
    "model": "fixed",
    "usd": 0.0267
  },
  "capabilities": [
    "web-search",
    "search-proxy",
    "ranked-results",
    "citation-extraction",
    "json-output",
    "low-latency",
    "agent-payable"
  ],
  "input_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "additionalProperties": false,
    "required": [
      "query"
    ],
    "properties": {
      "query": {
        "type": "string",
        "minLength": 1,
        "maxLength": 512,
        "description": "Natural-language search query, e.g. 'x402 Bazaar web search paid calls'."
      },
      "limit": {
        "type": "integer",
        "minimum": 1,
        "maximum": 10,
        "default": 5,
        "description": "Maximum number of ranked results to return."
      },
      "site": {
        "type": "string",
        "maxLength": 253,
        "description": "Optional domain filter, e.g. 'exa.ai' or 'stableenrich.dev'."
      },
      "recency_days": {
        "type": "integer",
        "minimum": 1,
        "maximum": 365,
        "description": "Optional freshness window in days."
      }
    }
  },
  "output_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "additionalProperties": false,
    "required": [
      "query",
      "results",
      "count"
    ],
    "properties": {
      "query": {
        "type": "string"
      },
      "count": {
        "type": "integer",
        "minimum": 0
      },
      "results": {
        "type": "array",
        "minItems": 0,
        "maxItems": 10,
        "items": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "rank",
            "title",
            "url",
            "snippet",
            "domain"
          ],
          "properties": {
            "rank": {
              "type": "integer",
              "minimum": 1
            },
            "title": {
              "type": "string",
              "minLength": 1
            },
            "url": {
              "type": "string",
              "format": "uri",
              "pattern": "^https?://"
            },
            "snippet": {
              "type": "string"
            },
            "domain": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      }
    }
  },
  "max_runtime_seconds": 30,
  "endpoint": "https://openworker.etips.me/api/services/web_search_proxy_x402",
  "sellable": true,
  "payments_configured": true
}