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.
ASSESSMENT
updated 4h agoEvidence-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.
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-derivedA 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
AI-generated summary. The measured data is never altered by it.
ENDPOINTS
| 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 | $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 |
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.
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
RECENT CHECKS
OVER TIME
All charts share the 90d window selected here. Every series is also served as JSON at /api/v1/services/scrape402/price and /api/v1/services/scrape402/scores.
Median across 16 endpoints. Use the selector to isolate one.
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
<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>
[](https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed)
<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>