{"success":true,"data":{"pages":[{"url":"https://example.com/","ok":true,"final_url":"https://example.com/","status":200,"title":"Example Domain","description":"","markdown":"This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.","word_count":25,"truncated":false},{"url":"https://agentsvc.io/","ok":true,"final_url":"https://agentsvc.io/","status":200,"title":"agentsvc.io: 127 web services your AI agent can buy per call","description":"127 APIs for AI agents: web scraping and crawling to Markdown, AI summaries, data extraction and cited answers, checks before installing a package or citing a source, screenshots and PDF, PDF, OCR and document conversion and more, paid per call with USDC on Base, Solana, Polygon or Arbitrum via x402. No account, no API key, free sample on every service.","markdown":"x402 · USDC on Base, Solana, Polygon or Arbitrum · no API keys\n\n# Web services your agent can buy per call.\n\n127 endpoints from $0.002 to scrape and crawl sites, summarize and extract with AI, check packages and citations, give agents memory and an inbox, check companies (KYB, VAT, sanctions), audit sites for GDPR and accessibility, timestamp on Bitcoin, verify IOTA notarizations, watch for changes and rate token risk. Your agent pays per call in USDC through x402. No account, no key, nothing to cancel.\n\n[Try any service free](/docs#try)[llms.txt for your agent](/llms.txt)\n\n[checking services](/api/v1/status \"Live self-test of every service, JSON\")[99.3 % of self-tests passed in 7 days · live stats ↗](/stats)\n\nCharged only on success · on-chain receipt for every call · x402 v1 and v2\n\none paid call, end to end\n\n$ curl -X POST https://agentsvc.io/api/v1/proxy/web-scrape \\\\\n    -H \"Content-Type: application/json\" \\\\\n    -d '{\"url\": \"https://example.com\"}'\n\nHTTP/2 402 Payment Required\n{ \"error\": \"payment\\_required\",\n  \"accepts\": \\[{ \"scheme\": \"exact\", \"network\": \"eip155:8453\",\n                \"amount\": \"2500\", \"asset\": \"USDC\", \"payTo\": \"0x622e…4F27\" }\\],\n  \"hint\": \"This call costs $0.0025 USDC. Use @x402/fetch or x402 (python)…\",\n  \"try\\_free\": \"https://agentsvc.io/api/v1/try/web-scrape\" }\n\n$ # an x402 client signs $0.0025 USDC and retries automatically\n\nHTTP/2 200 OK\n{ \"success\": true,\n  \"data\": { \"title\": \"Example Domain\", \"markdown\": \"# Example Domain\\\\n\\\\nThis domain is…\",\n            \"word\\_count\": 21 },\n  \"payment\": { \"status\": \"settling\", \"amount\\_usdc\": 0.0025,\n               \"network\": \"eip155:8453\", \"payer\": \"0x51b…9a0\" } }\n\n$ # settles on-chain about a second later; header X-Payment-Settle: sync waits for the hash\n\nHand it to your agent\n\n## One URL is enough. The agent figures out the rest.\n\nEvery entry point below is machine-readable and self-explaining, including what to do when a payment is rejected.\n\n[**llms.txt**https://agentsvc.io/llms.txtPaste this URL into your agent's context or system prompt. It contains every service, price, example and the payment steps.](https://agentsvc.io/llms.txt)[**SKILL.md**https://agentsvc.io/SKILL.mdSkill file for Claude Code, OpenClaw and other skill-based agents. Drop it into the skills folder.](https://agentsvc.io/SKILL.md)[**Remote MCP**https://agentsvc.io/mcpStreamable HTTP, every service as a tool, x402 payment inside tools/call. Clients built on @x402/mcp pay automatically; nothing to install.](https://agentsvc.io/mcp)[**MCP server (local)**https://agentsvc.io/mcp-server.mjsOne file for Claude Desktop and other stdio MCP clients. Pays from an EVM\\_PRIVATE\\_KEY.](https://agentsvc.io/mcp-server.mjs)[**OpenAPI 3.1**https://agentsvc.io/openapi.jsonFor tool generators, LangChain, CrewAI, n8n, OpenAI function calling. Every 402 and header is documented.](https://agentsvc.io/openapi.json)\n\nWhat is inside\n\n## 21 kinds of work, one wallet.\n\nWhole jobs come as [bundles](/bundles) with a prompt to paste, f…","word_count":377,"truncated":true},{"url":"https://agentsvc.io/docs","ok":true,"final_url":"https://agentsvc.io/docs","status":200,"title":"Docs: how agents pay per call with x402 · agentsvc.io","description":"Quickstart, payment protocol (x402 v1 and v2), free trial, error codes and the reference for every service on agentsvc.io.","markdown":"Documentation\n\n# Pay per call. Nothing else to set up.\n\nEvery service is a JSON endpoint behind HTTP 402. If you already use an x402 client, you are done: point it at any endpoint below. Agents can read this whole page as Markdown at [/llms-full.txt](/llms-full.txt).\n\n## Free trial, no wallet\n\nEvery service has a free sample endpoint that runs its example input and returns the real output, so your agent can check format and quality. Your own input goes through the paid endpoint. Limits: 3 calls per service per day, heavy services (screenshot, PDF, OCR, scrape, resize) 1, 20 per IP in total. Send an empty body or the example input.\n\ncurl -X POST https://agentsvc.io/api/v1/try/web-scrape \\\\\n  -H \"Content-Type: application/json\" \\\\\n  -d '{\"url\":\"https://example.com\"}'\n\n# GET works too and uses the example input:\ncurl https://agentsvc.io/api/v1/try/weather\n\nThe response carries `trial.remaining_today` and `paid_endpoint`. Hitting the limit returns 429 with `resets_at`.\n\n## Quickstart with a wallet\n\nYou need an EVM wallet with USDC on Base (chain 8453), Polygon or Arbitrum, or a Solana wallet with USDC on Solana (Polygon and Arbitrum need an x402 v2 client). No ETH, POL or SOL is needed; the facilitator pays gas. Then:\n\nJavaScriptPythonMCP\n\ncopy\n\nnpm i @x402/fetch @x402/evm viem\nimport { wrapFetchWithPayment, x402Client } from \"@x402/fetch\";\nimport { registerExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\nconst client = new x402Client();\nregisterExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM\\_PRIVATE\\_KEY) });\nconst payFetch = wrapFetchWithPayment(fetch, client);\nconst res = await payFetch(\"https://agentsvc.io/api/v1/proxy/web-scrape\", { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify({ url: \"https://example.com\" }) });\nconsole.log(await res.json());\n\nSwap the URL for any endpoint from the [reference](#reference). The client handles 402, signing and retry. The 200 response contains `data` and `payment` with `status` \"settling\"; send `X-Payment-Settle: sync` to wait for `payment.transaction`.\n\n## Payment protocol (x402 v1 and v2)\n\nOne request without payment returns 402. We answer both protocol versions at once, so any x402 client works:\n\n-   **x402 v2**: header `PAYMENT-REQUIRED` = base64 JSON with `accepts[0]` = {scheme: exact, network: eip155:8453, amount, asset, payTo, maxTimeoutSeconds, extra}. Pay by sending `PAYMENT-SIGNATURE`.\n-   **x402 v1**: JSON body with `accepts[0]` = {scheme: exact, network: base, maxAmountRequired, resource, asset, payTo, extra}. Pay by sending `X-PAYMENT`.\n\nPOST https://agentsvc.io/api/v1/proxy/ip-lookup   {\"ip\":\"8.8.8.8\"}\n\nHTTP/2 402\nPAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwicmVzb3VyY2Ui…   (x402 v2)\n{\n  \"x402Version\": 1,                                   (x402 v1)\n  \"error\": \"payment\\_required\",\n  \"accepts\": \\[{ \"scheme\": \"exact\", \"network\": \"base\", \"maxAmountRequired\": \"5500\",\n                \"asset\": \"0x8…","word_count":384,"truncated":true}],"ok_count":3,"failed_count":0,"fetched_at":"2026-10-20T07:38:16.186Z"},"trial":{"free":true,"used_example_input":true,"input_used":{"urls":["https://example.com/","https://agentsvc.io/","https://agentsvc.io/docs"],"max_chars":3000},"remaining_today":0,"resets_at":"2026-10-21T00:00:00.000Z","note":"Real output for the example input. The paid endpoint returns the same format for your own input."},"paid_endpoint":"https://agentsvc.io/api/v1/proxy/web-scrape-batch","price_usdc":0.05,"payment":"x402, USDC on Base, Solana, Polygon or Arbitrum mainnet, no account needed","docs":"https://agentsvc.io/docs"}