{
 "id": "e2cb432d5441",
 "url": "https://402.com.tr/api/x402/web-extract",
 "host": "402.com.tr",
 "method": "GET",
 "type": "http",
 "x402Version": 2,
 "scheme": "exact",
 "network": "eip155:8453",
 "net": "base",
 "testnet": false,
 "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
 "price_atomic": "10000",
 "price_usd": 0.01,
 "band": "1c-10c",
 "payTo": "0x973a31858f4d2125f48c880542da11a2796f12d6",
 "networks": [
  "eip155:8453",
  "eip155:137"
 ],
 "description": "Pass up to 5 URLs (comma-separated) and get each page back as clean text with its title. Renders pages that build their content in the browser, which a plain server-side fetch cannot read at all — so it covers the SPAs, dashboards and app pages that url-extract deliberately refuses. Returns partial success: pages that fail come back in a `failed` list with the reason, and a call where every URL fails is not charged. For a single static page, url-extract is cheaper.",
 "serviceName": "Batch Page Reader",
 "tags": [
  "web",
  "scraping",
  "extraction",
  "content",
  "extract"
 ],
 "mimeType": null,
 "iconUrl": null,
 "bazaar": {
  "info": {
   "input": {
    "method": "GET",
    "pathParams": {},
    "queryParams": {
     "urls": "https://a.com/post, https://b.com/docs"
    },
    "type": "http"
   },
   "output": {
    "type": "json",
    "example": {
     "checkedAt": "2026-09-03T11:49:59.503Z",
     "failedCount": 0,
     "pageCount": 1,
     "pagesCount": 1,
     "requested": 1,
     "upstreamMs": 700
    }
   }
  },
  "has_schema": true
 },
 "quality": {
  "calls30": 2,
  "payers30": 1,
  "lastCalledAt": "2026-09-04T04:56:49.091Z"
 },
 "catalogs": [
  {
   "name": "cdp",
   "lastUpdated": "2026-09-04T04:56:49.567Z",
   "seen_at": "2026-09-30T23:10:40.669Z"
  }
 ],
 "catalog_names": [
  "cdp"
 ],
 "first_seen_catalog": "2026-09-04T04:56:49.567Z",
 "last_updated_catalog": "2026-09-04T04:56:49.567Z",
 "first_seen": "2026-09-30",
 "templated": false,
 "category": "scrape/browser",
 "probe": {
  "at": "2026-09-30T23:55:49.458Z",
  "head_status": 402,
  "get_status": 402,
  "is_402": true,
  "status": "live",
  "body_json": true,
  "has_accepts": true,
  "accepts_count": 1,
  "accepts0": {
   "scheme": "exact",
   "network": "eip155:8453",
   "amount": "10000",
   "payTo": "0x973a31858f4d2125f48c880542da11a2796f12d6",
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "maxTimeoutSeconds": 300,
   "extra": {
    "name": "USD Coin",
    "version": "2"
   }
  },
  "price_matches_catalog": true,
  "payto_matches_catalog": true,
  "x402Version": 2,
  "has_bazaar_ext": true,
  "has_payment_required_header": true,
  "mpp_header": null,
  "channel": "header+body",
  "content_type": "application/json",
  "latency_ms": 2628,
  "error": null,
  "cors": "*",
  "ratelimit_headers": false,
  "server": "Vercel",
  "error_text": "Payment required",
  "resource_url_in_402": "https://402.com.tr/api/x402/web-extract"
 },
 "onchain": {
  "resolved": true,
  "source": "forensics-2026-09-30",
  "payers": 25,
  "payments": 34,
  "usd": 0.656,
  "median_usd": 0.02,
  "first": "2026-06-28T17:13:11.000000Z",
  "last": "2026-09-30T21:32:23.000000Z",
  "sampler_share": 1,
  "non_sampler_payers": 0,
  "is_contract": true,
  "name": null
 },
 "status": "live",
 "valid_402": true,
 "dead": false,
 "verdict": "live",
 "live_reprobe": null,
 "featured": null,
 "page": "https://bazaar.agentexchange.work/r/e2cb432d5441",
 "seller": "https://bazaar.agentexchange.work/seller/402.com.tr",
 "seller_json": "https://bazaar.agentexchange.work/seller/402.com.tr.json",
 "paid": {
  "probe_now": {
   "url": "https://bazaar.agentexchange.work/r/e2cb432d5441/probe.json",
   "price_usd": 0.01,
   "protocol": "x402"
  },
  "feature": {
   "url": "https://bazaar.agentexchange.work/featured",
   "method": "POST",
   "body": {
    "id": "e2cb432d5441"
   },
   "price_usd": 1,
   "protocol": "x402"
  }
 },
 "license": "CC BY 4.0"
}