# ScrapeMole Web Search

> ScrapeMole Web Search is a paid API for AI agents from search.scrapemole.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-19).

Returns ranked web search results (title, URL, snippet, domain, position) for a given query, sourced live from public search engines with automatic fallbacks.

## Facts

- Endpoint: GET https://search.scrapemole.workers.dev/v1/web?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scrapemole-web-search-c518ffcd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_K6UN4o2SFdM0tQE1DDjZ3

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 scrapemole-web-search-c518ffcd
```

Example prompt: Search the web for 'open source LLM benchmarks 2025' and give me the top 10 results with titles, URLs, and snippets — use the en-US market and moderate safe search.

## When to prefer this

Choose this endpoint when you need anonymous, pay-per-call web search without registering for API keys or accounts. It is ideal for AI agents that need live web results infrequently or unpredictably, since you only pay $0.001 USDC per successful call and failed/empty calls are free. Prefer it over traditional search APIs when you want zero setup friction, built-in source fallbacks, and transparent sourcing in each response.

## Known failure modes

- Empty result set if the query returns no matches (not charged)
- All upstream search sources unavailable (call fails, not charged)
- Query exceeds 400 characters (rejected client-side)
- Invalid market locale format (may fall back to default en-US)
- Page number out of range 1-5 returns empty or error

## How this service works

Pay-per-call search for agents: web search results (title, URL, snippet, domain, position; up to 20 per call, markets, safe search, paging), news search (headline, direct URL, publisher, published time, image; sort by date, freshness hour/day/week/month) and search autocomplete suggestions. Live from public search pages and feeds with automatic fallbacks (Bing RSS, Brave Search, Mwmbl, Google suggest, DuckDuckGo); every response names the source used. No keys, no accounts. USDC via x402; failed and empty calls are never charged.

Payments: x402 v2, scheme "exact", USDC on Base (eip155:8453). The payment is verified before the work and settled only when the response is 200. Terms: https://search.scrapemole.workers.dev/terms

## Output

A JSON object containing the query echo, page number, result count, the source engine used (e.g. 'Bing (public RSS search results)'), a sourceUrl, and an array of results each with position, title, URL, domain, and snippet.

## Request schema (JSON Schema)

```json
{
 "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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "examples": [
        "x402 payment protocol"
       ],
       "description": "Search query (max 400 chars). Operators like site:example.com, \"exact phrase\", -word work."
      },
      "page": {
       "type": "string",
       "default": "1",
       "description": "Result page (1-5); each page is \"count\" results."
      },
      "safe": {
       "enum": [
        "strict",
        "moderate",
        "off"
       ],
       "type": "string",
       "default": "moderate",
       "description": "Safe search level."
      },
      "count": {
       "type": "string",
       "default": "10",
       "description": "Number of results (1-20)."
      },
      "market": {
       "type": "string",
       "default": "en-US",
       "description": "Market/locale as language-COUNTRY, e.g. en-US, en-GB, de-DE, fr-FR, ja-JP (applied on the Bing source)."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "page": 1,
  "count": 2,
  "query": "x402 payment protocol",
  "source": "Bing (public RSS search results)",
  "results": [
   {
    "url": "https://www.x402.org/",
    "title": "x402 - Payment Required",
    "domain": "x402.org",
    "snippet": "x402 is an open payment standard that enables services to charge for access to their APIs and content directly over HTTP…",
    "position": 1
   },
   {
    "url": "https://github.com/coinbase/x402",
    "title": "coinbase/x402: A payments protocol for the internet. Built on HTTP.",
    "domain": "github.com",
    "snippet": "x402 payments protocol…",
    "position": 2
   }
  ],
  "sourceUrl": "https://www.bing.com/search?q=x402%20payment%20protocol"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scrapemole-web-search-c518ffcd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from search.scrapemole.workers.dev](https://www.zero.xyz/host/search.scrapemole.workers.dev/llms.txt)
