x402 List

x402 Protocol Service Directory

scrape402

Data

16 pay-per-call utility APIs for AI agents: web scraping and extraction (scrape, markdown, pdf, LLM structured extract), crypto market data (spot, OHLC candles with backtest ranges, order book, gas), FX rates, weather (current + historical), RSS-to-JSON, and data utilities. USDC micropayments on Base, no signup, no API keys. OpenAPI at /openapi.json, catalog at /.well-known/x402.

Pay from $0.002 to $0.01 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

UPTIME 24H 100% 7D 100% 30D 100%
BASE URL https://x402.shizu.me WEBSITE https://x402.shizu.me ENDPOINTS 16 NETWORK Base ASSET USDC MEMBER SINCE 2026-07-13 MONITORED SINCE 2026-07-13

ASSESSMENT

updated 4h ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 100%
uptime 24h
100%
uptime 7d
100%
uptime 30d
100%
uptime 90d
100%
response p95
143ms
avg response
80ms
total checks
11
compliance A (11/12)

11 of 12 x402 conformance checks pass. Full checklist below.

jump to compliance checklist

price $0.002 to $0.01 (p25 in Data)
price (min)
$0.002
price (max)
$0.01
category percentile (min)
p25 in Data
category percentile (max)
p44 in Data
endpoints / prices
16 / 6
model
tiered
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

WHAT IT DOES

ai-derived

A pay-per-call API service that provides various data extraction and information retrieval capabilities including web scraping, document conversion, and financial/crypto data. conf 90%

category
data-extraction-api conf 90%
in
mixed
auth
none
web-scrapingdocument-conversioncrypto-datafinancial-dataweathergeocodingrss-readingpdf-extraction

