Extract text from a web page
genesis402_web_extractFetch one public web page server-side and return clean readable text, including title, headings, links, and final URL.
Instructions
Paid ($0.004 USDC). Server-side fetch of one public web page, returned as clean readable text. Use when you need a page's actual content. To pull specific fields out of the result use genesis402_extract_json; for domain registration facts use genesis402_whois. Returns the title, meta description, readable text with markdown-style headings (capped at max_chars), up to 40 headings, up to 50 absolute links, the final URL after redirects and a SHA-256 of the fetched bytes. No JavaScript is executed, so client-rendered pages may come back thin. Private or internal addresses are refused, and pages behind a login or paywall are not accessible. Payment: call once without payment_signature to get the exact price quote (nothing is charged or signed), then call again with the signed payment to receive the result and settlement details.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "genesis402_web_extract"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of one public page, starting with http:// or https://. | |
| max_chars | No | Maximum characters of page text to return, 500 to 60,000. Defaults to 20,000. Text past the cap is cut off. | |
| include_links | No | Include the page's links in the result. Defaults to true; set false for text only. | |
| payment_signature | No | Optional. An x402 v2 payment you signed for this call's quote (the PAYMENT-SIGNATURE header value). Omit to get the price quote first; nothing is charged without it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | QUOTE_ONLY: price quote only, nothing signed or charged. PAID: the call was paid and result holds the data. FREE: the endpoint answered without payment. | |
| paid | Yes | true only when a payment was settled for this call. | |
| price | No | The Base USDC quote. Present on QUOTE_ONLY and on PAID calls made by a local payer; null when the rail offered no Base USDC lane or the caller signed the payment. | |
| result | No | PAID or FREE: the endpoint's JSON result. | |
| resource | No | QUOTE_ONLY: the full URL of the paid resource. | |
| how_to_pay | No | QUOTE_ONLY: how to sign and resend the call. | |
| settlement | No | PAID: decoded PAYMENT-RESPONSE settlement (transaction hash, network, payer), or null if the rail sent none. | |
| what_you_get | No | QUOTE_ONLY: the rail's description of what the payment buys. | |
| payment_required_b64 | No | QUOTE_ONLY: the raw base64 PAYMENT-REQUIRED header, to sign with any x402 v2 client. | |
| also_accepted_networks | No | QUOTE_ONLY: every network the 402 challenge accepts. |