{"openapi":"3.1.0","info":{"title":"fetcher.cloud","version":"1.1.0","description":"Pay-per-call tools AI agents can't run themselves: render/screenshot JavaScript pages, extract and unfurl content, parse feeds, resolve links, and look up domains, DNS, IPs, SSL, and more. Paid with x402 (USDC on Base or Solana); every tool has a free daily tier.","contact":{"url":"https://fetcher.cloud"}},"servers":[{"url":"https://api.fetcher.cloud"}],"paths":{"/domain":{"get":{"operationId":"domain","summary":"Real-time domain availability across TLDs via RDAP. Returns availability, registrar, expiry, and status.","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"Domain label without TLD."},{"name":"tlds","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated TLDs."},{"name":"format","in":"query","required":false,"schema":{"type":"string"},"description":"json | text"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.004 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/domain/enriched":{"get":{"operationId":"domain_enriched","summary":"Domain availability plus DNS (live site / mail / SPF / DMARC), domain age, and Wayback Machine history — for vetting a domain before buying.","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"tlds","in":"query","required":false,"schema":{"type":"string"},"description":"Up to 5 comma-separated TLDs."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.01 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/resolve":{"get":{"operationId":"resolve","summary":"Follow a URL's full redirect chain and return the final destination, every hop, and final-page metadata. Unwraps short links, tracking URLs, and redirectors.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"metadata","in":"query","required":false,"schema":{"type":"string"},"description":"true|false"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.003 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/extract":{"get":{"operationId":"extract","summary":"Clean content extraction — returns a page's main article as Markdown + text with metadata, headings, links, and reading time. Boilerplate stripped. Built for RAG / agent ingestion.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"mode","in":"query","required":false,"schema":{"type":"string"},"description":"markdown | text | full"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.005 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/render":{"get":{"operationId":"render","summary":"Full headless-browser render (real Chromium) of JavaScript-heavy pages. Returns fully-rendered HTML, visible text, and optional screenshot — the thing plain fetch() can't do.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"screenshot","in":"query","required":false,"schema":{"type":"string"},"description":"true|false"},{"name":"full_page","in":"query","required":false,"schema":{"type":"string"},"description":""},{"name":"wait_until","in":"query","required":false,"schema":{"type":"string"},"description":""}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.02 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/screenshot":{"get":{"operationId":"screenshot","summary":"Screenshot of a page (real Chromium) as a base64 PNG/JPEG. Lighter than /render when you only need the image.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"full_page","in":"query","required":false,"schema":{"type":"string"},"description":""},{"name":"width","in":"query","required":false,"schema":{"type":"string"},"description":""},{"name":"height","in":"query","required":false,"schema":{"type":"string"},"description":""},{"name":"format","in":"query","required":false,"schema":{"type":"string"},"description":"png|jpeg"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.02 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/unfurl":{"get":{"operationId":"unfurl","summary":"Link preview card for any URL — title, description, image, site name, favicon (OpenGraph/Twitter).","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.003 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/feed":{"get":{"operationId":"feed","summary":"Discover and parse a site's RSS/Atom feed into clean JSON items (title, link, date, summary).","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"Max items (default 20)."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.003 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/oembed":{"get":{"operationId":"oembed","summary":"Rich embed data (oEmbed) for a media URL — YouTube, Vimeo, Twitter/X, Spotify, TikTok, SoundCloud, and more.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.002 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/favicon":{"get":{"operationId":"favicon","summary":"Find a site's best icon/logo — declared <link> icons, apple-touch-icon, og:image, with fallbacks.","parameters":[{"name":"host","in":"query","required":true,"schema":{"type":"string"},"description":"Domain/hostname."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.002 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/robots":{"get":{"operationId":"robots","summary":"Fetch and parse robots.txt; answer whether a given user-agent may crawl a given path, and list sitemaps.","parameters":[{"name":"host","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"path","in":"query","required":false,"schema":{"type":"string"},"description":"Path to test (default /)."},{"name":"user_agent","in":"query","required":false,"schema":{"type":"string"},"description":""}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.002 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/headers":{"get":{"operationId":"headers","summary":"Return a URL's HTTP response headers plus a security-header analysis (HSTS, CSP, X-Frame-Options, etc.) with a score.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":""}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.002 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/dns":{"get":{"operationId":"dns","summary":"Full DNS record dump for a hostname (A, AAAA, MX, NS, TXT, SOA, CAA, CNAME) with quick signals.","parameters":[{"name":"host","in":"query","required":true,"schema":{"type":"string"},"description":"Hostname to resolve."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.003 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/ssl":{"get":{"operationId":"ssl","summary":"TLS certificate details for a host via Certificate Transparency logs — issuer, validity window, days-to-expiry, and SANs.","parameters":[{"name":"host","in":"query","required":true,"schema":{"type":"string"},"description":"Domain/hostname."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.004 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/whois":{"get":{"operationId":"whois","summary":"Deep registration record for one domain (via RDAP) — registrar, dates, statuses, nameservers, DNSSEC.","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string"},"description":"Full domain, e.g. example.com."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.005 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/pdf-text":{"get":{"operationId":"pdftext","summary":"Extract text + metadata from a PDF URL (text-based PDFs). Agents can't open binaries; scanned-PDF OCR is a documented v2.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"URL of a PDF."},{"name":"max_pages","in":"query","required":false,"schema":{"type":"string"},"description":""}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.01 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/qr":{"get":{"operationId":"qr","summary":"Generate a QR code (SVG) for any text or URL, with selectable error-correction.","parameters":[{"name":"data","in":"query","required":true,"schema":{"type":"string"},"description":"Text/URL to encode."},{"name":"ecc","in":"query","required":false,"schema":{"type":"string"},"description":"L|M|Q|H"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.002 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/diff":{"get":{"operationId":"diff","summary":"Compare two pages (or one page vs its latest Wayback snapshot) and return what changed, with a similarity score.","parameters":[{"name":"url_a","in":"query","required":true,"schema":{"type":"string"},"description":""},{"name":"url_b","in":"query","required":false,"schema":{"type":"string"},"description":"If omitted, compares vs latest Wayback snapshot."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required — pay $0.008 in USDC on Base or Solana via x402, then retry.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"x-payment":{"protocol":"x402","asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"note":"First unpaid call returns HTTP 402 with machine-readable terms. Free daily tier applies before payment."},"x-mcp":{"endpoint":"https://api.fetcher.cloud/mcp","transport":"streamable-http"}}