AI-generated summary. The measured data is never altered by it.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET
GET /candles $0.005 Base USDC
POST /convert $0.003 Base USDC
POST /count $0.002 Base USDC
GET /crypto $0.005 Base USDC
POST /extract $0.01 Base USDC
GET /fx $0.003 Base USDC
GET /gas $0.003 Base USDC
GET /geo $0.002 Base USDC
GET /markdown $0.004 Base USDC
GET /orderbook $0.004 Base USDC
GET /pdf $0.005 Base USDC
GET /rss $0.004 Base USDC
GET /scrape $0.006 Base USDC
GET /tz $0.002 Base USDC
POST /validate $0.002 Base USDC
GET /weather $0.003 Base USDC
16 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /candles returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://x402.shizu.me/candles'
// 402 response (captured by monitor) · 16 payloads · click to expand
[
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "4000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/markdown",
      "tags": [
        "webpage-to-markdown",
        "markdown",
        "html-to-markdown",
        "web-scraping",
        "content-extraction",
        "web",
        "llm"
      ],
      "mimeType": "application/json",
      "description": "Fetch any public web page and return its main content as clean Markdown, ready to feed to an LLM. Boilerplate (nav, ads, footers) stripped. Input: url (public http/https). Returns {url, markdown, word_count}.",
      "serviceName": "Webpage to Markdown"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "url": "https://example.com",
              "markdown": "# Example Domain\n\nThis domain is for use in illustrative examples...",
              "word_count": 28
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "url"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/pdf",
      "tags": [
        "pdf",
        "pdf-to-text",
        "document",
        "text-extraction",
        "data",
        "web"
      ],
      "mimeType": "application/json",
      "description": "Fetch a PDF by URL and extract its text as JSON. Input: url (public http/https pointing to a PDF). Returns {url, pages, word_count, text}. Bounded to the first 50 pages; 3 MB max.",
      "serviceName": "PDF to Text"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "url": "https://example.com/file.pdf"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "url": "https://example.com/file.pdf",
              "text": "Extracted text content of the PDF...",
              "pages": 3,
              "word_count": 412
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "url"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "15000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/extract",
      "tags": [
        "structured-extraction",
        "data-extraction",
        "web-scraping",
        "json",
        "llm",
        "content-extraction",
        "price-monitoring",
        "lead-enrichment",
        "web-data",
        "product-data"
      ],
      "mimeType": "application/json",
      "description": "Scrape a public web page and pull caller-specified fields back as clean JSON. Body: {url, fields:[...], instructions?}. 'fields' is a list of field names to extract (e.g. [\"price\",\"availability\",\"sku\"]); any field not found comes back null. Optional 'instructions' refines how to read the page. Returns {url, fields:{...}}. Common uses: product price/stock monitoring, lead enrichment from company pages, scraping job/listing details. Built on the /scrape extractor plus an LLM extraction pass.",
      "serviceName": "Structured Extract"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "url": "https://shop.example.com/widget-x",
              "fields": [
                "product_name",
                "price",
                "availability",
                "sku"
              ]
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "type": "json",
            "example": {
              "url": "https://shop.example.com/widget-x",
              "fields": {
                "sku": "WX-001",
                "price": "$24.99",
                "availability": "In stock",
                "product_name": "Widget X"
              }
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "url",
                    "fields"
                  ],
                  "properties": {
                    "url": {},
                    "fields": {}
                  }
                },
                "method": {
                  "const": "POST"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/weather",
      "tags": [
        "weather",
        "forecast",
        "temperature",
        "meteorology",
        "geolocation",
        "historical-weather",
        "backtesting",
        "time-series"
      ],
      "mimeType": "application/json",
      "description": "Weather for any coordinate. Current (default): temperature (C), relative humidity (%), wind speed, weather code — real-time. Historical: add start_date & end_date (YYYY-MM-DD, up to 92 days per call, archive lags ~5 days) for hourly history — backtest weather-sensitive strategies (energy, agriculture, logistics). Inputs: lat, lon, start_date?, end_date?. Keyless (Open-Meteo).",
      "serviceName": "Weather — Current & Historical"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "lat": "52.52",
              "lon": "13.40"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "lat": 52.52,
              "lon": 13.4,
              "current": {
                "weather_code": 1,
                "temperature_2m": 17.6,
                "wind_speed_10m": 12.3,
                "relative_humidity_2m": 48
              }
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "lat",
                    "lon"
                  ],
                  "properties": {
                    "lat": {
                      "type": "string"
                    },
                    "lon": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/crypto",
      "tags": [
        "crypto",
        "price",
        "bitcoin",
        "ethereum",
        "exchange-rate",
        "trading",
        "portfolio",
        "batch"
      ],
      "mimeType": "application/json",
      "description": "Current spot price for crypto trading pairs. Input: pair — a single pair (BTC-USD) or up to 10 comma-separated pairs (BTC-USD,ETH-USD,SOL-USD) returned in ONE call for the same price — poll a whole portfolio per tick. Returns amount and currency per pair. Real-time from Coinbase.",
      "serviceName": "Crypto Spot Price"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "pair": "BTC-USD"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "pair": "BTC-USD",
              "amount": "62542.005",
              "currency": "USD"
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "pair"
                  ],
                  "properties": {
                    "pair": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/candles",
      "tags": [
        "crypto",
        "ohlc",
        "candles",
        "technical-analysis",
        "backtesting",
        "market-data",
        "trading",
        "bitcoin"
      ],
      "mimeType": "application/json",
      "description": "Historical OHLC candles for a crypto pair (e.g. BTC-USD) — for technical analysis and backtesting. Query: pair; granularity (1m, 5m, 15m, 1h, 6h, 1d — default 1h); limit (1-300, default 100) for the latest window, OR start & end (ISO8601 or unix secs) for a backtest range paginated server-side up to 3000 candles — months of history in one call. Returns candles oldest->newest, each {t, o, h, l, c, v}. Real-time from Coinbase.",
      "serviceName": "Crypto OHLC Candles"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "end": "2026-02-01T00:00:00Z",
              "pair": "BTC-USD",
              "start": "2026-01-01T00:00:00Z",
              "granularity": "1h"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "pair": "BTC-USD",
              "count": 744,
              "candles": [
                {
                  "c": 62542,
                  "h": 62600,
                  "l": 62310.5,
                  "o": 62410.1,
                  "t": 1719763200,
                  "v": 118.3
                }
              ],
              "granularity": "1h"
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "pair",
                    "granularity",
                    "start",
                    "end"
                  ],
                  "properties": {
                    "end": {
                      "type": "string"
                    },
                    "pair": {
                      "type": "string"
                    },
                    "start": {
                      "type": "string"
                    },
                    "granularity": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "4000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/rss",
      "tags": [
        "rss",
        "atom",
        "feed",
        "news",
        "monitoring",
        "syndication",
        "xml-to-json",
        "content",
        "headlines"
      ],
      "mimeType": "application/json",
      "description": "Fetch any public RSS or Atom feed and return clean JSON: feed title plus items with title, link, published date, and plain-text summary (no XML parsing needed). Query: url (feed URL), limit (1-50, default 20). Use to monitor news, blogs, releases, changelogs, or podcasts on a schedule.",
      "serviceName": "RSS / Atom Feed Reader"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "url": "https://example.com/feed.xml"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "url": "https://example.com/feed.xml",
              "count": 2,
              "items": [
                {
                  "link": "https://example.com/post",
                  "title": "Post title",
                  "summary": "First lines...",
                  "published": "Mon, 07 Jul 2026 09:00:00 GMT"
                }
              ],
              "feed_title": "Example Blog"
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "url"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/gas",
      "tags": [
        "gas",
        "gas-price",
        "ethereum",
        "base",
        "evm",
        "blockchain",
        "transaction-fees",
        "eip1559",
        "onchain",
        "web3"
      ],
      "mimeType": "application/json",
      "description": "Current gas prices for Base or Ethereum mainnet: legacy gas price, EIP-1559 base fee and suggested priority fee (all gwei), plus the latest block number. Query: chain (base | ethereum, default base). Real-time from public RPC. Use to time on-chain transactions, estimate costs, and monitor fee spikes.",
      "serviceName": "EVM Gas Price Oracle"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "chain": "base"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "block": 27100000,
              "chain": "base",
              "base_fee_gwei": 0.008,
              "gas_price_gwei": 0.012,
              "priority_fee_gwei": 0.001
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "chain"
                  ],
                  "properties": {
                    "chain": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/fx",
      "tags": [
        "fx",
        "forex",
        "exchange-rate",
        "currency",
        "usd",
        "eur",
        "finance",
        "ecb",
        "conversion"
      ],
      "mimeType": "application/json",
      "description": "Foreign-exchange rates for 30+ fiat currencies (ECB reference data). Query: base (3-letter code, default USD), symbols (optional comma list, e.g. EUR,GBP,JPY), date (optional YYYY-MM-DD for historical rates back to 1999). Returns {base, date, rates}. Use for currency conversion, international pricing, and FX monitoring.",
      "serviceName": "Fiat Exchange Rates"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "base": "USD",
              "symbols": "EUR,GBP,JPY"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "base": "USD",
              "date": "2026-07-07",
              "rates": {
                "EUR": 0.851,
                "GBP": 0.734,
                "JPY": 144.1
              }
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "base",
                    "symbols"
                  ],
                  "properties": {
                    "base": {
                      "type": "string"
                    },
                    "symbols": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/validate",
      "tags": [
        "validation",
        "luhn",
        "credit-card",
        "iban",
        "email",
        "json-schema"
      ],
      "mimeType": "application/json",
      "description": "Validate a value. Body: {type, value, schema?}. type = luhn (credit-card number), iban (bank account), email, or json_schema (validate value against a provided JSON Schema). Returns {valid, ...}.",
      "serviceName": "Value Validator"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "type": "email",
              "value": "[email protected]"
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "type": "json",
            "example": {
              "type": "email",
              "valid": true
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "type",
                    "value"
                  ],
                  "properties": {
                    "type": {},
                    "value": {}
                  }
                },
                "method": {
                  "const": "POST"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/tz",
      "tags": [
        "timezone",
        "time",
        "datetime",
        "iana",
        "conversion"
      ],
      "mimeType": "application/json",
      "description": "Convert a timestamp between IANA timezones. Inputs: from, to (e.g. UTC, America/New_York), time? (ISO8601, default now). Returns input/converted timestamps and UTC offset.",
      "serviceName": "Timezone Converter"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "to": "America/New_York",
              "from": "UTC"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "to": "America/New_York",
              "from": "UTC",
              "input": "2026-06-11T15:45:58+00:00",
              "converted": "2026-06-11T11:45:58-04:00",
              "utc_offset": "-0400"
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "from",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/geo",
      "tags": [
        "geo",
        "distance",
        "haversine",
        "geohash",
        "coordinates"
      ],
      "mimeType": "application/json",
      "description": "Geospatial computation. op=distance (lat1,lon1,lat2,lon2 -> km and miles) or op=geohash (lat,lon,precision? -> geohash string). Inputs as query params.",
      "serviceName": "Geospatial Compute"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "op": "distance",
              "lat1": "0",
              "lat2": "1",
              "lon1": "0",
              "lon2": "1"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "km": 157.2494,
              "op": "distance",
              "miles": 97.7102
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "op",
                    "lat1",
                    "lon1",
                    "lat2",
                    "lon2"
                  ],
                  "properties": {
                    "op": {
                      "type": "string"
                    },
                    "lat1": {
                      "type": "string"
                    },
                    "lat2": {
                      "type": "string"
                    },
                    "lon1": {
                      "type": "string"
                    },
                    "lon2": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "4000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/orderbook",
      "tags": [
        "crypto",
        "orderbook",
        "bid-ask",
        "spread",
        "market-data",
        "trading",
        "liquidity",
        "market-microstructure",
        "bitcoin"
      ],
      "mimeType": "application/json",
      "description": "Live order book for a crypto pair (e.g. BTC-USD). Default level=1: best bid/ask with sizes, mid price, spread, and spread_bps. level=2 adds top-of-book depth (depth param, 1-50 price levels per side, default 20). Real-time from Coinbase. Use for trading signals, spread monitoring, liquidity checks, and execution decisions.",
      "serviceName": "Crypto Order Book"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "pair": "BTC-USD"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "ask": [
                62541.8,
                0.3
              ],
              "bid": [
                62540.2,
                0.5
              ],
              "mid": 62541,
              "pair": "BTC-USD",
              "level": 1,
              "spread": 1.6,
              "spread_bps": 0.256
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "pair"
                  ],
                  "properties": {
                    "pair": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "6000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/scrape",
      "tags": [
        "web-scraping",
        "content-extraction",
        "html-to-text",
        "article",
        "readability",
        "markdown"
      ],
      "mimeType": "application/json",
      "description": "Fetch any public web page and return clean main content as JSON: title, author, publish date, hostname, excerpt, full text, and word_count. Boilerplate (nav, ads, footers) is stripped. Input: url (public http/https). Use to read articles, docs, or pages and feed clean text to an LLM.",
      "serviceName": "Web Page Scraper"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "url": "https://example.com",
              "date": null,
              "text": "Example Domain. This domain is for use in illustrative examples...",
              "title": "Example Domain",
              "author": null,
              "hostname": "example.com",
              "word_count": 19
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "method": {
                  "const": "GET"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "url"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/count",
      "tags": [
        "tokens",
        "tokenizer",
        "tiktoken",
        "llm",
        "gpt",
        "context-window"
      ],
      "mimeType": "application/json",
      "description": "Exact token count for text using OpenAI tokenizers. Body: {text, encoding?} where encoding is cl100k_base or o200k_base (default). Returns tokens and char_count. Use to budget prompts and context windows.",
      "serviceName": "LLM Token Counter"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "text": "hello world",
              "encoding": "o200k_base"
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "type": "json",
            "example": {
              "tokens": 2,
              "encoding": "o200k_base",
              "char_count": 11
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "text",
                    "encoding"
                  ],
                  "properties": {
                    "text": {},
                    "encoding": {}
                  }
                },
                "method": {
                  "const": "POST"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://x402.shizu.me/convert",
      "tags": [
        "data",
        "convert",
        "csv",
        "json",
        "yaml",
        "etl"
      ],
      "mimeType": "application/json",
      "description": "Convert structured data between csv, json, and yaml. Body: {data, from, to}. Returns the converted result. Use for data wrangling and format normalization.",
      "serviceName": "Data Format Converter"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "to": "yaml",
              "data": "[{\"a\":1,\"b\":2}]",
              "from": "json"
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "type": "json",
            "example": {
              "to": "yaml",
              "from": "json",
              "result": "- a: 1\n  b: 2\n"
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "method"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "data",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "to": {},
                    "data": {},
                    "from": {}
                  }
                },
                "method": {
                  "const": "POST"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  }
]

