{"openapi":"3.0.3","info":{"title":"OnlyBots Reader","version":"1.0.0","contact":{"email":"human@onlybots.shop","url":"https://onlybots.shop"},"x-guidance":"Call GET /read?url=<page> for clean markdown; expect HTTP 402 with x402 v2 payment requirements (USDC on Base, eip155:8453), sign and retry with PAYMENT-SIGNATURE. Use /read-js for JS-heavy pages, /shot for a PNG screenshot, /read-pdf for PDFs. /demo is free and returns a truncated sample.","description":"Token-efficient web reader for AI agents. URL in, clean boilerplate-free article markdown out with a token count header — typically 10-30x fewer tokens than raw HTML. Paid per call via x402 (USDC on Base mainnet), no accounts, no API keys. Free /demo endpoint returns a truncated sample."},"servers":[{"url":"https://x402.onlybots.shop"},{"url":"https://read.onlybots.shop"}],"paths":{"/read":{"get":{"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"summary":"Read a web page as clean markdown ($0.002 USDC via x402)","description":"Token-efficient web reader: URL in, clean deduplicated article markdown out, with token count header. Boilerplate, nav, ads stripped — typically 10-30x fewer tokens than raw HTML. For AI agents that pay per token.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"URL of the web page to read"}],"responses":{"200":{"description":"Extracted article","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"title":{"type":"string"},"byline":{"type":"string","nullable":true},"markdown":{"type":"string"},"token_estimate":{"type":"integer"},"chars":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}}}}}},"402":{"description":"Payment required (x402 v2 exact scheme, USDC on Base eip155:8453)"}}}},"/read-js":{"get":{"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"summary":"Read a JS-rendered page as clean markdown ($0.005 USDC via x402)","description":"Token-efficient web reader (JS-rendered): headless-browser version for SPAs and JS-heavy pages. URL in, clean article markdown out with token count.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"URL of the web page to read"}],"responses":{"200":{"description":"Extracted article","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"title":{"type":"string"},"byline":{"type":"string","nullable":true},"markdown":{"type":"string"},"token_estimate":{"type":"integer"},"chars":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}}}}}},"402":{"description":"Payment required (x402 v2 exact scheme, USDC on Base eip155:8453)"}}}},"/shot":{"get":{"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.004"},"protocols":[{"x402":{}}]},"summary":"Screenshot a web page as PNG ($0.004 USDC via x402)","description":"Screenshot API: URL in, PNG out. Headless-browser render of any public web page — viewport or full-page (full=1), width configurable (320-1920). For AI agents that need to see a page, not just read it.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"URL of the web page to read"},{"name":"full","in":"query","required":false,"schema":{"type":"string","enum":["1"]},"description":"1 = full-page screenshot (default: 1280x800 viewport)"},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":320,"maximum":1920},"description":"viewport width in px (default 1280)"}],"responses":{"200":{"description":"PNG image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"402":{"description":"Payment required (x402 v2 exact scheme, USDC on Base eip155:8453)"}}}},"/read-pdf":{"get":{"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.004"},"protocols":[{"x402":{}}]},"summary":"Read a PDF as clean text ($0.004 USDC via x402)","description":"PDF reader: PDF URL in, clean extracted text out with page count, title and token count. Reads the documents the web reader can't — papers, reports, invoices, docs. Same token-efficient JSON shape as /read.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"URL of the PDF to read"}],"responses":{"200":{"description":"Extracted text with title, pages, token count","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string","nullable":true},"author":{"type":"string","nullable":true},"pages":{"type":"integer","nullable":true},"markdown":{"type":"string"},"token_estimate":{"type":"integer"},"chars":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}}}}}},"402":{"description":"Payment required (x402 v2 exact scheme, USDC on Base eip155:8453)"}}}},"/search":{"get":{"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"summary":"Web search for agents ($0.003 USDC via x402)","description":"Web search for AI agents: query in, ranked results out (title, URL, snippet) as clean JSON. Sovereign metasearch — no API key, no upstream account. Also does news search (type=news). Priced to undercut the incumbents.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"search query"},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20},"description":"max results (default 8)"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["text","news"]},"description":"text (default) or news"}],"responses":{"200":{"description":"Ranked results","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"snippet":{"type":"string"}}}}}}}}},"402":{"description":"Payment required (x402 v2 exact scheme, USDC on Base eip155:8453)"}}}},"/market-report":{"get":{"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"1.00"},"protocols":[{"x402":{}}]},"summary":"Full x402 market intelligence report ($1.00 USDC via x402)","description":"x402 Market Report: full machine-readable intelligence on the x402 agent-payment economy — every category's demand, gap analysis (calls-per-seller, where a new service has room), full earner leaderboard, movers, and new entrants. Built from the entire Coinbase Bazaar catalog (15k+ resources). Updated weekly. Know what actually sells before you build.","responses":{"200":{"description":"Full report: overview, categories, gap analysis, leaderboard, movers","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 v2 exact scheme, USDC on Base eip155:8453)"}}}},"/market":{"get":{"summary":"Free public x402 market report (teaser)","security":[],"responses":{"200":{"description":"HTML report"}}}},"/demo":{"get":{"summary":"Free truncated sample of /read output","security":[],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"URL of the web page to read"}],"responses":{"200":{"description":"Extracted article","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"final_url":{"type":"string"},"title":{"type":"string"},"byline":{"type":"string","nullable":true},"markdown":{"type":"string"},"token_estimate":{"type":"integer"},"chars":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}}}}}}}}}}}