UPTIME

07-13 · uptime 100.0% · 102ms avg07-1307-13
RESPONSE TIME
07-13 · 102ms avg07-13 · 102ms avg07-1307-13
30d UPTIME 100%
UPTIME 30D 100%
AVG RESP 103ms
TOTAL CHECKS 24

RECENT CHECKS

TIME STATUS RESP
● OK 132ms
● OK 103ms
● OK 96ms
● OK 142ms
● OK 83ms
● OK 141ms
● OK 102ms
● SLOW 174ms
● OK 150ms
● SLOW 160ms
● OK 94ms
● OK 140ms
● OK 88ms
● OK 105ms
● OK 110ms
● OK 113ms
● OK 27ms
● OK 143ms

OVER TIME

All charts share the 30d window selected here. Every series is also served as JSON at /api/v1/services/scrape402/price and /api/v1/services/scrape402/scores.

PRICE (captured 402, USD)
building price history ($0.0035)

Median across 16 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
building assessment history (1 day so far)
VOLUME
On-chain settlement volume is a phase 2 signal. Not measured yet, shown here rather than faked.
DISTINCT BUYERS
Distinct on-chain buyers is a phase 2 signal. Not measured yet, shown here rather than faked.

COMPLIANCE

11/12 checks pass · grade A
  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • response mimeType declared
  • served over HTTPS

EMBED THIS BADGE

Show that scrape402 is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

scrape402 listed on x402-list
status
scrape402 uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/scrape402.svg" alt="scrape402 listed on x402-list" height="28">
</a>
// Markdown
[![scrape402 on x402-list](https://x402-list.com/badge/scrape402.svg)](https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/scrape402.svg?data=uptime" alt="scrape402 uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]